Network library for realtime multiplayer games written in C++
This repository contains four different projects:
- Network library
- Demo game
- Common (Shared files between Demo game and Network Library projects)
- Tests
- Supported protocols:
- UDP
- RUDP
- Connection pipeline
- Transmission channels support
- Unreliable unordered transmission support
- Unreliable ordered transmission support
- Reliable ordered transmission support
- Reliability:
- Message level ACKs
- Dynamic retransmission timeout based on connection's RTT
- Time sync
- World replication
- Network variables
- Automatic network change tracking
- ECS friendly
- Server-side inputs buffer (Naive version so far)
- Download the project locally (Fork, clone, copy & paste...)
- Generate project files using premake5. In my case, I use Visual Studio 2022, so I will open CMD, navigate to the repository folder, and type "vendor/premake5/premake5 vs2022". However, you will need to replace vs2022 with your preferred option.
- Choose which project you want to set as the Start Up (DemoGame or Tests), compile and generate the .exe file.
- If you wish to run Tests, simply open its .exe file. However, if you want to run DemoGame, you'll need to copy SDL2 dll files from "vendor/sdl" into Demogame .exe folder.