Giter Site home page Giter Site logo

lxq2537664558 / catchchallenger Goto Github PK

View Code? Open in Web Editor NEW

This project forked from alphaonex86/catchchallenger

0.0 2.0 0.0 80.19 MB

CatchChallenger openSource oldschool MMORPG

Home Page: http://catchchallenger.first-world.info/

C++ 96.42% C 2.82% QMake 0.61% QML 0.13% PHP 0.02%

catchchallenger's Introduction

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.

The extrapart like xz embedded o lz4 have their own license.
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, xz-utils, openssl and Qt openssl enabled to have QSslSocket, libvlc for the client (with ogg/vorbis and opus support), Qt5. libssl, libcrypt (openssl), liblzma.
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 qt5-qmake liblzma-dev zlib1g-dev libssl-dev libpq-dev libqt5sql5-psql libqt5sql5-sqlite libqt5sql5-mysql qtdeclarative5-dev qtscript5-dev libvlc-dev
Debian stretch: apt-get install build-essential gcc automake qt5-qmake liblzma-dev zlib1g-dev libssl-dev libpq-dev qttools5-dev qt5-default libqt5sql5-psql libqt5sql5-psql libqt5sql5-sqlite libqt5sql5-mysql qtdeclarative5-dev qtscript5-dev libvlc-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 qt5-qmake liblzma-dev zlib1g-dev libssl-dev libpq-dev
Debian stretch: apt-get install build-essential gcc automake qt5-qmake liblzma-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 liblzma-dev zlib1g-dev libssl-dev libpq-dev qttools5-dev qt5-default qtdeclarative5-dev qtscript5-dev libvlc-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 liblzma-dev zlib1g-dev libssl-dev libpq-dev qttools5-dev qt5-default qtdeclarative5-dev qtscript5-dev libvlc-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

catchchallenger's People

Contributors

alphaonex86 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.