- Home
- Game Networking Middleware
- netcode.io
netcode.io
What it is
netcode.io is a free, open-source client/server protocol for real-time multiplayer games. It runs over UDP and exchanges unreliable, unordered packets without TCP head-of-line blocking. Backends can issue connect tokens that authorize clients, while servers assign connecting players to configured slots and reject new connections when those slots are full. The protocol supports clean client- or server-initiated disconnects and timeouts for hard disconnects. Packets are encrypted and signed with libsodium, with stated protections against crafted packets, replay attacks, and amplification attacks. IPv4 and IPv6 are supported, along with packet tagging intended to reduce Wi-Fi jitter. Implementations are listed for C, C#, Go, Rust, Unity, Unreal Engine 4, and TypeScript. CMake builds are supported on Windows, macOS, and Linux; the default build uses vendored libsodium and requires CMake 3.16 or later. The repository uses the BSD 3-Clause license and documents a nonce-reuse issue in versions 1.3.5 and earlier, fixed in 1.4.0.
For and against
For
- UDP avoids TCP head-of-line blocking
- Connect tokens authorize clients
- Encrypted and signed packets
- IPv4 and IPv6 support
- Implementations span multiple languages and engines
Against
- No matchmaking included
- Requires CMake 3.16 or later
- Older versions 1.3.5 and earlier had nonce reuse
- UDP exchanges unreliable, unordered packets
The verdict
netcode.io provides a focused transport and security layer for multiplayer game networking rather than a complete matchmaking service. Its token authorization, slot handling, packet protections, and broad implementation list suit developers assembling their own backend flow.
Who it suits
netcode.io suits developers building real-time multiplayer games with a client-server design and UDP transport. It is useful for teams needing token-based authorization, slot limits, encrypted packets, and implementations across several languages and engines.
Plans and prices
netcode
BSD 3-Clause licensed library · no paid plans or usage limits stated
Read 9 Oct 2026 · github.com
On the record
- Authorized access
- Connect tokens let a game backend authorize which clients can connect to a server.github.com · read 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 · read 9 Oct 2026
- Build platforms
- The maker says netcode builds with CMake on Windows, macOS, and Linux.github.com · read 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 · read 9 Oct 2026
- Client authorization
- Connect tokens let a game backend authorize which clients may connect to a server.github.com · read 9 Oct 2026
- Client slots
- Servers assign clients to slots and deny connections when all slots are occupied.github.com · read 8 Oct 2026
- Connection model
- It provides a minimal connection-oriented protocol over UDP for exchanging unreliable, unordered packets.github.com · read 8 Oct 2026
- Disconnects
- The protocol supports clean client- or server-side disconnects and timeouts for hard disconnects.github.com · read 8 Oct 2026
- Encryption
- Packets are encrypted and signed using the libsodium cryptography library.github.com · read 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 · read 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 · read 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 · read 9 Oct 2026
- License
- The C implementation is released under the BSD 3-Clause license.github.com · read 9 Oct 2026
- Network support
- The protocol supports IPv4 and IPv6 connections and packet tagging to reduce Wi-Fi jitter.github.com · read 9 Oct 2026
- Packet delivery
- It lets applications exchange unreliable, unordered packets over UDP without TCP head-of-line blocking.github.com · read 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 · read 8 Oct 2026
- Purpose
- netcode is a secure, connection-oriented client/server protocol for multiplayer games built on UDP.github.com · read 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 · read 9 Oct 2026