Skip to content
A network library for client/server games with dedicated servers
Branch: master
Clone or download
Latest commit 3aa5564 Feb 10, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
android/ifaddrs compiles on android Apr 18, 2017
docker Use make -j32 in Dockerfiles to speed up image builds. Nov 14, 2018
matcher
netcode.io @ 55fac38
reliable.io @ 661b184
tlsf move tlsf back into its own directory so coverity doesn't get confused Jan 5, 2017
valgrind
windows update windows Jul 15, 2017
.gitignore added valgrind test Jun 1, 2017
.gitmodules
.sublime
.travis.yml
BUILDING.md Fix premake5 alpha13 warnings. Nov 14, 2018
LICENCE added LICENCE Mar 31, 2017
README.md
USAGE.md
client.cpp fixed client and server get address to get bound socket port from net… Aug 15, 2017
client_server.cpp update submodules Aug 15, 2017
doxygen.config doc pass Jul 26, 2017
loopback.cpp
premake5.lua
secure_client.cpp
secure_server.cpp
server.cpp
shared.h proper fix for single message type bug with basic tests Oct 26, 2018
soak.cpp
test.cpp
yojimbo.cpp Remove unused field: blockData. It could waste up to 256 KB per client. Dec 18, 2018
yojimbo.h

README.md

Travis Build Status Coverity Scan Build Status

yojimbo

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.

Features

  • 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

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.

Glenn is now focusing on his new startup Network Next.

Sponsors

yojimbo was generously sponsored by:

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

License

BSD 3-Clause license.

You can’t perform that action at this time.