Skip to content

Releases: mas-bandwidth/netcode

Stable Release

26 Dec 19:07
Compare
Choose a tag to compare
  • Fix delayed packet receives on windows server when client socket gets shut down hard (ICMP UNREACHABLE -> WSAECONNRESET)
  • Simplify building on windows by including cut down libsodium source
  • Update to support intel and arm Macs
  • Fix warnings

Security fix

17 Apr 22:09
Compare
Choose a tag to compare

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!

Feature requests

16 Aug 16:26
Compare
Choose a tag to compare

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)
  3. Negative expire seconds disables token expiry (useful for debugging)
  4. 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.

Production Ready

24 Jul 01:21
Compare
Choose a tag to compare

This is the initial release of netcode.io

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.

netcode.io is now production ready!