KD-lab-Open-Source / Perimeter

GNU General Public License v3.0
521 stars 61 forks source link

Create game list server #89

Open DileSoft opened 2 years ago

DileSoft commented 2 years ago

Create server that can be run on web hosting and make game able to connect to it, create game that will be listed on it and join to existing games.

IonAgorria commented 2 years ago

Currently the player that hosts handles both game packets and relaying game packets between clients, to make games playable without anyone acting as host the dedicated server would need to delegate the "server admin" to the player that is creating the game (giving him NETID 1 ?), relay data at NetConnection/NetConnectionHandler level and handle connection handshakes (NetConnectionInfo).

A placeholder ServerList exists also which should obtain GameStatusInfo from this server to know what games are available, currently there is no logic implemented for obtaining any data from anywhere but XPrmArchive can be used as JSON like des/serialization exchange format to avoid sending raw binary data.

"Network" module should be able to compile with PERIMETER_HEADLESS definition set, so creating a cmake module for "Server" and linking against headless "Network" module would let us create a headless server binary that acts as relay or server list.