Welcome to TSPRO, another server for creating Yu-Gi-Oh! matches using the EDOPro core! But this time, we focus on the scalability of the code, allowing for easy implementation of new features related to the data generated during the duels.
- 🏰 Room creation through the EDOPro lobby.
- 🔌 Reconnection to the match in case of closure or disconnection.
- 📊 Collection of duel data for generating statistics.
- 🚀 Core isolation for each match.
- Conan (2.0.6): conan
- Node.js (18.16.0): Make sure you have Node.js installed on your system. You can download the latest stable version from https://nodejs.org. 📥🚀
- Install
Python
andpip
apt install python3 python3-pip -y
- Install Conan through pip
pip install conan
- Configure the
conan
profile
conan profile detect
- Clone this repository to your local machine using the following command:
git clone https://github.com/tuusuario/edo-pro-server.git
-
Navigate to the core folder, which contains all the C++ code of the project.
-
Download
premake
and copy it to the path from step 2 (This step only needs to be done once)
wget https://github.com/premake/premake-core/releases/download/v5.0.0-beta2/premake-5.0.0-beta2-linux.tar.gz
tar -zxvf premake-5.0.0-beta2-linux.tar.gz
- Install the dependencies using
Conan
conan install . --build missing --output-folder=./dependencies --options=libcurl/8.6.0:shared=True
- Generate the
make
file usingpremake5
downloaded in step 3
./premake5 gmake
- Build the binary:
make
-
Navigate to the root of the project.
-
Install the dependencies using
npm
:
npm install
- Clone card databases in the root folder:
git clone https://github.com/ProjectIgnis/BabelCDB.git databases
- Clone banlists in the root folder:
git clone git clone https://github.com/ProjectIgnis/LFLists banlists-project-ignis banlists
- Clone card scripts inside the core folder:
git clone https://github.com/ProjectIgnis/CardScripts.git scripts
- Compile the project:
npm run build
- Start the project:
npm start
If you prefer to use Docker to run the project, you can follow these steps:
-
Make sure you have Docker installed on your system. You can download and install Docker from https://www.docker.com.
-
Build the Docker image with the following command:
docker build -t <image-name> <path-to-dockerfile>
- Run the Docker container:
docker run -p 7911:7911 -p 7922:7922 <image-name>
- This repository is based on https://github.com/DyXel/Multirole
- Special thanks to @Dyxel