Backend codebase for the servii project
Go to file
Charles Le Maux f62c5fc856 [+] Masterclass conditional minecraft version checker
- Added version parameter to 'start_server' function in MinecraftManager class

- Implemented a version checker that uses a pointer of Tuples, each of them containing a lower and upper bound, as well as the associated sdk

- Used currying method to concatenate 'version_range_checker' into the fastest and most efficient code

This system will allow easy versioning, as well as easy future sdk implementations.
It will also now be easy to fetch a server's version directly in the backend.

Co-authored-by: charleslemaux <charles@le-maux.dev>
2024-09-13 04:14:37 +02:00
.github/workflows [+] Docker workflow 2024-07-15 16:28:16 +01:00
secrets [~] Latest push 2024-06-29 21:40:26 +01:00
servers [+] Global version indexer script 2024-08-20 13:56:15 +02:00
.gitignore [+] Updated gitignore to fit project's needs 2024-08-20 13:53:59 +02:00
api_sender.html [+] Local testing successful 2024-09-11 04:16:26 +02:00
app.py [+] FetchDirContent 2024-09-11 04:15:09 +02:00
cloudflare_manager.py [+] Type & dependencies fixes 2024-08-15 10:49:41 +02:00
docker.sh [+] Updated Docker config 2024-09-10 02:38:24 +02:00
Dockerfile [+] Full docker support 2024-07-02 05:56:11 +01:00
file_manager.py [-] log_error -> synchronous 2024-09-12 14:10:14 +02:00
firebase_manager.py [+] Standard server field getter 2024-09-13 04:00:14 +02:00
generic_executor.py [+] Now include the server's version before launching 2024-09-13 04:02:07 +02:00
readme.md [+] Mentioning parameters 2024-09-10 19:13:29 +02:00
requirements.txt [+] Werkzeug utils for filename safety 2024-09-07 16:41:56 +02:00
server_mc_manager.py [+] Masterclass conditional minecraft version checker 2024-09-13 04:14:37 +02:00
unit_test.py [+] Useful minecraft servers organizer :) 2024-09-13 04:00:51 +02:00

Servii - Backend

PyPI Docker Image CI Static Badge Static Badge Code style: black Static Badge

Servii is a cutting-edge project designed to streamline the management of Minecraft servers and facilitate seamless integration with frontend applications. Built with modern technologies like Firebase, Servii offers a robust backend for launching Minecraft servers and serves as a comprehensive API for frontend projects, enhancing the gaming experience through efficient server management and automation. This GitHub repository has a production goal, workflows will be soon integrated.

Installation guide

Download the repository.

git clone https://github.com/charleslemaux/servii-backend.git
cd servii-backend

Install virtualenv.

pip3 install virtualenv

Enable it.

virtualenv venv

//UNIX
source venv/bin/activate

//windows
venv\Scripts\activate

Install dependencies.

pip install -r requirements.txt

Launch !

gunicorn -w 4 -b 0.0.0.0:3000 app:app

you also may be tempted to use parameters

gunicorn -w 4 -b 0.0.0.0:3000 app:app --interval 20

Documentation

The API's {Documentation} is now complete !! This project is self documented and ready to understand. Start reading at app.py, and even if the rest isn't that self explainatory, read the "generic_executor.py' file to understand how everything globally works.

Development

Contributing

Long-term discussion and bug reports are maintained via GitHub Issues. Code review is done via GitHub Pull Requests.

Maintainership

We're actively seeking maintainers that will triage issues and pull requests and cut releases. If you work on a project that leverages Servii and have a vested interest in keeping the code alive and well, send an email to charles@le-maux.dev, thank you for reading.