userJake_Richcancel
reporust_rebootcancel

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

Today
merge from cache_entity_links -> main
Today
Update comment
Today
Re-add the "Restoring X/100,000 links" for cases where the cache links aren't used
Today
Pass `serverStartup` parameter into RestoringLoadedEntityLinks() so we don't call RCON.Update() when pasting with copypaste - probably harmless but it bugged me
Today
merge from cache_ocean_path -> main
Today
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
Today
Codegen
Today
Update test list
Today
merge from main -> cache_entity_links
Today
merge from optimize_duplicate_player_check -> main
Today
merge from optimize_enforce_limits -> main
Today
merge from fix_steam_setkey_crash -> main
Today
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
Yesterday
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
Yesterday
Optimize server startup time by 24s (254s -> 230s) by using HashSet to check for duplicate player models
2 Days Ago
Fix test attribute
3 Days Ago
Tests
3 Days Ago
Codegen
3 Days Ago
Add global const for "entity_links" version so we can invalidate all entity links when needed
3 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)
4 Days Ago
merge from softcore_tc_limit/map_icons -> main
4 Days Ago
Update test list
4 Days Ago
Fix test attribute
4 Days Ago
merge from optimize_spawn_distribution_simple -> main
4 Days Ago
merge from main -> softcore_tc_limit/map_icons
4 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)
4 Days Ago
Fix other map views (MLRS, vending, etc) showing TCs on it
4 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
4 Days Ago
Don't build quadtree for spawn distributions that feed in a zero length array
5 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)
5 Days Ago
Fix tool cupboards still showing on the map if the replicated convar for max TCs is disabled at runtime
6 Days Ago
update softcore_tc_limit/map_icons
6 Days Ago
merge from main -> softcore_tc_limit
6 Days Ago
merge from optimize_world_server_clear/maps -> main - only the server clearing WorldSerialization maps part, not the later NativeArray changes
6 Days Ago
Refactor world.maps.Clear() -> ClearMaps()
6 Days Ago
Codegen
6 Days Ago
Show TCs on the map - only enabled when the TC limit convar is enabled - combines TCs with sleeping bags into clusters just like bags - can toggle TC visibility on the map with a new button just like toggling bags - TC map icons are slightly larger than sleeping bag icons
7 Days Ago
merge from sentry_crash_timestamp -> main
7 Days Ago
Include crash timestamp when uploading to sentry - sentry parses from the minidump but this includes it in the JSON body too - crashes happen in past then are uploaded on next startup so we want to know the difference
7 Days Ago
Update the rest of the code to work with the new NativeArrays for mapdata
7 Days Ago
Add support to TerrainMap to return a NativeArray
7 Days Ago
Switch WorldSerialization to use NativeArray - make sure it frees the MapData explicitly as normally the GC is collecting the managed arrays
7 Days Ago
Codegen
7 Days Ago
Switch the MapData protobuf from managed -> NativeArray<byte>
7 Days Ago
Add support for NativeArray<byte> in protobuf codegen - instead of byte[]
7 Days Ago
Fix the server not clearing unused World Serialization maps - saves about 175MB on 4500 map
7 Days Ago
Reduce memory usage of the server's SpawnDistributions by 750MB (780MB -> 40MB) and make it 3x faster to sample (2.1 us -> 0.7 us) - store in tiles of 16x16 values - 85% of the tiles are all zeros (fun fact) - tiles that are all the same value store as negative tile index so it can avoid looking up the tile (mainly all zeros) - deduplicate the remaining tiles (saves a little more) - palette packing on top for tiles that have mixed values (2 - 4 bits / value) - reduces server startup time from 4s -> 2.5s
7 Days Ago
Set TC items to use the display type of "TC limit" (it's how you configure them to show TC limit when held)
7 Days Ago
Add convar to softcore gamemode prefab - it's `max_tool_cupboards` so could technically be set on any server (but intended only for softcore)
7 Days Ago
Codegen