R-Type  1.0.1.0
Rewrite of the R-Type game with networking ability
Loading...
Searching...
No Matches
rtype::server::GameServer Class Reference
Collaboration diagram for rtype::server::GameServer:
[legend]

Public Member Functions

 GameServer (const std::string &host, std::uint16_t tcpPort, std::uint16_t udpPort, int maxPlayers)
 
const std::shared_ptr< spdlog::logger > & getLogger () const
 
const std::shared_ptr< sa::TCPServer > & getTcpServer () const
 
const std::shared_ptr< sa::UDPServer > & getUdpServer () const
 
void init ()
 
void setLogger (const std::shared_ptr< spdlog::logger > &logger)
 
void setTcpServer (const std::shared_ptr< sa::TCPServer > &tcpServer)
 
void setUdpServer (const std::shared_ptr< sa::UDPServer > &udpServer)
 
void start ()
 
void stop ()
 

Private Member Functions

void onClientConnected (ConnectionToClientPtr &client, packet::C2SClientConnect &packet)
 
void onClientDisconnecting (ConnectionToClientPtr &client, packet::C2SClientDisconnecting &packet)
 
void onPlayerHandshake (ConnectionToClientPtr &client, packet::C2SPlayerHandshake &packet)
 
void onTcpClientConnected (ConnectionToClientPtr &client)
 
void onTcpClientDisconnected (ConnectionToClientPtr &client)
 
void onUdpClientConnected (ConnectionToClientPtr &client)
 
void onUdpClientDisconnected (ConnectionToClientPtr &client)
 
void registerTcpCallbacks ()
 
void registerTcpPacketHandlers ()
 
void registerUdpCallbacks ()
 
void registerUdpPacketHandlers ()
 
void sync ()
 

Private Attributes

std::uint32_t _globalId
 
std::string _host
 
std::shared_ptr< spdlog::logger > _logger
 
int _maxPlayers
 
int _playerCount
 
std::unordered_map< std::uint32_t, std::shared_ptr< game::Player > > _players
 
std::shared_ptr< sa::PacketRegistry > _tcpPacketRegistry
 
std::uint16_t _tcpPort
 
std::shared_ptr< sa::TCPServer > _tcpServer
 
std::shared_ptr< sa::PacketRegistry > _udpPacketRegistry
 
std::uint16_t _udpPort
 
std::shared_ptr< sa::UDPServer > _udpServer
 

The documentation for this class was generated from the following files: