userJake_Richcancel
reporust_rebootcancel

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

4 Hours 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)
Today
merge from optimize_upkeep_multiplier -> main
Today
Refactor + cleanup
Today
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
Today
Tests
Today
▌ ▉▅▄ ▍▉▋▋▅▅▍▄▉▅▊▊▉ ▉▆▉ ▆▆▄▉▊ ▌▋▋▊▍▌▆▇▆ ▆▋▉▌▍▅▊ ▇▋█▆█▉▉█▅▍▉▋▊▊▉▉▊ █▅ ▌▄▅▅ ▆▊▋ ▇▌▌▄▊▊▅▍▌▉▊ ▇▆▆▅▇█▄ ▆█▊▉ ▋▆▍█▌▆▊▆▉▅ ▉▊▆ ▊▉▄ ▆▍▊▋ ▋▄▌▆▅▌ ▊▊▋▅▍▆ ▅▋▅▊▅ ▆▋▌▆ ▊▄▉▌▉▄█▋ █▋ ▇▌▌▌▋█▊▆▍▊▍▉▇▅▆▉█▉▍ ▍▍▅▋▉▄▄ ▇█▊▌▅ ▍▆▇▊▇▆▌▇ ▆█▄▌ ▆▆▅▊ ▇▉▄
Today
Update demos to read the new batched packet format
Today
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
Today
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
Today
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
Today
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
Yesterday
merge from fix_switch_ammo_reload -> main
Yesterday
Test to prove it's fixed
Yesterday
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
Yesterday
Add uploading of signs / sculptures / voicemails to our backend - simple retry: try 1x per minute, give up after 5x attempts
Yesterday
merge from fix_cookable_created_alloc -> main
Yesterday
Fix ItemModCookable allocating a new delegate every time an item is created
3 Days Ago
merge from cache_entity_links -> main
3 Days Ago
Update comment
3 Days Ago
Re-add the "Restoring X/100,000 links" for cases where the cache links aren't used
3 Days Ago
Pass `serverStartup` parameter into RestoringLoadedEntityLinks() so we don't call RCON.Update() when pasting with copypaste - probably harmless but it bugged me
3 Days Ago
merge from cache_ocean_path -> main
3 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
3 Days Ago
Codegen
3 Days Ago
Update test list
3 Days Ago
merge from main -> cache_entity_links
3 Days Ago
merge from optimize_duplicate_player_check -> main
3 Days Ago
merge from optimize_enforce_limits -> main
3 Days Ago
merge from fix_steam_setkey_crash -> main
3 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
4 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
4 Days Ago
Optimize server startup time by 24s (254s -> 230s) by using HashSet to check for duplicate player models
4 Days Ago
Fix test attribute
5 Days Ago
Tests
5 Days Ago
Codegen
5 Days Ago
Add global const for "entity_links" version so we can invalidate all entity links when needed
5 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)
6 Days Ago
merge from softcore_tc_limit/map_icons -> main
6 Days Ago
Update test list
6 Days Ago
Fix test attribute
6 Days Ago
merge from optimize_spawn_distribution_simple -> main
6 Days Ago
merge from main -> softcore_tc_limit/map_icons
6 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)
6 Days Ago
Fix other map views (MLRS, vending, etc) showing TCs on it
7 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
7 Days Ago
Don't build quadtree for spawn distributions that feed in a zero length array
7 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)
7 Days Ago
Fix tool cupboards still showing on the map if the replicated convar for max TCs is disabled at runtime
8 Days Ago
update softcore_tc_limit/map_icons
8 Days Ago
merge from main -> softcore_tc_limit