yojimbo is a network library for real-time client/server games that host dedicated servers.
It's designed around the networking requirements of competitive multiplayer games such as first person shooters. As such it provides a time critical networking layer over UDP, with a client/server architecture supporting up to 64 players per-dedicated server instance.
yojimbo is currently in pre-release for early feedback.
Right now it provides support for:
- Cryptographically secure authentication via connect tokens
- Client/server connection management and timeouts
- Signed and encrypted packets sent over UDP
- Reliable-ordered messages and data blocks
- Packet fragmentation and reassembly
- A serialization framework for extending the protocol with custom message types
Work over the past month has been focused on rebuilding the library on top of netcode.io and reliable.io
For more details please refer to the roadmap.
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 game industry.
Glenn is currently writing an article series about the development of this library called Building a Game Network Protocol.
You can support Glenn's work writing articles and open source code via Patreon.
yojimbo is generously sponsored by:
-
Gold Sponsors
-
Silver Sponsors
-
Bronze Sponsors
And by individual supporters on Patreon. Thank you. You make this possible!