Releases: simgine/bevy_replicon
Releases · simgine/bevy_replicon
Bevy Replicon 0.14.0
Added
- The ability to pre-spawn entities on client.
Changed
- Rename
NetworkEntityMaptoServerEntityMap.
Bevy Replicon 0.13.0
Added
- The ability to set custom despawn and component removal functions.
TickPolicy::EveryFrameto updateRepliconTickevery frame.
Changed
- Use more compact varint encoding for entities.
- Now all replication functions accept
RepliconTick. - Rename
NetworkTickintoRepliconTickand move it intoservermodule. - Fix crash with several entities spawned and updated.
- Rename
LastTickintoLastRepliconTick. - Fix the entire world was always sent instead of changes.
Removed
derive_moredependency.
Bevy Replicon 0.12.0
Added
- High-level API to extract replicated entities into
DynamicScene.
Changed
- Hide
ReplicationRulesfrom public API. - Move logic related to replication rules to
replicon_core::replication_rulesmodule.
Bevy Replicon 0.11.0
Changed
- Serialize all components by default using varint and provide functions to use fixint encoding.
- Serialize entities in optimal way by writing its index and generation as separate varints.
- Hide
ReplicationId,ReplicationInfoand related methods fromReplicationRulesfrom public API. - Rename
ReplicationRules::replication_idintoReplicationRules::replication_marker_id. - Use serialization buffer cache per client for replication.
- Correctly handle old values on packet reordering.
- Bevy's
Tickwas replaced with dedicated typeNetworkTickthat increments on server update, so it can be used to provide information about time.AckedTickwas replaced withServerTicksthat also contains mappings fromNetworkTickto Bevy'sTickand currentNetworkTick. - Functions in
AppReplicationExt::replicate_withnow accept bytes cursor for memory reuse and return serialization errors. - Rename
ReplicationCoreintoRepliconCorewith its module for clarity. - Store changes in
WorldDiffinVecinstead ofHashMapto increase performance. MapNetworkEntitiesnow accepts genericMapperand doesn't have error handling and deserialiation functions now acceptNetworkEntityMap. This allowed us to lazily map entities on client without extra allocation.- Make
LastTickpublic.
Bevy Replicon 0.10.0
Changed
MapEventEntitieswas renamed intoMapNetworkEntitiesand now used for both components and events. Built-inMapEntitiestrait from Bevy is not suited for network case for now.AppReplicationExt::not_replicate_withwas replaced with component markerIgnored<T>.- Reflection was replaced with plain serialization. Now components need implement serde traits and no longer need any reflection. This reduced reduced message sizes a lot. Because of this mapped components now need to be registered with
AppReplicationExt::replicate_mapped. - Derive
CloneandCopyforReplication. - Make
ServerPluginfields private and addServerPlugin::new. - Make
AckedTickspublic. - Make
NetworkEntityMappublic.
Bevy Replicon 0.9.1
Changed
- Fix event cleanup.
Bevy Replicon 0.9.0
Added
ClientSetnow available fromprelude.
Changed
- Move
has_authority()toservermodule.
Bevy Replicon 0.8.0
Changed
- Put systems in
PreUpdateandPostUpdateto avoid one frame delay. - Reorganize
ServerSetand move client-related systems toClientSet.
Bevy Replicon 0.7.1
Changed
- Re-export
transportmodule frombevy_renet.
Bevy Replicon 0.7.0
Changed
- Update to
bevy0.11. - Mappable network events now need to implement
MapEventEntitiesinstead ofMapEntities.
Removed
ClientStateandServerState, use conditions frombevy_renetandresource_added()/resource_exists()/resource_removed().ServerSet::Authority, usehas_authority()instead.