aeronet_replicon
Implementation of a bevy_replicon backend
using aeronet.
Replicon provides component-level replication for the Bevy game engine, and this crate provides the types and Bevy plugins to integrate any aeronet transport with Replicon. The transport does not necessarily even have to be networked.
Getting started
Plugins
First, you must set up a transport implementation. See the [aeronet] crate for an overview of what
transports are available.
Then add the following plugins depending on if you want to use a client or a server:
- Replicon's
ClientPluginand this crate'sRepliconClientPlugin - Replicon's
ServerPluginand this crate'sRepliconServerPlugin
After setting up and connecting your transport, you can use Replicon as normal.
use ClientTransport;
use RepliconClientPlugin;
use *;
use *;
#
Connecting and disconnecting
All higher-level interactions with a client/server (i.e. connecting, disconnecting; anything apart from just sending data) must be done through aeronet. Replicon doesn't handle this.
Lanes and channels
Replicon's channels are analogous to our lanes. In fact, the Replicon channel ID is mapped directly to a lane index during encoding and decoding.
Client keys
On the server side, your transport's T::ClientKey type is mapped to a Replicon ClientId via
the ClientKeys resource. Use this resource to map between the two.