https://github.com/yzsolt/netcode-rs
Pure Rust implementation of the netcode.io protocol
https://github.com/yzsolt/netcode-rs
gamedev netcode networking rust udp
Last synced: 9 months ago
JSON representation
Pure Rust implementation of the netcode.io protocol
- Host: GitHub
- URL: https://github.com/yzsolt/netcode-rs
- Owner: yzsolt
- License: mit
- Created: 2020-10-19T09:51:00.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2023-08-17T10:31:54.000Z (over 2 years ago)
- Last Synced: 2025-03-25T23:35:45.742Z (9 months ago)
- Topics: gamedev, netcode, networking, rust, udp
- Language: Rust
- Homepage:
- Size: 64.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# netcode-rs
Pure Rust implementation of the [`netcode.io`](https://github.com/networkprotocol/netcode) protocol.
Standard version **1.02** is supported.
**Note:** `netcode-rs` is **not** production ready yet. There are [outstanding issues](https://github.com/yzsolt/netcode-rs/issues) and insufficient test coverage which currently blocks publication on [`crates.io`](https://crates.io/). Contributions are welcome, of course!
# Original implementation
`netcode-rs` is built on top of the work of these awesome people:
* [Val Vanders](https://github.com/vvanders): original Rust implementation
* [Walter Pearce](https://github.com/jaynus): forked and updated Rust implementation
# Motivation
There are several problems with the currently published [`netcode`](https://crates.io/crates/netcode) crate:
- It uses [`libsodium`](https://github.com/jedisct1/libsodium) for encryption, which is a C dependency. There are multiple pure Rust AEAD implementations which can be used instead.
- It's not maintained anymore, thus it only supports protocol version 1.01 and lacks important fixes which were implemented in the reference C implementation in the meantime.
`netcode-rs` aims to provide an up-to-date, pure Rust implementation which solves these issues.