userJake_Richcancel
reporust_rebootcancel

6,164 Commits over 1,614 Days - 0.16cph!

15 Days Ago
Add `packet_capture` command to capture outbound packets on the server - will capture up until a certain size or time limit is reached - writes to disk with 8MB buffer - intended to allow capturing network data so we can simulate optimizations on the raw data - no overhead when turned off
15 Days Ago
Codegen
15 Days Ago
Store entity ID for position ticks in a 1000 sized cache - reduces entity ID from 8 -> 5 -> 2 bytes (8 now, would be ~5 with VarInt encoding, 2 bytes with index lookup) - also compresses the parent's network ID when parented - overkill just for network IDs but basically free since we also want to do lossy compression for positions - demos store the network ID lookup in the keyframes so it can skip forwards & backwards still - make batch position packets ordered now (not a big deal since they are way smaller than old ones and max one per server frame)
15 Days Ago
merge from optimize_upkeep_multiplier -> main
16 Days Ago
Refactor + cleanup
16 Days Ago
Fix the guide not detecting if the sail would block when lowered but doesn't block when up - caused the sail to be blocked only when lowered despite the guide making it look ok
16 Days Ago
Tests
16 Days Ago
▌ ▉▅▄ ▍▉▋▋▅▅▍▄▉▅▊▊▉ ▉▆▉ ▆▆▄▉▊ ▌▋▋▊▍▌▆▇▆ ▆▋▉▌▍▅▊ ▇▋█▆█▉▉█▅▍▉▋▊▊▉▉▊ █▅ ▌▄▅▅ ▆▊▋ ▇▌▌▄▊▊▅▍▌▉▊ ▇▆▆▅▇█▄ ▆█▊▉ ▋▆▍█▌▆▊▆▉▅ ▉▊▆ ▊▉▄ ▆▍▊▋ ▋▄▌▆▅▌ ▊▊▋▅▍▆ ▅▋▅▊▅ ▆▋▌▆ ▊▄▉▌▉▄█▋ █▋ ▇▌▌▌▋█▊▆▍▊▍▉▇▅▆▉█▉▍ ▍▍▅▋▉▄▄ ▇█▊▌▅ ▍▆▇▊▇▆▌▇ ▆█▄▌ ▆▆▅▊ ▇▉▄
16 Days Ago
Update demos to read the new batched packet format
16 Days Ago
Update SendNetworkPositions() to use the new batched path - famous last words but batched position updates shouldn't break so we shouldn't need a ConVar to toggle behavior at runtime
16 Days Ago
Add batching for position ticks - new packet type EntityPositionBatch so old demos keep working - batches together entity position updates per player per server frame - flushes batches after ServerMgr * Invokes - skips sending time field if it's the same as the entity before it
16 Days Ago
Fix mismatch between server's check for sails and client's check - client uses rays, server used spheres - the OBB the client used to simulate the new placement wasn't rotated correctly leading to mismatch
16 Days Ago
Optimize calculating upkeep on the server - used to iterating through entire buildings when recalculating upkeep - now sums the building cost of all the entities and only adds & removes cost as entities are changed - means upkeep is now only multiplying the cached cost * the upkeep multiplier
16 Days Ago
merge from fix_switch_ammo_reload -> main
17 Days Ago
Test to prove it's fixed
17 Days Ago
Fix guns with partial reloads (shotguns) not reloading all the bullets after switching ammo - example: 4 buckshot loaded, switch to slugs and it only reloads 4
17 Days Ago
Add uploading of signs / sculptures / voicemails to our backend - simple retry: try 1x per minute, give up after 5x attempts
17 Days Ago
merge from fix_cookable_created_alloc -> main
17 Days Ago
Fix ItemModCookable allocating a new delegate every time an item is created
18 Days Ago
merge from cache_entity_links -> main
18 Days Ago
Update comment
18 Days Ago
Re-add the "Restoring X/100,000 links" for cases where the cache links aren't used
18 Days Ago
Pass `serverStartup` parameter into RestoringLoadedEntityLinks() so we don't call RCON.Update() when pasting with copypaste - probably harmless but it bugged me
18 Days Ago
merge from cache_ocean_path -> main
18 Days Ago
Optimize server startup time by caching the ocean patrol path on disk (158s -> 138s) - same idea as server occlusion grid being saved - can increase version number to regenerate next restart - convar `regenerate_ocean_path` will cause it to regenerate it next startup too
18 Days Ago
Codegen
18 Days Ago
Update test list
18 Days Ago
merge from main -> cache_entity_links
18 Days Ago
merge from optimize_duplicate_player_check -> main
18 Days Ago
merge from optimize_enforce_limits -> main
18 Days Ago
merge from fix_steam_setkey_crash -> main
18 Days Ago
Reduce number of unique keys set to prolong time until limit is hit - round entities to nearest 1000 - round FPS to nearest whole number (and clamp to 512) - round RAM to nearest 100MB - round GC count to 2 significant figures (1-9,10-90,100-900,etc) - round uptime to nearest 15m interval instead of every 30s - increases time before limit is hit from 7d -> 365d+ Prevent server from crashing if too many keys are set - stop setting new keys after 50k unique values have been set (it can still assign to previous values) - prevents server from getting enough unique values to cause the crash
19 Days Ago
Optimize server startup time by 72s (230s -> 158s) by fetching the spawnables only once instead of doing it for each of the 100 spawn populations
19 Days Ago
Optimize server startup time by 24s (254s -> 230s) by using HashSet to check for duplicate player models
20 Days Ago
Fix test attribute
20 Days Ago
Tests
20 Days Ago
Codegen
20 Days Ago
Add global const for "entity_links" version so we can invalidate all entity links when needed
20 Days Ago
Cache entity links across server restarts - if a prefab's sockets change since it was saved it will relink sockets - works for copy paste (so we can see how things were linked on a remote server)
22 Days Ago
merge from softcore_tc_limit/map_icons -> main
22 Days Ago
Update test list
22 Days Ago
Fix test attribute
22 Days Ago
merge from optimize_spawn_distribution_simple -> main
22 Days Ago
merge from main -> softcore_tc_limit/map_icons
22 Days Ago
Fix TCs being sent to you when on tutorial island Fix TCs on tutorial island being sent to you (if the island isn't instantly cleaned up)
22 Days Ago
Fix other map views (MLRS, vending, etc) showing TCs on it
22 Days Ago
Fix TC label on map able to get a delete button if a network update happens when the map is open and the sleeping bag buttons shuffle
22 Days Ago
Don't build quadtree for spawn distributions that feed in a zero length array
22 Days Ago
Reimplement the tile based version of spawn distributions without the additional optimizations on top - still saves a large amount of memory (700MB vs 780MB before)
23 Days Ago
Fix tool cupboards still showing on the map if the replicated convar for max TCs is disabled at runtime