psforever / PSF-LoginServer

Emulated PlanetSide 1 world and login server by the PSForever project.
https://psforever.net
GNU General Public License v3.0
75 stars 46 forks source link

Multiple Game World Ports #1206

Closed Fate-JH closed 2 months ago

Fate-JH commented 2 months ago

Standard operation of the game server seems to have always been one port handling both inbound and outbound packets per component, and one port for the login component and one port for the game component. In short work, two ports to handle every player that would ever play the game. The first port is an underwhelming effort that only gets used during the start of session (before the "technical session"). The second port is an overworked monster that manages at least four packets per user per second and at least four times as many packets as connected players per second. The actual outbound is perhaps greater as the frequency is more rigorous than four times a second and some packets may arrive in between each of those standard four.

The login server is still just one socket-port that everyone congregates their account tinformation, but now the game world ports can exceed the same limitation. The number of ports that could be used by the game world is defined in the configuration file application.conf and each user is assigned the next available socket for their session. No load-balancing algorithm is currently utilized because socket functionality and middleware functionality is still tightly woven.

The main goal is to reduce UDP packet receive errors and reduce congestion in general.

Fate-JH commented 2 months ago

I made a thing. multiple-sockets-example