A simple protocol for secure client/server connections over UDP
Clone or download
gafferongames Merge pull request #75 from drichardson/fix-scan-build-warning
Reset loopback_client_num_packets_received before test.
Latest commit 5f166b6 Nov 14, 2018


Travis Build Status


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

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

It has the following features:

  • Token system so only authenticated clients can connect to your server.
  • Packets sent between clients and server are encrypted and signed.

And it's secure by design:

  • Protection against man-in-the-middle attacks.
  • Protection against DDoS amplification attacks.
  • Protection against packet replay attacks.
  • Protection against zombie clients.

Save yourself some time by using netcode.io 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:


These people are awesome:

Thanks for your contributions to netcode.io!


The author of this library is Glenn Fiedler, a recognized expert in the field of game network programming with over 15 years experience in the game industry.

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

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


netcode.io is generously sponsored by:

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


BSD 3-Clause license.