Skip to content

Release 0.11.0

Compare
Choose a tag to compare
@cBournhonesque cBournhonesque released this 26 Feb 04:39
· 900 commits to main since this release
4e2dcea

Release 0.11.0

Small release with mostly internal changes.

Fixed

Internal refactor by regrouping logic into bevy plugins

Moved some of the logic for the client and server into 3 new internal plugins:

  • NetworkingPlugin: contains the main receive and send systems that receive and send raw packets
  • ReplicationPlugin: contains the logic to perform World replication
  • EventsPlugin: write bevy Events whenever a networking event happens (MessageReceived, InputReceived, ConnectionReceived, etc.)

The main server and client plugins are now relatively short and just consist in importing a few other plugins.

Fixed a bug that was causing the docs to not be generated

The vendored bitcode crate could not be compiled in nightly anymore, this has been fixed.

Added

remove_replicate command

Added an EntityCommand called remove_replicate that lets you stop replicating an entity, and guarantees that any event related to that entity won't be replicated, including Despawns.
For example you can call

entity_commands.remove_replicate();
entity_commands.despawn()

on the server, and the entity's despawn won't be replicated to clients. (This could be useful if you want to play a despawn animation on the client)

Breaking changes

  • The SharedConfig struct does not have a enable_replication field anymore. This field was previously unused, so I am removing it for clarity. In the future, I will probably provide the ability to disable replication by turning the Client and Server plugins into PluginGroups