diangogav / EDOpro-server-ts

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TSPRO ๐ŸŽฎ

Logo

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.

Features โœจ

  • ๐Ÿฐ 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.

Installation Requirements ๐Ÿ“‹

  • 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. ๐Ÿ“ฅ๐Ÿš€

Conan Installation Guide ๐Ÿš€

  1. Install Python and pip
apt install python3 python3-pip -y
  1. Install Conan through pip
pip install conan
  1. Configure the conan profile
conan profile detect

C++ Compilation Guide ๐Ÿ› ๏ธ

  1. Clone this repository to your local machine using the following command:
git clone https://github.com/tuusuario/edo-pro-server.git
  1. Navigate to the core folder, which contains all the C++ code of the project.

  2. 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
  1. Install the dependencies using Conan
conan install . --build missing --output-folder=./dependencies --options=libcurl/8.6.0:shared=True
  1. Generate the make file using premake5 downloaded in step 3
./premake5 gmake
  1. Build the binary:
make

Starting the Server

  1. Navigate to the root of the project.

  2. Install the dependencies using npm:

npm install
  1. Clone card databases in the root folder:
git clone https://github.com/ProjectIgnis/BabelCDB.git databases
  1. Clone banlists in the root folder:
git clone git clone https://github.com/ProjectIgnis/LFLists banlists-project-ignis banlists
  1. Clone card scripts inside the core folder:
git clone https://github.com/ProjectIgnis/CardScripts.git scripts
  1. Compile the project:
npm run build
  1. Start the project:
npm start

Running with Docker ๐Ÿณ

If you prefer to use Docker to run the project, you can follow these steps:

  1. Make sure you have Docker installed on your system. You can download and install Docker from https://www.docker.com.

  2. Build the Docker image with the following command:

docker build -t <image-name> <path-to-dockerfile>
  1. Run the Docker container:
docker run -p 7911:7911 -p 7922:7922 <image-name>

Notes and thanks

About

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


Languages

Language:TypeScript 73.5%Language:C++ 23.4%Language:C 2.1%Language:Dockerfile 0.6%Language:Lua 0.2%Language:Python 0.1%Language:JavaScript 0.1%