Multi-Threaded Game Server Design
Let’s talk about the complexities and challenges of multi-threaded game server design, and the tools and solutions we have available to us.
Comet is an instructional project I started as a time challenge. The project was developed within a 3-week period after full-time work hours to exercise .NET Core and the async-await pattern as a socket design. Packet processing also utilizes channels for communicating between socket tasks and a worker thread pool for processing game requests. Very little has changed since its inception to keep it as a base project for those learning the basics of the login workflow and socket design. Though the project is still on the back burner, I do continue to support it and may add new features. I encourage contributors to fork the project and add to it.
Clone the project from my GitLab repository or fork the project to your own profile.
Install dotnet core and compile using the "dotnet restore" and "dotnet build" commands.
Install MariaDB and configure for legacy authentication, then run the included restore scripts.
Modify the generated config files in the bin folder and update the realm table in the account database.
For testing, I recommend using your local IP address before using a public IP address.
Let’s talk about the complexities and challenges of multi-threaded game server design, and the tools and solutions we have available to us.
By continuing to browse or by clicking “Accept”, you agree to the storing of cookies on your device for commenting and analytical purposes.