Releases: PepeElToro41/replecs
Releases · PepeElToro41/replecs
Release list
Replecs v0.3.1
Replecs v0.3.1
Replecs is a fast, powerful, and runtime/library agnostic replication library for ECS.
Changes:
Fixes
- Fixed collect_entity() bug
- Fixed pairs getting serialized incorrectly
- Bumped to jecs 0.10.0
Replecs v0.3.0
Replecs v0.3.0
Replecs is a fast, powerful, and runtime/library agnostic replication library for ECS.
Changes:
New Features
- Specific pair tracking, You can do this with
replicator:set_pair(entity, jecs.pair(r, t)), multiple pairs of the same relation can be added, and each one can have a different filter. replicator:collect_entity(entity)/replicator:apply_entity(buf, var). This allows you to send the full state of a single entity. Can use this as a temporal workaround of replecs not calculating filter changes,
so you can manually send the full entity to players that got added to a filter.
Improvements/ API additions
- Bandwidth optimizations. One byte is saved per target of a relationship of an entity.
- Added a
keepboolean for replication stop methods. This allows to stop tracking an entity or a component without the client destroying/removing it. - Added replicator:get_shared_count()
- Added replicator:set_serdes(), replicator:remove_serdes() as an imperative way to add serdes. This is relevant for adding serdes for pair tracking.
pair(rel, wildcard)is supported. - You are not able to add/remove components marked as unreliable.
Fixes
- Fixed custom id entities not getting lifetime tracked.
- Fixed custom ids not creating a client -> server lookup.
- Fixed error when destroying/stopping entities that triggered with a specific hook firing order.
- Fixed tags not getting correctly moved to a different storage group.
- Added
__indexto the CustomHandler metatable (Accidentally forgot). replicator:encode_component()andreplicator:decode_component()now recalculates shared components if needed.- Replecs will now error when two or more shared components have the same jecs.Name
- Replecs will now show a warning if it finds with replecs.shared without jecs.Name
BREAKING CHANGES
replecs.pairhas been renamed toreplecs.relationreplicator:set_pair()has been renamed toreplicator:set_relation()replicator:stop_pair()has been renamed toreplicator:stop_relation()- Replecs will no longer apply unreliable updates if the entity does not have the component.
Replecs v0.2.3
Replecs v0.2.3
Replecs is a fast, powerful, and runtime/library agnostic replication library for ECS.
Changes:
Fixes:
- Fixed bitmasks having a stale value after getting compacted
- Fixed component additions incorrectly getting moved to another storage
Replecs v0.2.2
Replecs v0.2.2
Replecs is a fast, powerful, and runtime/library agnostic replication library for ECS.
Changes:
Fixes:
- Fixed command buffers applying wrong values to pairs
Replecs v0.2.1
Replecs v0.2.1
Replecs is a fast, powerful, and runtime/library agnostic replication library for ECS.
Changes:
Fixes:
- Fixed command buffers applying wrong values to components
Replecs v0.2.0
Replecs v0.2.0
Replecs is a fast, powerful, and runtime/library agnostic replication library for ECS.
Changes:
Additions:
- Added advanced custom ids.
- Added handshake verification for making sure client and server are setup correctly.
- Added
register_entity,unregister_entityin client replicator as a way to edit the server/client ids lookup map
Improvements:
- Added Imperative api:
set_networked,set_reliable,set_unreliable,set_pair,stop_networked,stop_reliable,stop_unreliable,stop_pair,set_custom, - Now entities can be marked as networked as well as marking its components before the server is inited
Fixes:
- Fixed component addition events not getting correctly removed when an entity was deleted
- Fixed replecs not correctly unregistring players when they left
- Fixed replecs using bitmask indexes of other players when a new player joined
- Fixed bug with old custom ids where the server didnt send destroy events for entities that were created with custom ids
- Fixed replecs not registring already existing players on start
- Fixed edge case where you could use a player in a filter that hasnt been registered yet when used inside a
PlayerAddedevent
Breaking Changes:
- Custom Ids with components now need the component to be replicated reliably.
replecs.bytespanwas removed, bytespan is now provided in the serdes table
Notes:
- No big breaking changes for custom ids fortunately
- Imperative api does not add the components to the entity. This is more efficient and wont grow the archetypes, but it will disable query-ability