Backend for RpT-Minigames WebApp, a web application to play minigames online from your web browser. Backend uses the RpT-WebApp C++ backend engine.
RpT-Minigames is a web application to play some minigames from web browser. 3 minigames are playable:
- Açores
- Bermudes
- Canaries
User can select multiple room from web application, each room running on exactly one server. A server will be launched to run one of these minigames.
This project is actually a proof-of-concept for RpT-WebApp. It is a web application engine using C++ backend and Angular (TypeScript) front-end.
RpT-WebApp divides web applications into many Services which may interact with registered & connected clients known as actors.
A client first give an UID and a name to be registered into server and to have an actor. This actor piloted by client sends Service Requests to server, then server replies to notify client about SR handling result on its side. When something happens inside server, it syncs actors about its new state by sending them Service Events, then continues its run.
Actors (clients) <-> Server communication uses RPTL & SER protocols.
To get every detail about these protocols or RpT library usage, please check server
Doxygen documentation available by running cmake --build doc
from build
generated directory. HTML local generated files will be inside docs/
from
repo's root directory.
You'll need to install MinGW environment using Msys2.
How to install MinGW using Msys2
- git
- cmake >= 3.12
- g++ >= 7
Install with :
sudo apt-get install git cmake g++
Open a terminal and run following commands :
$ git clone https://github.com/ThisALV/RpT-Minigames-Server
$ cd RpT-Minigames-Server/dist
$ sudo ./get-deps-debian.sh # or ./get-deps-msys2.sh <32|64> for Windows MinGW users depending on current system architecture
$ cd ..
$ ./build.sh # add --mingw option if you're Windows MinGW user
$ sudo ./install.sh
If you don't want to install RpT-Minigames-Server at system level, add --local
option to ./build.sh
.
It will install files to ./dist/install directory.
$ minigames-server --game <a|b|c> [--port <0..65535>] [--addr <local_address>] # for Linux users
$ minigames-server.exe --game <a|b|c> [--port <0..65535>] [--addr <local_address>] # for Windows MinGW users
## If locally installed with --local, from cloned project directory
$ ./dist/install/bin/minigames-server --game <a|b|c> [--port <0..65535>] [--addr <local_address>] # for Linux users
$ ./dist/install/bin/minigames-server.exe --game <a|b|c> [--port <0..65535>] [--addr <local_address>] # for Windows MinGW users
Each letter a, b or c stands for following game:
- Açores
- Bermudes
- Canaries
Doxygen doc-style directory is forked from MaJerle repo adjusting some color settings like for menus or links.