6,829 Commits over 1,096 Days - 0.26cph!
Attempt at an experimental network LOD system - updates entities more or less often depending on how close they are to the player.
Uses cell coordinates
Doesnt affect players. Needs more work to stop affecting gameplay with animals etc.
Initial experiments show a 75% decrease in entity position network traffic at high distances
50% reduction in entity position updates at medium distances
Experiment with moving the cargo plane movement to the clientside
Circumvents 380 B/s per player when cargo plane is out
full_parented_mounting -> main
▊ ▊▆▌ ▆▅█▄▇▋ ▉█▇▉▄▅▌▊█▄ ▋▊▉▄▇ ▌▆▉▅ ▅▍ ▅▉▉▆▇▄ ▇▄█ ▊▇▌▋█▍▍ ▌▄▅▉▆ ▇▇▇▄▅ ▅██▍▌▍▅ ▌▇▌▋▇▊▄▉▊▍
Fix bugs with group change polling
Remove PlayerSyncCycle - not needed anymore
Remove MountedSyncSystem for vehicle seats - not needed anymore
Better comment for the suitable parent hack when dismounting (ensure the correct triggers fire when dismounting from a parent mountable)
Swap over to fully using the parented mountable system rather than only using it for a few specific types of vehicles
This should reduce network overhead when driving any vehicle/sitting in a seat
pt_boat_turret_rewrite -> main
Stop UI_Hero_Twitch drops allocating 60B/s whilst the menu is open
development_server_fix -> main
Cleanup cache query return
Fix servers saying 'Development Server' in the pause menu when you're connected to a normal server
Budget group-change entity snapshots to fix client stutters when loading grids with large bases.
The server sent up to 512 snapshots per player tick, which flooded the clients receive tick instantly anyway
New server.snapshotsendrate (default 800/s per player) sets a budget from seconds (rather than ticks)
biofuel_generator_anim_fixes -> main
client_controls -> pt_boat_rewrite (broken)
turret_viewmodels -> pt_boat_turret_rewrite
biofuel_generator_poolingfix_2 -> main
Dont cut off the stir sound
Fix more pooling errors with biofuel generator
Dont allow player to use pt boat whilst restrained
▆ ▇▉▌ ▌▇▇█▇ ▄█▄▊▊ █▅ ▋██▇▍▄ ▆▆▆ ▇▆█▍▅▍▋▋
pt_boat_rewrite -> client_controls
main -> pt_boat_turret_rewrite
▍ ▅▇▅▊▄▌▅▌▋▅▉▍█▋▋▉▆█▅▄▄▍▅▅▍▋█▄▋ ▇▄ ▆▉▍▅
▅ ▍▊▌ ▊█ ▍▉▉▊▄▍█ ▋▄▍ ▍█▅▌▊ ▇▅▇▄▍▆▊▄▍▇▅ ▌▆ ▄▊▌ █▋▅ ▄▊▆▄▄██▊ ▍▉▆█▄▊▍ ▌▌ ▇▋▋▅▆▉ ▊▇▌▄▅ ▊▇▅ ▉▊▍▌▍▅▄▇▉▉▉▋█▋▍▅▆▆▆▌█▊▄▍▌▄▉ ▋▅█▆ ▄▉█▋▋▄▌ ▍▋▋▄▆ ▆▉▉▄▍█▋▌ ▍█▉▊▌▊▄ ▍▍ ▉▇▅▅▇ ▉▆▄▍▅▄▇▆ █▄██▋▇ ▇▍▊▇█▉ ▇▊▍ ▋▌▄▄▌▄ ▆█▌▄▍▄ ▇▄▍▆▊█ ▊▍█▅█▍ ▊▊▄▌▄▋▊▍▍ ▆▇▅▄▄▉▆ ▆▊▊ ▇▌▇▍▍▋▄▌▄▊▊█▉▇▅█▅▍▇
▌ ▊ █▌▍ ▊ ▌▆▋▌▉▄█▌▊▄▆ ▇▍▉▅▆▊ ▆▆█▅▊ ▍▆█▉ ▊█ ▄▇▋▉▌▅ ▊▆▇ ▇▋ █▄▊▅ ▅▍▌█▉▉ ▊▍▆▊▉█ ▅▆█ █▍█▄▋ ▆▆ ▊▉▌▌▌▌▇█ ▌▇▉▉▌ ▇▉▄▅▌▇ ▇▉ ▍▇▊ █▍▌▍▌▄ ▄▌▌▌▆▇▊▊ ▋▌▉▋▋▆▍▊█▅▌ ▌▆▅ █▍▊▊▅▅▇ ▌▍█▊▌ ▆▊▊▍ ▅▅ ██ ▅▉▋▌▅▄▋ ▌▉▋▄▍▋▍ █▍▆▉▅▉▇
▋ ▌▆▉▆▇ ▅▆▄▊▅▇ ▇▋█▆▊▊ ▋▆▇▋▊▅▊▉▄▍▇ █▆▄▆ ▆▍▄▌ █▌▊▄▊▍▊ ▊▅▄▉▉▇▆▅ ▅▇▇▄ ▅▅▍▋▇▆▍ ▉█▅▅▄▋▇█▆▌▄▅▋▌ ▄▉ ▉▉█ ▇▍▆▄▌▍▍▍▌▊ ▉▅ ▇▌▊▇▆█▍▄ ▌▆▌▄▇ ▄▅▊▅▅▉█ ▅▍▌▍ ▇▇ ▆▅▄▌█▋▊▊▋ ▆▄█▋ ▄▉▉▊▅▄ ▆▊▋▋
▊ ▉▌▆▄▉▍ ▋▍█▋▌▅ ▋▍▊ ▅▅▄▉▍▊ ██ ▆█▉██▇▍█ ▅▊▆▍▄█▉
▊ ▍ █▌▅▋▄▋▊▊▆ ▇▋▊ ▉█▇▍▄▋▋ ▅▅▋▄▆▌ ▆▌▋▆▍▇▊ ▉▌ █▄▆▇▇▅█▊▇▇▌▅▍▋ ▄▄▉▌▍▉▌▊ ▌▌▍▌▌▍█▇ ▍▅▅▊▍▆▋▊█▊ ▊▉▇▊▇ ▊▇▄ ▊ ▆▇▉▊▄ ▄▋▆ ▇▇█▆█▅▄ █▋▍▆▌▌▇▌▇ ▇▌▇▇▅▉▇▉ ▋▇▅▍▇█ ▅▉▆▍▇▆ ▍▇▅ ▇▇▆▊ ▊▄▆▌▍▉▆▇ ▅▋█▅▋▄ ▍█▅ ▄▄▅▆▌▋ ▉▌ ▍▊█▍▋▄▍ ▍▌▊▉█▉▆█▅▅▄▌▋▌▉▅▍▌ ▄▇▆ ▄█▌▆ ▊▄▄ ▍▋█ ▇▋█▅▍██▍▊▌▊▄ ▅▌▌▌▍▇█
Remove FOV animations on reload
turret_viewmodel -> pt_boat_turret_rewrite
- Fix aim inconsistencies
- Fix viewmodel not playing the right anims
▍ ▍▉▉█▇▌▉▄▌▍▍▉▌▆▍█▇▍█▇▋▍ ▌▍ ▅▅▌▌
▆ ▆▆▊ ▇█ ▌▄▍▉▆▍█▆ ▍▇▊▋ ▊▍▅
▋ ▄▉▇▍ ▊▇▉▌▅ ▉▅▋ ▊▆ ▋▆▅ ▊▉▄▇▆▇▍ ▋▉▊▅▆▉▉ ▍▅▆▋ ▇▉ ██▊▊ ▋▅█▇ ▆▉ ▍▇▇▅ ▍█ ▄█▋ ▅ █▆▄▋▇▉
Fix some weird/stuck crosshairs on the rear turret
pt_boat_rewrite -> turret_viewmodels
main -> pt_boat_turret_rewrite
Only send turret targets rather than every single turret movement
We are effectively predicting the turret movement on the client with the server reconcilling it
1.83 -> 0.20 aim messages/s per idle turret
~46 -> ~7 B/s per turret per player
On a 122 player server: roughly ~105 KB/s less outbound (~9GB a day). 6% reduction of all outbound game data
Wallpaper health was included with every building block, even those without wallpaper
Saves 10 B per building block
Pack the tree billboard lists sent to joining players
Each cell now sends its prefabs once, ids as deltas from the previous tree and positions as raw halves instead of a nested message per tree
~30 -> ~16 bytes per tree, roughly 1.8 MB -> 0.9 MB per player join on a full map
Send animal look direction in an RPC rather than with SendNetworkUpdate
Animals with look animators were running network updates crazy often rather than just sending the look over
This was especially bad with cows, wolfs, sheep and bulls
Worst offender is cow at ~144 bytes per look update (network update).
~350 B/s per cow per player -> ~60 B/s