Download

← All updates

Update

quark 0.36.0

Everything that changed in this version, and why.

The full notes for this version are its short notes: that was all that was written then.

Fixes

  • Knife throw: right-clicking to throw the knife no longer fires the weapon you switch to (the rocket lob) straight away. Let go of the button, then click again.
  • Rocket alt-fire: the lob now flies 1.4x as fast (70% of rocket speed), with the same 3x gravity.

Server: less CPU, less bandwidth

  • Snapshot rate: snapshots are sent at their own rate, separate from the 1000 Hz simulation. The default is 500 per second; --snaprate N changes it (1000 = lowest latency, 250 or less = less CPU and upload).
    • Your input is still simulated every millisecond.
    • Interpolation of other players grows by about 2 ms (7.1 → 9.2 ms on the localhost test).
  • Big servers keep the full 1000 Hz tick and send fewer snapshots instead. Before, the whole server dropped to 250 or 500 Hz above 16 players.
  • Leaner snapshots:
    • Your own grapple and dash state is only sent while active.
    • Projectile velocity is only sent when it changes.
    • Reliable messages are re-sent once per round trip instead of in every snapshot.
    • Result: 172 → 129 bytes per snapshot. With half as many snapshots, upload per player is about 62% lower (≈1.4 → 0.5 Mbit/s).
  • Snapshot buffers are reused instead of being reallocated every send.
  • An empty server sleeps between ticks instead of busy-waiting.
  • Benchmark (quark_tests serverbench): Harbor, 12 bots + 4 players, 102 → 69 µs per tick at 1000 Hz.

Protocol

  • Network protocol version 19: everyone needs 0.36.0.