60 releases (30 breaking)
new 0.31.0 | Mar 13, 2025 |
---|---|
0.29.2 | Jan 6, 2025 |
0.29.1 | Dec 16, 2024 |
0.29.0-rc.3 | Nov 6, 2024 |
0.1.0 | Mar 28, 2023 |
#19 in Game dev
767 downloads per month
Used in 10 crates
435KB
7.5K
SLoC
Bevy Replicon
Server-authoritative networking crate for the Bevy game engine.
If you are new to networking, see glossary and What kind of networking should X game use?.
Features
- Automatic world replication.
- Remote events and triggers.
- Control over client visibility of entities and events.
- Abstracts game logic to support singleplayer, client, dedicated server, and listen server configurations simultaneously.
- No builtin I/O, can be used with any messaging library. See messaging backends for already available integrations.
- Replication into scene to save server state.
- Customizable serialization and deserialization even for types that don't implement
serde
traits (likeBox<dyn Reflect>
). - Extensible architecture. See ecosystem.
Getting Started
Check out the quick start guide.
For examples navigate to the bevy_replicon_example_backend
(because you need I/O in order to run them).
Have any questions? Feel free to ask in the dedicated bevy_replicon
channel in Bevy's Discord server.
Ecosystem
We have a growing ecosystem of crates that can be integrated with Replicon or built on top of it. Networking is quite complex, and maintaining everything in a single crate would be a nightmare. So we are trying to provide an extensible core and encourage users to build their own abstractions as separate crates.
[!WARNING] Ensure that your
bevy_replicon
version is compatible with the used crate according to semantic versioning.
Messaging backends
bevy_replicon_renet
- integration forbevy_renet
. Maintained by the authors of this crate.bevy_replicon_renet2
- integration forbevy_renet2
. Includes a WebTransport backend for browsers, and enables servers that can manage multi-platform clients simultaneously.bevy_replicon_quinnet
- integration forbevy_quinnet
.aeronet_replicon
- integration foraeronet
. Works on any IO layer supported byaeronet_io
, but requiresaeronet_transport
.
Interpolation and/or rollback
bevy_replicon_snap
- adds snapshot interpolation and client-side prediction.
Visibility
bevy_replicon_attributes
- adds ergonomic visibility control through client attributes and entity/event visibility conditions. An extension of this crate's raw client visibility API.
Miscellaneous
bevy_replicon_repair
- preserves replicated client state across reconnects.bevy_bundlication
- adds registration of replication groups using a bundle-like api.
Unmaintained
bevy_timewarp
- a rollback library that buffers component state. See this instruction about how to integrate.
Bevy compatibility
bevy | bevy_replicon |
---|---|
0.15.0 | 0.29-0.31 |
0.14.0 | 0.27-0.28 |
0.13.0 | 0.23-0.26 |
0.12.1 | 0.18-0.22 |
0.11.0 | 0.6-0.17 |
0.10.1 | 0.2-0.6 |
0.10.0 | 0.1 |
License
Licensed under either of Apache License, Version 2.0 or MIT License at your option.
Dependencies
~56–93MB
~1.5M SLoC