Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
C++ C PHP Shell QMake QML Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
The client and server is under GPL3. And part of the project: http://catchchallenger.first-world.info/ The license of the datapack is GPL3. But will be totally remaked in cartoon style. client/tiled/ is extracted version of http://www.mapeditor.org/, https://github.com/bjorn/tiled =================================================== This game is a MMORPG, Lan game and a single player game. It's mix of pokemon for the RPG part, lineage for the crafting/clan/MMORPG, X3 for the commerce/fabric/industry. With mod possibility, and datapack. It's a pixel art game. The work is concentrated on the gameplay/performance/security/creativity/accessibility. The income is to paid the developping and the artwork. The game is fully open source (GPL3). The gameplay have strong team part, but remain interresting in single player. Have clear advantage on 3G/wifi/TOR connexion or into the tiers world. =================================================== Programming: Asynchronous protocol with no influence of internet and server latency. Thread isolation for the important or heavy server task. It can be hosted on ADSL connection. Qt programming to have multi-platform and assembly access. Internal implementation with event. CLI and GUI server, but no epoll server. SGBD for Qt version: Mysql 5+, SQLite, PostgreSQL 9+. SGBD for epoll version (async to high performance): Mysql 5.5+, PostgreSQL 9+. The code source is into 3 part: server, client, datapack. Use C++11, you need compatible compiler with good std::regex support, like llvm/clang 3.5+, gcc 4.9+. Epoll server use libpg (postgresql). The gateway need too curl. ==================================================== Compiling Dep: zlib (can be disable, it's for tiled map editor), zstd, openssl and Qt openssl enabled to have QSslSocket, libvlc for the client (with ogg/vorbis and opus support), Qt5. libssl, libcrypt (openssl). For the server: db, db driver (mysql, sqlite for game solo, postgresql, depands of you choice) Ubuntu 16.04 add to the .pro: QMAKE_CFLAGS="-std=c++0x" QMAKE_CXXFLAGS="-std=c++0x" In general: Ubuntu: apt-get install build-essential gcc automake qt5-qmake qt5-default libzstd-dev zlib1g-dev libssl-dev libpq-dev libqt5sql5-psql libqt5sql5-sqlite libqt5sql5-mysql qtdeclarative5-dev qtscript5-dev Debian stretch: apt-get install build-essential gcc automake qt5-qmake libzstd-dev zlib1g-dev libssl-dev libpq-dev qttools5-dev qt5-default libqt5sql5-psql libqt5sql5-psql libqt5sql5-sqlite libqt5sql5-mysql qtdeclarative5-dev qtscript5-dev For the Gui server: cd server/ qmake catchchallenger-server-gui.pro make git clone --depth=1 https://github.com/alphaonex86/CatchChallenger-datapack mv CatchChallenger-datapack/datapack/ datapack/ For the CLI server: cd server/ qmake catchchallenger-server-cli.pro make git clone --depth=1 https://github.com/alphaonex86/CatchChallenger-datapack mv CatchChallenger-datapack/datapack/ datapack/ For the Epoll server (linux only): Ubuntu: apt-get install libzstd-dev zlib1g-dev libssl-dev libpq-dev Debian stretch: apt-get install build-essential gcc automake qt5-qmake libzstd-dev zlib1g-dev libssl-dev libpq-dev qttools5-dev qt5-default cd server/ qmake catchchallenger-server-cli-epoll.pro make git clone --depth=1 https://github.com/alphaonex86/CatchChallenger-datapack mv CatchChallenger-datapack/datapack/ datapack/ For the game solo: Debian stretch: apt-get install build-essential gcc automake qt5-qmake libzstd-dev zlib1g-dev libssl-dev libpq-dev qttools5-dev qt5-default qtdeclarative5-dev qtscript5-dev cd client/single-player/ qmake *.pro make git clone --depth=1 https://github.com/alphaonex86/CatchChallenger-datapack mv CatchChallenger-datapack/datapack/ datapack/ For the game version ultimate: Debian stretch: apt-get install build-essential gcc automake qt5-qmake libzstd-dev zlib1g-dev libssl-dev libpq-dev qttools5-dev qt5-default qtdeclarative5-dev qtscript5-dev cd client/ultimate/ qmake *.pro make git clone --depth=1 https://github.com/alphaonex86/CatchChallenger-datapack mkdir -p datapack/ mv CatchChallenger-datapack/datapack/ datapack/internal/ For the MMORPG game: cd client/single-server/ qmake *.pro make Assemble it, for the SERVER AND GAME SOLO put the datapack from: https://github.com/alphaonex86/CatchChallenger-datapack near the application, you nead have then: CatchChallenger-application(.exe), the datapack -> then datapack/informations.xml See the compiled example for windows, you need follow the same organisation for the other OS. Under linux I have for the server: /home/user/CatchChallenger/build-catchchallenger-server-gui-Qt5_5_2-Debug/catchchallenger-server-gui (application) /home/user/CatchChallenger/build-catchchallenger-server-gui-Qt5_5_2-Debug/datapack/ (datapack) /home/user/CatchChallenger/build-catchchallenger-server-gui-Qt5_5_2-Debug/datapack/informations.xml (datapack informations) Under linux I have for the single player game: /home/user/CatchChallenger/client/build-catchchallenger-ultimate-Qt5_5_2-Debug/catchchallenger-single-player (application) /home/user/CatchChallenger/client/build-catchchallenger-ultimate-Qt5_5_2-Debug/datapack/ (datapack) /home/user/CatchChallenger/client/build-catchchallenger-ultimate-Qt5_5_2-Debug/datapack/informations.xml (datapack informations) ====================================================== Server: For the server you need an certificate for the SSL connection (can be self signed), near the binary and named server.crt/server.key. ====================================================== Sources: The sources of the client/server: https://github.com/alphaonex86/CatchChallenger The sources of the datapack: https://github.com/alphaonex86/CatchChallenger-datapack The sources of the site: https://github.com/alphaonex86/CatchChallenger-site ====================================================== Hardware You need CPU with support of unaligned access on 8/16/32Bits for the server at least (plan to support all CPU) The server is actually 10-20MB of memory (1MB measured by massif) and 2KB by player