77 releases (35 breaking)
Uses new Rust 2024
| 0.36.1 | Oct 11, 2025 |
|---|---|
| 0.35.1 | Oct 3, 2025 |
| 0.34.4 | Jul 28, 2025 |
| 0.33.0-rc.2 | Mar 28, 2025 |
| 0.1.0 | Mar 28, 2023 |
#24 in Game dev
2,576 downloads per month
Used in 11 crates
545KB
10K
SLoC
Bevy Replicon
A server-authoritative replication crate for Bevy.
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.
- Authorization support.
- Control over client visibility of entities and events.
- Specify which entities should be replicated in sync using ECS relationships.
- Replication into scene to save server state.
- Customizable serialization and deserialization even for types that don't implement
serdetraits (likeBox<dyn Reflect>). - 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.
- Heavily optimized.
- Robust, with high test coverage.
- Supports
no_stdand environments without atomic CAS, such as thumbv6m. - Hackable. 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).
Messaging backend repositories usually also contains the exact same examples, but with backend initialization adapted to each backend's API.
You can also:
- Watch my talk at Bevy Meetup #9
- Read this great article (not mine)
Have any questions? Feel free to ask in the dedicated bevy_replicon channel in Bevy's Discord server.
Ecosystem
Depending on your game, you may need additional features. We provide an API that allows external crates to integrate with Replicon or to be built on top of it.
[!WARNING] Ensure that your
bevy_repliconversion is compatible with the used crate according to semantic versioning.
Messaging backends
bevy_replicon_renet- integration forbevy_renet.bevy_replicon_renet2- integration forbevy_renet2.bevy_replicon_quinnet- integration forbevy_quinnet.aeronet_replicon- integration foraeronet.bevy_replicon_matchbox- integration formatchbox.
Interpolation and/or rollback
bevy_rewind- server-authoritative rollback inspired by Rocket League.
Visibility
bevy_replicon_attributes- ergonomic visibility control through client attributes and entity/event visibility conditions. An extension of this crate's raw client visibility API.
Miscellaneous
bevy_bundlication- automates the creation of replication rules for bundles.
Unmaintained
bevy_replicon_repair- preserves replicated client state across reconnects.bevy_replicon_snap- snapshot interpolation and client-side prediction.bevy_timewarp- a rollback library that buffers component state. See this instruction about how to integrate.
Bevy compatibility
| bevy | bevy_replicon |
|---|---|
| 0.17.0 | 0.36 |
| 0.16.0 | 0.33-0.35 |
| 0.15.0 | 0.29-0.32 |
| 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
~22–39MB
~640K SLoC