nimble-rust

Crates.ionimble-rust
lib.rsnimble-rust
version0.0.17-dev
sourcesrc
created_at2024-09-23 10:33:24.519504
updated_at2024-10-24 10:29:00.750258
descriptionNimble
homepage
repositoryhttps://github.com/nimble-rust/nimble
max_upload_size
id1383869
size9,498
Peter Bjorklund (piot)

documentation

README

Nimble

Crates.io Documentation

Welcome to the nimble-rust crate! This combined crate brings together the core components of the Nimble ecosystem for building deterministic networked game simulations.

Nimble intentionally has no built in support for authentication, encryption, verify datagrams or provide rate limiting. The reason is that most game platform and relay service already provide that, e.g. Steam Datagram Relay.

🎮 What’s Inside?

  • nimble-client: The nimble client for receiving game state updates, sending steps and receiving authoritative steps.
  • nimble-host: The nimble host for authoritative game state management and authoritative steps.

Recommended Crates

Transport layers

If you are on a transport layer that is lacking in hash-verification or do not provide challenge-response, or you just need it for testing purposes, you can use:

  • datagram-connections: Challenge response connections. Can be good for testing locally over UDP or similar.

  • connection-layer: Verify hash on each datagram. Can be good if you have a transport (relay service), but that transport does not have a connection-layer or that connection-layer may may cache or reuse previous connections.

Internet Simulator

  • hazy-transport: It is strongly recommended that you test your game using a internet simulator. This is a basic, but very useful one. Supports varying latency, packet drops and reordering.

📦 Installation

To include nimble-rust in your project, add the following to your Cargo.toml:

[dependencies]
nimble-rust = "0.0.17-dev"

License

This project is licensed under the MIT License - see the LICENSE file for details.

Commit count: 151

cargo fmt