#protocols #debugging #minetest

minetest-protocol

Minetest protocol implemented in Rust

5 releases

0.1.4 Mar 19, 2023
0.1.3 Mar 14, 2023
0.1.2 Mar 7, 2023
0.1.1 Mar 7, 2023
0.1.0 Mar 5, 2023

#5 in #minetest


Used in minetest-shark

MIT license

240KB
6.5K SLoC

minetest-protocol

Pure Rust implementation of the Minetest protocol.

Supported functionality:

  • Serialization & deserialization of packets and commands
  • Minetest commands as strongly-typed struct's and enums
  • The peer protocol
    • Channels
    • Packet splitting & split packet reconstruction
    • Reliable packet retries & ACK tracking
    • peer_id tracking

This is a library and does not contain any programs. For an example of how to use this library, see the minetest-shark crate.

Work in progress

  • Documentation is incomplete & unreviewed.

  • Reliable packet delivery transmission window size is fixed for now.

  • Non-reliable split reconstruction timeout not enabled yet.

Dependencies

~9–16MB
~214K SLoC