Skip to content

Flakkari is a UDP/TCP game server initially developed for the R-Type Epitech project and updated for the Video Games course at University Laval

License

Notifications You must be signed in to change notification settings

MasterLaplace/Flakkari

Repository files navigation

ME :

Flakkari

Flakkari logo

πŸ“¦ Download Β  : Β  Latest Version Β  | Β  πŸ“œ License Β  : Β  License: MIT

🌐 Supported Platforms   :   Linux deb   |   Windows   |   MacOS

πŸ“‘ Supported Protocol Β  : Β  UDP Β  | Β  TCP

πŸͺ§ Table of Contents

πŸ“ DESCRIPTION

Flakkari is a UDP/TCP server initially developed for the R-Type Epitech project and updated for the Video Games course at University Laval. It enables network-based gameplay, supporting multiple games and clients simultaneously through its multi-threaded architecture. The server is designed to handle high concurrency and ensure low latency, making it suitable for real-time multiplayer games. Flakkari also includes features such as game state synchronization, player authentication, and robust error handling to provide a seamless gaming experience.

Flakkari also has a Unity client library to facilitate the development of multiplayer games. This library is available in C# and can be used to connect to the Flakkari server, send and receive messages and manage game events. It is designed to be easy to integrate into existing game projects and provides advanced features to simplify the development of multiplayer games.

[!NOTE] The project is still under development and may not be stable.

🚚 RUNNING

# Clone repository
$> git clone https://github.com/MasterLaplace/Flakkari.git
$> cd Flakkari

# Create a build directory
$> mkdir build
$> cd build

# Configure the project
(build)$> cmake .. && cmake --build .

# Or configure the project with Ninja
(build)$> cmake -G Ninja .. && cmake --build .

# Run the server executable
(build)$> ./flakkari <GamesDir> <ip> <port>

To run the server with

  • the games directory: ./Games that contains the games configurations

  • the IP address: localhost

  • the port: 8081

expected architecture of the games list directory:

Games
β”œβ”€β”€ Game_01
β”‚   β”œβ”€β”€ assets
β”‚   └── config.cfg
└── Game_02
    └── config.cfg

πŸ”¨ BUILD COMMANDS

other build commands:

# Install the project
(build)$> sudo cmake --build . --target install

# Build project documentation
(build)$> cmake --build . --target doc

# Build project package
(build)$> cmake --build . --config Release --target package

# Install the package
# For windows systems
(build)$> flakkari-win64.exe

# For macos systems
(build)$> sudo installer -pkg flakkari-macos.pkg -target /

# For redhat based systems
(build)$> sudo rpm -i flakkari-linux.rpm

# For debian based systems
(build)$> sudo dpkg -i flakkari-linux.deb

🐳 DOCKER RUN

# install docker on ubuntu
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io

# check docker version (optional)
$ docker --version
> Docker version 24.0.7, build afdd53b

# build docker image
$ docker build -t flakkari .

# run docker image
$ docker run -p 8081:8081 -it flakkari

# list docker images
$ docker ps

# stop docker image
$ docker stop <container-id>

# remove docker image
$ docker rm <container-id>

πŸ”§ DOCUMENTATION

Wiki:

For detailed documentation on the Flakkari protocol, see:

πŸš€ LATEST RELEASE

πŸ“‹ Change Log and Security Policy

  • Latest Release

πŸ“œ LICENSE

This project is licensed under the terms of the MIT License.

Copyright Β© 2023-2024 Master_Laplace.

πŸ“¬ CONTACTS

This server project has been carried out by:

MasterLaplace
Master_Laplace

ME.inc

About

Flakkari is a UDP/TCP game server initially developed for the R-Type Epitech project and updated for the Video Games course at University Laval

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published