Skip to content

Releases: projectharmonia/bevy_replicon

Bevy Replicon 0.19.0

07 Jan 16:00
Compare
Choose a tag to compare

Added

  • renet_serde feature which reexports serde feature from bevy_renet.
  • ClientSet::Reset which can be disabled by external users.
  • ServerEntityMap::remove_by_client() for manual client cleanup.
  • BufferedUpdates, ServerEntityTicks to public API.

Changed

  • Move the client reset system to PreUpdate to let clients react more promptly to resets.
  • Replace Ignored<T> with CommandDontReplicateExt::dont_replicate.
  • Replication entities with no replicated components will now be spawned on the client anyway.

Bevy Replicon 0.18.2

27 Dec 21:16
Compare
Choose a tag to compare

Changed

  • Fix missing removals and despawns caused by events cleanup.

Bevy Replicon 0.18.1

21 Dec 19:36
Compare
Choose a tag to compare

Changed

  • Cache replicated archetypes for faster iteration.
  • Fix crash caused by registering the same type for client and server events.
  • Fix replication for entities when Replication component is added after spawn.

Bevy Replicon 0.18.0

18 Dec 22:27
Compare
Choose a tag to compare

Changed

  • Send all component mappings, inserts, removals and despawns over reliable channel in form of deltas and component updates over unreliable channel packed by packet size. This significantly reduces the possibility of packet loss.
  • Replace REPLICATION_CHANNEL_ID with ReplicationChannel enum. The previous constant corresponded to the unreliable channel.
  • Server events use tick with the last change instead of waiting for replication message without changes.
  • Fix replication of removals that happened after replication on the same frame.
  • Include despawns before removals to optimize space for case where despawns are presents and removals aren't.
  • TickPolicy::EveryFrame and TickPolicy::MaxTickRate now increment tick only if RenetServer exists.
  • ServerSet::Send now always runs. Replication sending system still runs on RepliconTick change.
  • ClientMapping no longer contains tick field.
  • Use EntityHashMap instead of HashMap with entities as keys.
  • Use Cursor<&[u8]> instead of Cursor<Bytes>.
  • Replace LastRepliconTick with RepliconTick on client.
  • Move ClientMapper and ServerEntityMap to client_mapper submodule.
  • Fix missing reset of RepliconTick on server disconnect.
  • Rename replicate_into_scene into replicate_into and move it to scene module.
  • Derive Debug for Replication and Ignored<T>.

Removed

  • AckedTicks resource.
  • TicksMap resource.

Bevy Replicon 0.17.0

12 Nov 23:38
Compare
Choose a tag to compare

Added

  • Tracing for replication messages.
  • Debug derive for LastRepliconTick.

Changed

  • Update to Bevy 0.12.

Bevy Replicon 0.16.0

30 Oct 20:57
Compare
Choose a tag to compare

Added

  • API to configure max channel usage bytes in NetworkChannels.

Changed

  • Rename SendPolicy into EventType.
  • Rename NetworkChannels::server_channels into NetworkChannels::get_server_configs.
  • Rename NetworkChannels::client_channels into NetworkChannels::get_client_configs.

Bevy Replicon 0.15.1

22 Oct 19:08
Compare
Choose a tag to compare

Changed

  • Register Replication type and add #[reflect(Component)].

Bevy Replicon 0.15.0

21 Oct 19:54
Compare
Choose a tag to compare

Added

  • network_event::server_event::send helper for server events in custom sending functions.
  • Optional ClientDiagnosticsPlugin, which writes diagnostics every second.
  • Reflect derive for Replication.

Changed

  • Optimize despawn tracking.
  • Hide id field in EventChannel and add Clone and Copy impls for it.
  • Remove special functions for reflect events and advise users to write them manually instead. Reflect events are easier now because sometimes you can directly use reflect serializers from Bevy instead of manually writing serde traits.
  • Do no trigger server events before world update arrival.

Removed

  • Debug requirement for events.

Bevy Replicon 0.14.0

06 Oct 16:02
Compare
Choose a tag to compare

Added

  • The ability to pre-spawn entities on client.

Changed

  • Rename NetworkEntityMap to ServerEntityMap.

Bevy Replicon 0.13.0

04 Oct 08:57
Compare
Choose a tag to compare

Added

  • The ability to set custom despawn and component removal functions.
  • TickPolicy::EveryFrame to update RepliconTick every frame.

Changed

  • Use more compact varint encoding for entities.
  • Now all replication functions accept RepliconTick.
  • Rename NetworkTick into RepliconTick and move it into server module.
  • Fix crash with several entities spawned and updated.
  • Rename LastTick into LastRepliconTick.
  • Fix the entire world was always sent instead of changes.

Removed

  • derive_more dependency.