#minecraft #networking #bevy #server #protocols

minecrevy_net

A client-server networking library for Minecraft with Bevy

1 unstable release

0.1.0 Dec 9, 2023

#183 in #protocol


Used in 2 crates

MIT/Apache

79KB
1.5K SLoC

minecrevy_net

A Minecraft: Java Edition compatible networking library, powered by Bevy and Tokio.

Requirements

These requirements are a must to be compatible with the Minecraft: Java Edition protocol.

  • Big-Endian over the network.
  • Client-Server architecture.

Goals

  • Embrace ECS: Client connections are stored as Entities. Connections are dropped when the entity is despawned.
  • Performant: Scale up to many connections without breaking a sweat.
  • Flexible: Handling N clients should be similarly easy to handling 1 client.
  • Comprehensive: Support server-side networking, but also client-side networking.

Prior Art

Bevy ecosystem networking libraries:

Dependencies

~23–33MB
~514K SLoC