Skip to content

A network library for client/server games written in C++

License

Notifications You must be signed in to change notification settings

knot-alot/yojimbo

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build status Coverity Scan 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.

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
  • Reliable-ordered messages and data blocks
  • Estimates of packet loss, latency and bandwidth usage

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/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

Author

The author of this library is Glenn Fiedler.

Other open source libraries by the same author include: netcode and reliable

Glenn is now the founder and CEO of Network Next. Network Next is a radically new way to link networks together, it's a new internet for games, one where networks compete on performance and price to carry your game's traffic. Check it out at https://networknext.com

Sponsors

yojimbo was generously sponsored by:

And by individual supporters on Patreon. Thank you. You made this possible!

License

BSD 3-Clause license.

About

A network library for client/server games written in C++

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 73.0%
  • C++ 25.1%
  • CMake 0.7%
  • Lua 0.6%
  • Go 0.4%
  • Dockerfile 0.2%