Skip to content

Multiplayer game server/protocol built on top of UDP (2020)

Notifications You must be signed in to change notification settings

ea-ae/demo-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Demo Server

Demo Server is a multiplayer game server written in C++. The server uses a custom network protocol built on top of UDP that implements features such as a snapshot system, message/network entities, and reliable packets.

Usage

Setup (Windows)

  1. Download Boost 1.71.0.
  2. Build the project using CMake.
  3. Optionally open the project using Visual Studio 2019.
  4. Run the Google Test unit tests with Test -> Run -> All Tests.
  5. Run DemoServer.exe to launch the project. A custom Unity game client is being used to interact with the server.

Config

Located in settings.xml.

Variable Description
GameServer/Version Set automatically by CMake.
GameServer/Port Specifies the port that the server will be listening on.
GameServer/Protocol The game's protocol ID that clients use to connect.
GameServer/Tickrate Amount of ticks per second.
Game/Debug Boolean.
Game/Multithreading Boolean. If enabled, client packets will be sent concurrently.
Game/MaxConnections Maximum amount of connections per game instance.
Client/Timeout Time (ms) to wait before timing out the client. Set to 0 to disable.
Client/ReliableResend Time (ms) to wait before resending a reliable message.
Client/PacketLogCount Amount of latest packets to use when calculating packet loss.
Logger/Severity Set to none, fatal, error, warning, info (default), debug, or verbose.
Logger/LogFile Name of the log file.
NetSim/InLoss Percentage of incoming packets to skip.
NetSim/OutLoss Percentage of outgoing packets to skip.

Roadmap

Check the project board for the features roadmap.

About

Created as a learn-by-doing (first proper experience with C++) and school project in 2020.

About

Multiplayer game server/protocol built on top of UDP (2020)

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published