Welcome to Evolution Server, a scalable and modern backend server for Yu-Gi-Oh! matches, compatible with EDOPro, Koishi, and YGO Mobile clients. Unlike traditional implementations, Evolution focuses on code extensibility and data collection, enabling new gameplay features and statistics.
- 🏰 Room creation through the EDOPro lobby.
- 📱 Duel creation supported via Koishi and YGO Mobile.
- 🧪 Cross-client duels between different platforms (experimental).
- 🔌 Automatic reconnection after disconnection or crash.
- 📊 Match data collection for future analytics.
- 🚀 Isolated core logic for each match.
- Node.js (>= 18.16.0)
- Conan (>= 2.0.6)
- Python 3 (for Conan)
- CMake + Make + g++ (for building native CoreIntegrator)
wget,git,tar,liblua5.3-dev,libsqlite3-dev,libevent-dev, etc.
sudo apt update
sudo apt install python3 python3-pip -y
pip install conan
conan profile detectgit clone --recursive https://github.com/diangogav/EDOpro-server-ts
cd EDOpro-server-tsbash clone_repositories.shThis will create a repositories/ folder with all required assets (scripts, databases, banlists, etc).
bash setup_resources.shThis mimics the layout used in the Dockerfile (e.g. copying resources to ./mercury, ./scripts/evolution, etc.).
bash build_core_integrator.shThis compiles the duel core used by the backend using Conan and Premake.
npm installnpm run devServer should now be running and listening on the configured ports (default: 7911, 7922, 4000).
If you'd rather use Docker:
docker build -t evolution-server .docker run -p 4000:4000 -p 7911:7911 -p 7922:7922 evolution-server- Based on Multirole by @Dyxel
- Inspired by the amazing work of the Project Ignis, MyCard and Evolution communities