The new distributed backends for Techmino
- Manage requests from gaming nodes and allocate bot node to forwarding Nodes
- Implement multi-thread bot service
- Receive user location info and allocate proper forwarding node.
-[X] Allocate various server nodes -[X] Monitor server nodes and decide which one to be allocated -[X] Authenticate new server nodes
- Connect to clients through websocket
- Resolve clients' message by action number
- Create/Remove gaming room
- Change room data/info
- Join/Leave gaming room
- Kick players
- Get player's network conditions
- Get player's game data
- Broadcast global message to clients
- Allow clients to pull notices from the server
- Provide global chatting service and private message
- Provide in room chatting service
- Get player map from Gaming node and connect to clients
- Receive and broadcast gaming data
- Calculate versus statistics
- Use reCaptcha for web requests
-[ ] Check if the access token is valid -[ ] Refresh access token and refresh token (if necessary) -[ ] Send verification code through email to newly registered user -[ ] Login with verification code or password -[ ] Reset password with verification code -[ ] Change email with access token and verification code -[ ] Get/Update user info and avatar -[ ] Get/Update user data
- CMake 3.20.x and above
- Git
- Visual Studio 2019 and above (With English language pack)
- PostgresSQL server 14 and above
- Redis server 3.2.x and above (Use WSL or remote linux server)
- CMake 3.20.x and above
- Git
- GCC 9 or Clang 9 and above (10 if you want to use coroutine)
- PostgresSQL server 14 and above
- Redis server 3.2.x and above
- Clone the repository
git clone --recursive https://github.com/26F-Studio/Techluster
- Bootstrap
Vcpkg
# Linux
cd ./Techluster/vcpkg
chmod +x ./bootstrap-vcpkg.sh
./bootstrap-vcpkg.sh
# Windows
cd ./Techluster/vcpkg
./bootstrap-vcpkg.bat
-
Create config.json from the config.json.example in each subdirectory
-
Create build directory and run CMake
# Linux
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Debug -G "CodeBlocks - Unix Makefiles" ..
cmake --build .. --target all
# Windows
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Debug -G "CodeBlocks - NMake Makefiles" ..
cmake --build .. --target all
- Run each server nodes