userJake_Richcancel
reporust_rebootcancel

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

1 Hour Ago
Fix server collider for sail having both the "lowered" and "raised" colliders active after it was first spawned
1 Hour Ago
Add 50MB zip test case
1 Hour Ago
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)
1 Hour Ago
Tests
1 Hour Ago
Codegen
1 Hour Ago
Fixed building blocks being destroyed causing doors to be recalculated when they didn't need to be
3 Hours Ago
merge from main -> base_occlusion
4 Hours Ago
merge from main -> fix_sail_guide_mismatch
4 Hours Ago
Add automated tests for placing foundations in rocks
6 Hours Ago
merge from main -> ugc_censor_option
Today
merge from main -> fix_foundation_clipping_rocks
Today
merge from optimize_decay_frame_budget -> main
Today
merge from softcore_disable_corpses -> main
Today
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
Yesterday
Make search after wall is destroyed stop once both sides reach eachother
2 Days Ago
Fix rooms being regenerated when changes were made instead of only regenerating the modified parts
2 Days Ago
Switch to IList to prevent boxing
2 Days Ago
Check the 2d spatial index for rooms first before using Vis.Entities() to find a player's nearby room
2 Days Ago
merge from fix_tc_upkeep_spacing -> main
2 Days Ago
Set horizontal spacing to 12px
2 Days Ago
merge from analytics_apartment_breakin -> main
2 Days Ago
Send apartment contents every 1hr - also send when break-ins happen & when players are evicted for not paying rent
2 Days Ago
merge from main -> base_occlusion
2 Days Ago
Add 4px spacing between the upkeep labels to fix large upkeep numbers overlapping
2 Days Ago
Move upkeep value label 4px down after centering it
3 Days Ago
Add missing analytics for apartments - evictions - apartment value at the time of break-ins (expose raw value from method)
3 Days Ago
Reserialize TC loot panel prefab first so we can have a clean diff
3 Days Ago
- try catch the upload so we can remove it from the queue if it fails - fix static fields not resetting in editor
3 Days Ago
Formatting
3 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
3 Days Ago
Codegen
3 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)
3 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
3 Days Ago
Don't send voicemails & sculptures - not planning to moderate them, keep it simple by not sending them
3 Days Ago
merge from main -> ugc_censor_option
6 Days Ago
merge from main -> optimize_position_update
7 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
7 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)
7 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
7 Days Ago
Only check if quant settings have changed once per frame in flush instead of every single position packet
7 Days Ago
Switch from generic stream -> BufferStream in the EntityPositionBatchReader since both demos and network data share the same class of stream for packets
7 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
7 Days Ago
merge from server_packet_capture -> main
7 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
7 Days Ago
Codegen
8 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)
8 Days Ago
merge from optimize_upkeep_multiplier -> main
8 Days Ago
Refactor + cleanup
8 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
8 Days Ago
Tests