yojimbo is a network library for client/server games with dedicated servers.
It's designed around the networking requirements of competitive multiplayer games like first person shooters.
As such it provides a time critical networking layer on top of UDP, with a client/server architecture supporting up to 64 players per-dedicated server instance.
yojimbo is production ready.
- Cryptographically secure authentication via connect tokens
- Client/server connection management and timeouts
- Encrypted and signed packets sent over UDP
- Reliable-ordered messages and data blocks
- Packet fragmentation and reassembly
- Estimates of packet loss, latency and bandwidth usage
You can get the latest source code by cloning it from github:
git clone https://github.com/networkprotocol/yojimbo.git
After cloning, make sure to run this command to populate the netcode.io and reliable.io submodules:
git submodule update --init --recursive
Alternatively, you can download one of the latest releases
The author of this library is Glenn Fiedler, a recognized expert in the field of game network programming with over 15 years experience in the industry.
Glenn is now focusing on his new startup Network Next.
yojimbo was generously sponsored by:
And by individual supporters on Patreon. Thank you. You made this possible!