All Versions
Latest Version
Avg Release Cycle
316 days
Latest Release
1503 days ago

Changelog History

  • v1.2.1 Changes

    April 17, 2019

    ๐Ÿš€ This release includes a security fix for a vulnerability discovered in replay attack protection.

    Without this fix, an attacker can craft a packet with high sequence number to a client or server, and stop all future packets in the connection from being received.

    ๐Ÿš€ Please update to this release ASAP!

  • v1.1 Changes

    August 16, 2017

    ๐Ÿš€ Changes in this release:

    1. Per-client timeouts can now be specified in the connect token โฑ 2. Negative timeout values disable timeout (useful for debugging)
    2. Negative expire seconds disables token expiry (useful for debugging)
    3. Added netcode_client_get_port and netcode_server_get_port to get the bound socket ports when the bind address has port 0. ๐Ÿš€ 5. Golang and Rust implementations have been moved out to their own repositories so they can have different release cycles. โšก๏ธ 6. To implement per-client timeouts the code has been updated to NETCODE 1.01 spec.
  • v1.0 Changes

    July 24, 2017

    This is the initial release of

    ๐Ÿ”‹ Features:

    1. Secure client connection based around connect tokens
    2. Challenge/response for protection against spoofed client IP headers
    3. Protection against being used in DDoS packet amplification attacks in request/response
    4. Encrypted and signed UDP packets once connection is established.
    5. Replay protection so attackers can't intercept and replay old packets. ๐ŸŒฒ 6. Support for user overrides for allocator, logging functions and assert function. ๐Ÿ’… 7. Support for loopback client connections with server, for example for local client/server or singleplayer in Call of Duty, Titanfall style.

    โœ… This code has been extensively unit tested, soak tested as well as having been successfully integrated into yojimbo for several months now. is now production ready!