/netcode

A protocol for secure client/server connections over UDP

Primary LanguageCBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Build status

netcode

netcode is a simple connection based client/server protocol built on top of UDP.

It has the following features:

  • Encrypted and signed packets
  • Secure client connection with connect tokens
  • Connection based protocol built on top of UDP

and protects your game server from the following attacks:

  • Zombie clients
  • Man in the middle
  • DDoS amplification
  • Packet replay attacks

netcode is stable and production ready.

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 in C.

This is the primary implementation of netcode, and is always up to date with the latest features.

Other netcode.io repositories include:

Contributors

These people are awesome:

Thanks for your contributions to netcode!

Author

The author of this library is Glenn Fiedler. He's a veteral game developer with netcode he wrote being used in many games, including Titanfall and Apex Legends!

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

Sponsors

netcode was generously sponsored by:

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

License

BSD 3-Clause license.