Freedom251 › Game Networking Middleware
netcode.io

What netcode.io is
netcode.io is a secure client-server protocol for real-time multiplayer games. It sends unreliable, unordered packets over UDP, giving games a connection-oriented exchange without TCP head-of-line blocking. A game backend can authorize clients by issuing connect tokens, with the documented flow having a client request a token from a REST API. Servers place connecting clients in configured slots and deny new connections when all slots are occupied. The protocol supports clean disconnects from either side and timeouts for hard disconnects.
Packets are encrypted and signed using libsodium, with protections against crafted packets, replay attacks, and amplification attacks. It supports IPv4 and IPv6, and packet tagging intended to reduce Wi-Fi jitter. Implementations are listed for C, C#, Go, Rust, Unity, Unreal Engine 4, and TypeScript. The project is free and published under the BSD 3-Clause license, with no paid plans or usage limits stated. The maker says it builds with CMake on Windows, macOS, and Linux; the default build uses a vendored libsodium subset and requires CMake 3.16 or later. Matchmaking is not included.
Who it suits
netcode.io suits developers building real-time multiplayer games with a client-server network model and UDP transport. It is relevant when a game backend needs to authorize connections with tokens and servers need configured client slots.
What it does well
- Encrypts and signs packets using libsodium.
- Protects against crafted packets, replay, and amplification attacks.
- Supports IPv4 and IPv6 connections.
- Lists implementations in seven languages and engine environments.
- Free under the BSD 3-Clause license.
What to know first
- Matchmaking is not included.
- Building requires CMake 3.16 or later.
- The project says versions 1.3.5 and earlier had a nonce-reuse issue.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| netcode | BSD 3-Clause licensed library · no paid plans or usage limits stated | Free |
As github.com lists them, read 9 Oct 2026. The maker's own page has the final word.
Getting started
- Open the project repository at https://github.com/mas-bandwidth/netcode.
- Choose a listed implementation for your language or engine.
- Build with CMake on Windows, macOS, or Linux; CMake 3.16 or later is required.
- Use the documented backend flow to provide connect tokens through a REST API.
- Create a GitHub issue for questions, as the maker requests.
Verdict
Choose netcode.io if you need a UDP protocol for multiplayer client-server connections, with token-based authorization and packet security. Look elsewhere if matchmaking must be part of the protocol; it is not included.
Questions
What does netcode.io cost?
The project is free under the BSD 3-Clause license. No paid plans or usage limits are stated.
Which platforms can it build on?
The maker says it builds with CMake on Windows, macOS, and Linux.
Which network transport does it use?
It uses UDP in a client-server model and supports IPv4 and IPv6.
Does it include matchmaking?
No. Matchmaking is not included.
What license does it use?
The repository publishes netcode under the BSD 3-Clause license.
How can users ask for help or report a vulnerability?
The maker asks users with questions to create a GitHub issue. Vulnerability reports can be submitted privately through GitHub or by email.
Facts from netcode.io's own pages
- Authorized access
- Connect tokens let a game backend authorize which clients can connect to a server. · github.com, 8 Oct 2026
- Backend integration
- The documented connection flow has a client request a connect token from a REST API on the game's backend. · github.com, 9 Oct 2026
- Build platforms
- The maker says netcode builds with CMake on Windows, macOS, and Linux. · github.com, 8 Oct 2026
- Build requirements
- The C library builds with CMake 3.16 or later on Windows, macOS, and Linux, and includes a vendored libsodium subset. · github.com, 9 Oct 2026
- Client authorization
- Connect tokens let a game backend authorize which clients may connect to a server. · github.com, 9 Oct 2026
- Client slots
- Servers assign clients to slots and deny connections when all slots are occupied. · github.com, 8 Oct 2026
- Connection model
- It provides a minimal connection-oriented protocol over UDP for exchanging unreliable, unordered packets. · github.com, 8 Oct 2026
- Disconnects
- The protocol supports clean client- or server-side disconnects and timeouts for hard disconnects. · github.com, 8 Oct 2026
- Encryption
- Packets are encrypted and signed using the libsodium cryptography library. · github.com, 9 Oct 2026
- Implementations
- The repository provides a C implementation and links to C#, Go, Rust, Unity, Unreal Engine 4, and TypeScript implementations. · github.com, 9 Oct 2026
- Intended users
- The maker describes the protocol for real-time multiplayer games and shows a backend issuing connect tokens after matchmaking. · github.com, 8 Oct 2026
- Known version issue
- The project says a nonce-reuse issue affected versions 1.3.5 and earlier and was fixed in 1.4.0. · github.com, 9 Oct 2026
- License
- The C implementation is released under the BSD 3-Clause license. · github.com, 9 Oct 2026
- Network support
- The protocol supports IPv4 and IPv6 connections and packet tagging to reduce Wi-Fi jitter. · github.com, 9 Oct 2026
- Packet delivery
- It lets applications exchange unreliable, unordered packets over UDP without TCP head-of-line blocking. · github.com, 9 Oct 2026
- Packet security
- Packets are encrypted and signed, with protections against crafted packets, replay attacks, and amplification attacks; cryptography uses libsodium. · github.com, 8 Oct 2026
- Purpose
- netcode is a secure, connection-oriented client/server protocol for multiplayer games built on UDP. · github.com, 9 Oct 2026
- Security reporting
- Vulnerability reports can be submitted privately through GitHub or by email, and fixes are made on the latest release without backports to older release lines. · github.com, 9 Oct 2026
- Server slots
- Servers assign connecting clients to a configured slot and deny connections when all slots are occupied. · github.com, 9 Oct 2026
- Support
- The maintainer asks users with build questions to open a GitHub issue and says he will do his best to help. · github.com, 9 Oct 2026
- Threat protection
- The project describes protections against crafted packets, replay attacks, and packet amplification attacks. · github.com, 9 Oct 2026
Where netcode.io stands on Freedom251
- Game Networking Middleware#9 of 29