branchrust_reboot/main/network_optimscancel

17 Commits over 0 Days - Infinitycph!

19 Days Ago
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
19 Days Ago
Wallpaper health was included with every building block, even those without wallpaper Saves 10 B per building block
19 Days Ago
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
19 Days Ago
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
20 Days Ago
Only send waterwheel network updates when its actually changed (at low speed) Saves ~76 B per skipped update per nearby player
20 Days Ago
Codegen
20 Days Ago
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
20 Days Ago
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
20 Days Ago
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
20 Days Ago
Stop water purifier sending two unchanged network updates per boil tick 30 B/s~ per nearby player
20 Days Ago
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
20 Days Ago
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
20 Days Ago
Only send search light network updates when aim/flags change rather than per tick when mounted
20 Days Ago
Dont send travelling vendor map marker updates 20 frames a second Saves 160 bytes per network tick when the vendor is out
20 Days Ago
Remove old mortar prototype code Means we can remove an mortarCooldown float with every BasePlayer update Saves 6 bytes per player update
20 Days Ago
Add a test to ensure that networkLookDirection is false for NPCs that dont have a look animator Better way to go than toggling in preprocess
20 Days Ago
Dont send full network updates every tick for for animals without a look animator. bears, polar bears, boars, chickens, crabs, frogs, jellyfish, squirrels, rabbits, stags Worst offender is bear costing 94 bytes~ per update when roaming. ~550 B/s → ~27 B/s per bear per player while roaming