Skip to content

mas-bandwidth/yojimbo

Repository files navigation

Build status

yojimbo

yojimbo is a network library for client/server games written in C++.

It's designed around the networking requirements of competitive multiplayer games like first person shooters.

Generally speaking, if you have a custom game engine written in C++ and you want to network your game, yojimbo is a really good choice.

image

It has the following features:

  • Cryptographically secure authentication via connect tokens
  • Client/server connection management and timeouts
  • Encrypted and signed packets sent over UDP
  • Packet fragmentation and reassembly
  • Bitpacker and serialization system
  • Unreliable-unordered messages for time sensitive data
  • Reliable-ordered messages with aggressive resend until ack
  • Data blocks larger than maximum packet size can be attached to reliable-ordered messages
  • Estimates of latency, jitter, packet loss, bandwidth sent, received and acked per-connection

yojimbo is stable and production ready.

Source Code

You can get the latest source code by cloning it from github:

  git clone https://github.com/mas-bandwidth/yojimbo.git

Alternatively, you can download the latest release.

Author

The author of this library is Glenn Fiedler.

Yojimbo is built on top of other open source libraries by the same author: netcode, reliable, and serialize

If you find this software useful, please consider sponsoring it. Thanks!

License

BSD 3-Clause license.