Air-Trap 1.0.0
A multiplayer R-Type clone game engine built with C++23 and ECS architecture
Loading...
Searching...
No Matches
rtp::server Namespace Reference

File : GameManager.hpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025. More...

Classes

class  AuthSystem
 System to handle player login operations on the server side. More...
 
class  BoomerangSystem
 
class  BulletCleanupSystem
 Despawns bullets that leave the play area. More...
 
class  CollisionSystem
 
class  EnemyAISystem
 System to handle enemy AI behavior. More...
 
class  EnemyShootSystem
 Spawns bullets for enemies on the server. More...
 
class  EntitySystem
 Base class for systems that operate on entities in the ECS. More...
 
class  GameManager
 Manages game state, rooms, and player interactions on the server side. More...
 
class  HomingSystem
 
struct  LevelData
 
class  LevelSystem
 
class  MovementSystem
 System to handle entity movement based on input components. More...
 
class  NetworkSyncSystem
 System to handle network-related operations on the server side. More...
 
struct  ObstacleEvent
 
class  Player
 Represents a player in the game server. More...
 
class  PlayerMouvementSystem
 System to handle player entity movement based on input components. More...
 
class  PlayerShootSystem
 Spawns bullets from player input on the server. More...
 
class  PlayerSystem
 System to handle player-related operations on the server side. More...
 
struct  PowerupEvent
 
class  Room
 Represents a game room in the server. More...
 
class  RoomSystem
 System to handle room-related operations on the server side. More...
 
class  ServerNetwork
 Implementation ASIO du serveur réseau (TCP + UDP) More...
 
struct  SpawnEvent
 

Typedefs

using PlayerPtr = std::shared_ptr< Player >
 Shared pointer type for Player.
 

Enumerations

enum class  PlayerState {
  None , NotLogged , Connected , InLobby ,
  InRoom , InGame
}
 Enum representing the state of a player in the session. More...
 

Functions

std::optional< LevelDataloadLevelFromFile (const std::string &path, std::string &error)
 
void startGame (Room &room)
 
void signal_handler (int signum)
 
uint16_t parseArguments (int argc, char **argv)
 

Detailed Description

File : GameManager.hpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : RoomSystem.cpp License: MIT Author : Elias Josué HAJJAR.

File : PlayerSystem.cpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : PlayerShootSystem.cpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : PlayerMouvementSystem.cpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : HomingSystem.cpp License: MIT.

File : EntitySystem.cpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : EnemyShootSystem.cpp License: MIT Author : Elias Date : 11/12/2025.

File : EnemyAISystem.cpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : BulletCleanupSystem.cpp License: MIT Author : Elias Date : 11/12/2025.

File : BoomerangSystem.cpp License: MIT.

File : AuthSystem.cpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : main.cpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 10/12/2025.

File : Player.cpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : GameManager.cpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : RoomSystem.hpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : PlayerSystem.hpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : PlayerShootSystem.hpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : PlayerMouvementSystem.hpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : NetworkSyncSystem.hpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : MovementSystem.hpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : HomingSystem.hpp License: MIT.

File : EnemyShootSystem.hpp License: MIT Author : Elias Date : 11/12/2025.

File : EnemyAISystem.hpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : BulletCleanupSystem.hpp License: MIT Author : Elias Date : 11/12/2025.

File : BoomerangSystem.hpp License: MIT.

File : AuthSystem.hpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : INetwork.hpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : Room.hpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

File : Player.hpp License: MIT Author : Elias Josué HAJJAR LLAUQUEN elias.nosp@m.-jos.nosp@m.ue.ha.nosp@m.jjar.nosp@m.-llau.nosp@m.quen.nosp@m.@epit.nosp@m.ech..nosp@m.eu Date : 11/12/2025.

R-Type server-side game management

Game logic for R-Type server

Network layer for R-Type server protocol

Systems for R-Type server

Typedef Documentation

◆ PlayerPtr

Shared pointer type for Player.

Definition at line 178 of file Player.hpp.

Enumeration Type Documentation

◆ PlayerState

enum class rtp::server::PlayerState
strong

Enum representing the state of a player in the session.

Enumerator
None 
NotLogged 
Connected 
InLobby 
InRoom 
InGame 

Definition at line 28 of file Player.hpp.

Function Documentation

◆ loadLevelFromFile()

◆ parseArguments()

uint16_t rtp::server::parseArguments ( int  argc,
char **  argv 
)

Definition at line 29 of file main.cpp.

Referenced by main().

◆ signal_handler()

void rtp::server::signal_handler ( int  signum)

Definition at line 20 of file main.cpp.

References rtp::log::info().

Referenced by main().

◆ startGame()

void rtp::server::startGame ( Room room)

Definition at line 155 of file GameManager.cpp.

References rtp::server::Room::getId(), and rtp::log::info().