67 releases (32 breaking)
Uses new Rust 2024
new 0.33.0-rc.5 | Apr 15, 2025 |
---|---|
0.33.0-rc.2 | Mar 28, 2025 |
0.32.2 | Apr 16, 2025 |
0.29.1 | Dec 16, 2024 |
0.1.0 | Mar 28, 2023 |
#29 in Game dev
1,783 downloads per month
Used in 10 crates
425KB
7.5K
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.
- Control over client visibility of entities and events.
- Replication into scene to save server state.
- Customizable serialization and deserialization even for types that don't implement
serde
traits (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.
- Works with
no_std
. - 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).
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_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.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
~18–30MB
~522K SLoC