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?.
- 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.
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.
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.
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
.
bevy_replicon_snap
- adds snapshot interpolation and client-side prediction.
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.
bevy_replicon_repair
- preserves replicated client state across reconnects.bevy_bundlication
- adds registration of replication groups using a bundle-like api.
bevy_timewarp
- a rollback library that buffers component state. See this instruction about how to integrate.
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 |
Licensed under either of Apache License, Version 2.0 or MIT License at your option.