6,815 Commits over 1,096 Days - 0.26cph!
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
Stop SpaceLR and M15 mags sticking to the bone
Only send waterwheel network updates when its actually changed (at low speed)
Saves ~76 B per skipped update per nearby player
▋ █▋█▊█▅▉ ▄▍▌▅ ▍▉ ▉▋▄▅▄▆ ▇▊▄▄▉█▋ ▍▉▋ ▄▅▊ ▆▄▍ ▌▍▇▌ ▄▋ █▊▆ ▇▍▍▍ ▆▆▉▍▍▊▄
▆ ▋ ▆█▍▄▋ ▇▋▅▆ ▌▋▇▍▇ ▊▅▅ █▍▅▌ ▇▍▄▌▄▋▌ ▅▊▆▉▇▇█ ▇▌▉▅▋ ▊█▇▆▆▆ ▇▄▊▍▉▍▄ ▅▍▌ █▌▆▊▊▍▄▊▊ ▅▍▊▍▇▇ ▉▇ ▆▉█ ▄▋▌▊ ▊▋▅▆▅▆▉▆█ ▉▍▍▇█ ▄▊▇▊▉ ▄▆▊▄ ▇▉▍▊▋▊█▌▊▄▊▄▍▋▋██ ▉▋▆▇
▆ ▉█▉▅▉ ▍▇▆▊ ▇▋▍▆ ▅▌▍▊▄▍█ ▅ ▅▍▊██▉▊▉ ▊▊▊█ ▍▅▄▊ ▅▇▄ ▉▇▍▅ ▊ ▌▅▍█ ▅▅ ▉▅▆▄██▍▊ ▅▇▋▊▄
Remove three unused floats (skincol, skintex, skinmesh) from all player net messages that havent been used since 2016
Defaults were set to -1 so included in the proto
Saves 17 bytes per player
Stop networking IO wire origin data and duplicate slack levels to clients
Saves ~34 B per wired slot + ~5 B per wire point on network load
Fix flame turret sending two updates per trigger change instead of one
Saves 60 B~ per nearby player each time the turret turns on or off
Stop water purifier sending two unchanged network updates per boil tick
30 B/s~ per nearby player
Dont send environment rainGraceStartTicks (only used on the server)
Sends every 5 seconds.
54 → 44 B per update, so saves 10 B~ every per player every 5s
Door.SetOpen no longer sends a full network update when the door is already in the requested state (door closers re-close shut doors 3 s after every open/close cycle)
Saves ~76 B per nearby player per call
Only send search light network updates when aim/flags change rather than per tick when mounted