Skip to content
A simple protocol for secure client/server connections over UDP
Branch: master
Clone or download
gafferongames Merge pull request #81 from stellarLuminant/add-address-check
Add netcode_server_client_address function
Latest commit 0f46ae2 Feb 22, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docker Update DockerFile Sep 30, 2018
valgrind Update valgrind/Dockerfile libsodium version Sep 30, 2018
windows Update bundled libsodium to 1.0.16 Sep 29, 2018
.gitignore remove rust impl from main repo Aug 14, 2017
.travis.yml Fix Travis for real Sep 29, 2018
BUILDING.md
LICENCE added LICENCE Mar 31, 2017
README.md
STANDARD.md
client.c Add user_data parameter to netcode_generate_connect_token Feb 4, 2019
client_server.c
netcode.c Replace zero constants with NULL pointers Feb 14, 2019
netcode.h
premake5.lua
profile.c Add user_data parameter to netcode_generate_connect_token Feb 4, 2019
server.c
soak.c Add user_data parameter to netcode_generate_connect_token Feb 4, 2019
test.cpp

README.md

Travis Build Status

netcode.io

netcode.io is a connection-oriented protocol built on top of UDP.

It's designed for client/server games with dedicated servers, like modern first person shooters.

It has the following features:

  • Token system so only authenticated clients can connect to your server.
  • Packet encryption and signature checks.
  • Protection against man-in-the-middle attacks.
  • Protection against DDoS amplification attacks.
  • Protection against packet replay attacks.
  • Protection against zombie clients.

Save some time by using netcode.io as the foundation for your network protocol instead of writing and testing all this yourself!

How does it work?

Please refer to the second half of this whitepaper: Why can't I send UDP packets from a browser?

For a complete technical specification, read the netcode 1.02 standard.

Source Code

This repository holds the reference implementation of netcode.io in C.

Other netcode.io repositories include:

Contributors

These people are awesome:

Thanks for your contributions to netcode.io!

Author

The author of this library is Glenn Fiedler.

Glenn wrote an article series about the development of this library called Building a Game Network Protocol.

Other open source libraries by the same author include: yojimbo and reliable.io

Sponsors

netcode.io is 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.