Reflex Changelog 0.30.x
- 1 Changelog 0.30.x - New! Improved! Netcode!
- 1.1 0.30.2, January 16th 2015
- 1.2 0.30.3, January 20th 2015
- 1.3 0.30.4, January 25th 2015
Changelog 0.30.x - New! Improved! Netcode!
0.30.2, January 16th 2015
Overview (for clients)
The new Reflex netcode uses a combination of extrapolation and backwards reconciliation in attempt to keep what you're seeing consistent across clients and servers.
This lag compensation has an upper limit of 80ms -- if you have more than an 80ms ping, you'll need to lead by ping - 80ms. I.e, if your ping is 100ms, you'll need to lead by 20ms.
Our backwards reconciliation has the same limit -- if your enemy has a ping of over 80ms, they won't be able to shoot you from 500ms in the past.
We use these upper limits to avoid the drawbacks of each. For example, with extreme extrapolation values, you get error prone, warpy players. With extreme backwards reconciliation, you get laggy enemies shooting you long after you were safely behind a wall. In Reflex, these drawbacks are minimized.
We have several ideas which we'd like to investigate in the future which would further improve the netcode (notably client-side knockback prediction, client-side prediction of projectiles and compression). These features will require significant research and testing so for now, we're going to focus on other areas of the game.
We've had very good reports from our private testers with this netcode and we are open to any feedback you have. We are gamers too and we'd like the best possible solution for everyone!
Overview (for server admins)
The new netcode uses more CPU than previous versions so keep an eye on your CPU load (especially when running multiple servers on a single box).
70 so bandwidth requirements have (almost) doubled.
- Client crash at end of connecting to server.
- Animations aren't working correctly with extrapolation
- Players can push dead players around
- Pickups can block jumppads/teleports/otherpickups
- Players take 1 tick of damage on respawn after dying in lava
- Players in lagstate freeze in mid air
com_idlesleepcommand (AEon: removed with 0.29.0 already).
- Improved connection stability client<->server (should fix issue with clients getting dumped from local server).
- Implemented lag state. If client stops responding, they go into a lag state, when the return, they do a small download to catch back up to game. This also fixes disconnection issues when map is undergoing many simultaneous edits.
- Increased default (and recommended)
- Reduced Ion Cannon damage (from
- Reduced Ion Cannon knockback (from
- Added per-weapon death messages
- Added combat text for damage
Aerowalk/CPM22greybox (thanks to Hubster and Preacher for letting us include this)
- Added end-game camera to xadm1
- Added biased random spawns
- Added player joined / left arena messages to HUD
- Fixed pain effect particles based on damage.
- Toned back IC impact effects.
- Updated hit sounds.
- Updated player landing sounds
- Fixed problems with hit sounds not always being audible
- Adjusted damage ranges for hit sounds
- Smoothing on local client (aka error decay), this significantly reduces local player jitter when knocked around.
- Lava damage now done when first entering lava, not after delay.
- Fixed client side prediction of pickups, previously if you stood on pickup when it spawned, it would keep spawning on your local client even though not really there on server.
- Fixed potential server lockup with grenade trajectory
- Fixed very rare gamestate delta bug where variables weren't synced to client, will increase server CPU load though [:(]
- Fixed crash bug which occurred when spectating a client that disconnected (if they were the only other client)
- Fixed bug with server projectiles going through players (this also appeared as grenades bouncing off other players on the client).
- Removed double jump flag on spawn.
+commandswork on mousewheel now.
- Clamped outgoing packets to
125(previously it was unclamped, so at 1000fps you'd send 1000 packets/second).
- Created internal damage entity to help report damage type / amount etc in a more consistent way.
- Ion cannon hit beeps now correctly reported at higher pings.
- Damage numbers now displayed on screen.
- Damage numbers for SG / Burstgun are grouped together and displayed in one number, currently toggleable via
- Added custom death messages by damage type.
- The hostile pain sound is now only applied once when all 16 shotgun pellets hit one target.
- Built lagmeter to help debug spikes
- Scene delay is how far behind the server your client view is.
- Extrapolation is how far ahead of time your client pushed the view
- Built traffic meter to help debug tragic use
- Shows outgoing traffic in red, incoming traffic in green
- Shows dropped/missing packets in both directions (missing sent packets is only known once server informs you).
0.30.3, January 20th 2015
- Fixed issue where download UI was stuck on screen after starting replay.
- Replay editor no-longer crashes.
- Hacked fix for replay editor to display weapon correctly.
- Note: The replay editor still need some major maintenance after the netcode changes. Use it at your own risk.
- Added force respawn -- after
5seconds dead, players are automatically respawned.
- Fixed missing health pickup on
- Burst Gun damaged reduced (from
18per shot to
- Reduced bias of near spawns from
- Players joining TDM games now are properly connected as spectator.
- Fixed bug where connecting spectators could telefrag people.
- Fixed bug where connecting spectators would make a spawn sound.
- Added minimum time between jumps (to avoid mousewheel spam issues).
- Fixed several bugs under extreme conditions at connection handshaking time.
- Fixed rare crash bug which occurred during gamestate download.
- Gamestate download speed is now greatly improved over high ping connections.
- New installations of Reflex will now be installed to Steam/common/reflexfps to prevent stomping of RefleX.
com_idlesleep(client only, despite name), stops CPU spinning in client, defaults to
- Changed internal timing method. This improved dedicated server responses. Please let us know if this effects jittering people were seeing in any way! (I don't think it's related.)
- Adjusted servers to report players in format "name (steamid:ip)" to console.
- Dedicated server title bar now contains useful information.
- Dedicated server CPU load should be lower.
0.30.4, January 25th 2015
- client: reworked how grenade trajectory was recorded client side as it was the cause of many overnight crash reports.
- server: titlebar should now only update once per second.