sherief / yojimbo

A network library for client/server games with dedicated servers

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 with dedicated servers

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:C 73.0%Language:C++ 25.1%Language:CMake 0.7%Language:Lua 0.6%Language:Go 0.4%Language:Dockerfile 0.2%Language:Batchfile 0.0%