userJake_Richcancel
reporust_rebootcancel

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

Today
Fix server collider for sail having both the "lowered" and "raised" colliders active after it was first spawned
Today
Add 50MB zip test case
Today
Add ability for room occlusion to take one of the newer saves with cached entity links and export that directly to a full server state of the world (instead of only splitting it into multiple copy paste files) - allows loading an entire server to benchmark performance - can now zip base occlusion test fixtures because JSON files don't scale well to 400MB (who would have expected)
Today
Tests
Today
Codegen
Today
Fixed building blocks being destroyed causing doors to be recalculated when they didn't need to be
Today
merge from main -> base_occlusion
Today
merge from main -> fix_sail_guide_mismatch
Today
Add automated tests for placing foundations in rocks
Yesterday
merge from main -> ugc_censor_option
Yesterday
merge from main -> fix_foundation_clipping_rocks
Yesterday
merge from optimize_decay_frame_budget -> main
Yesterday
merge from softcore_disable_corpses -> main
Yesterday
Disable deployable corpse system in softcore Increase max TCs in softcore from 3 -> 6 - fix "changelog" in main menu not reflecting the max TC count when convar is changed
3 Days Ago
Make search after wall is destroyed stop once both sides reach eachother
3 Days Ago
Fix rooms being regenerated when changes were made instead of only regenerating the modified parts
3 Days Ago
Switch to IList to prevent boxing
3 Days Ago
Check the 2d spatial index for rooms first before using Vis.Entities() to find a player's nearby room
3 Days Ago
merge from fix_tc_upkeep_spacing -> main
3 Days Ago
Set horizontal spacing to 12px
3 Days Ago
merge from analytics_apartment_breakin -> main
3 Days Ago
Send apartment contents every 1hr - also send when break-ins happen & when players are evicted for not paying rent
3 Days Ago
merge from main -> base_occlusion
3 Days Ago
Add 4px spacing between the upkeep labels to fix large upkeep numbers overlapping
3 Days Ago
Move upkeep value label 4px down after centering it
4 Days Ago
Add missing analytics for apartments - evictions - apartment value at the time of break-ins (expose raw value from method)
4 Days Ago
Reserialize TC loot panel prefab first so we can have a clean diff
4 Days Ago
- try catch the upload so we can remove it from the queue if it fails - fix static fields not resetting in editor
4 Days Ago
Formatting
4 Days Ago
Add "GetByCrc()" method to FileStorage so we can find files solely by their CRC Fix the cache not having the EntityID being updated when using ReassignEntityId() - will fold these into the FileStorage refactor when it lands
4 Days Ago
Codegen
4 Days Ago
Update the UGC uploader to reference FileStorage too instead of buffering in memory - references CRC, won't upload if the image has been deleted / modified since - add debouncing so it won't upload images from a sign until a small delay (example: autosave sends image every 30s)
4 Days Ago
When queuing a sign to be uploaded use the imageId instead of the raw data so we can buffer images in filestorage instead of keeping a 2nd copy in memory
4 Days Ago
Don't send voicemails & sculptures - not planning to moderate them, keep it simple by not sending them
4 Days Ago
merge from main -> ugc_censor_option
7 Days Ago
merge from main -> optimize_position_update
8 Days Ago
Fix bases decaying despite TC having upkeep when the decay tick gets slowed down on very high entity count servers - change decay tick from being a hardcoded 5 entities per tick to budgetted to 0.25ms per tick - in practice most servers won't hit this: this is 200k decay entities & 10 server FPS to start reaching the budget - paces so we don't burn budget looping through the list too quickly
8 Days Ago
Switch batches from channel 1 -> channel 0 so it's ordered with all the other packets (since we no longer use unordered for position packets)
8 Days Ago
Lower quant from 1cm -> 1mm for position - switch from sending delta position to sending quantized acceleration so we can keep 1 byte per update after moving to a 10x smaller quant - if acceleration is larger than 0.127m / tick then it will send full acceleration (allows it to support instant teleports and large changes in velocity) - will fine-tune values further
8 Days Ago
Only check if quant settings have changed once per frame in flush instead of every single position packet
8 Days Ago
Switch from generic stream -> BufferStream in the EntityPositionBatchReader since both demos and network data share the same class of stream for packets
8 Days Ago
Send positions & rotations quantized - reduce the 3x positions floats from 4 -> 1 bytes when they are within 1.27m per tick (1cm quantization) - reduce the 3x rotations from 4 -> 1 byte when they are within 25 degrees per tick (0.2 degree quantization) - will fine tune the values if it's too high a quant - fallback to sending the full value when it changes by more than a delta - tell the client what the quantization is so it can be changed during the session and be captured by demos
8 Days Ago
merge from server_packet_capture -> main
8 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
8 Days Ago
Codegen
9 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)
9 Days Ago
merge from optimize_upkeep_multiplier -> main
9 Days Ago
Refactor + cleanup
9 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
9 Days Ago
Tests