Skip to content

dashwire_replication 0.2.0

Choose a tag to compare

@bdero bdero released this 02 Aug 09:59
  • Predictor<I,S>, a generic client-side prediction engine with input-replay reconciliation (advance per tick, roll back to an authoritative state and replay the not-yet-applied inputs).
  • LagCompensation<K,V>, a server-side per-tick history that rewinds tracked entities to the client-rendered tick (interpolated, capped) for lag-compensated hit resolution.
  • ReplicationHost.priorityScale, a per-connection snapshot-priority multiplier (the distance-falloff generalization); the priority accumulator is now per connection so scaling stays starvation-fair.
  • Tick-indexed input commands, ReplicationClient.sendInput with a redundant unreliable tail that self-heals dropped packets, ReplicationHost.consumeInput/Room.input for authoritative per-tick consumption with hold-last on a miss, and server-driven send-ahead pacing from a per-connection buffer-depth ack. The substrate for client prediction and input-replay reconciliation.
  • ReplicationClient.inputTargetDepth tunes the server-side input buffer depth the send-ahead lead converges to (2 default; 1 trades jitter headroom for a tick less input latency).
  • Fixed quantizing codec ids rendering differently under dart2js, which made a native host and a web client disagree on the schema hash and reject the join.
  • Fixed a leave race where despawning the leaver's entity in a room's onLeave sent on its closed connection.