userDaniel Pcancel
reporust_rebootcancel

2,462 Commits over 608 Days - 0.17cph!

Today
Clean: simplify sync from flying cache back to players Tests: none, trivial change
Today
Clean: annotate AreFlying jobs with context comments - got rid of ref and added ReadOnly in a couple places Tests: compiles
Today
Merge: from reorganize_unit_tests - Buildfix Tests: switched through all modes
Today
Buildfix(tests): add a missing SERVER macro guard Tests: clicked through all modes - all compile
Today
Merge: from reorganize_unit_tests - Clean(tests): reorganize unit test structure - all test classes are either in Tests.Unit or Tests.Perf or both namespaces - Bugfix(tests): patch up a bunch of test classes so that they work properly Tests: ran all unit tests. some spurriously fail as part of big batch, but individual test classes pass.
Today
Merge: from main
Today
Bugfix(tests): patch up ServerOcclusionTests - replace out-of-date occlusion cache with a new one based on Craggy - update CanSee and CantSee chunk pairs - add missing initialization Tests: ran ServerOcclusion unit tests - they pass
Today
Bugfix(tests): CompanionServerTests - switch to persistent ClanManager - ClanManagedDB now also lives in a temp folder for tests - some tests now drain any backlogged traffic on the test socket Tests: all CompanionServerTests unit tests pass consistently (finally)
Today
Bugfix(tests): CompanionServerTests - use persistent RelationshipManager - house RelationshipManagerDB in a temp folder Tests: ran CompanionServerTests unit tests, 1 sporadically fails
Today
Bugfix(tests): CompanionServerTests - setup player lookup map Broke since one of our optims way back. Tests: ran CompanionServerTests - now 2 failing
Today
Bugfix(tests): CompanionServerTests - use unique persistence database per test run If a test goes wrong, the cleanup doesn't happen, which borks all the subsequent tests in a run Tests: ran CompanionServerTests - 16 pass, 3 fail
Today
Bugfix(tests): rewrite GrowableGenesTests no allocs tests to use ServerProfiler new api Think my old hacky solution finally broke Tests: ran GrowableGenesTests test - it passes
Today
Bugfix(tests): workaround "don't add editor components" safety check when running editor unit tests Tests: ran GameTraceTests unit tests - they now all pass
Today
Bugfix(tests): fix missing InvokeHandler in GamePhysicsTests Tests: ran GamePhysicsTests unit tests, now all pass
Yesterday
Bugfix(tests): ProjectileTests now pass - Skip god mode overlay setting for local player in tests - explicitly enable main shield collider after spawning Tests: ran ProjectileTests unit tests
Yesterday
Bugfix(tests): fixup ServerProfiler tests that are sensitive to type hierarchies - release binaries from a496e80e Tests: ran ServerProfilerTests
Yesterday
Buildfix(tests): all modes compile Tests: clicked through all modes
Yesterday
Clean(tests): rest of Assembly-CSharp-Editor.dll tests restructure Just gotta make sure all platforms build and check if unit tests pass Tests: none
Yesterday
Merge: from main
Yesterday
Merge: from useplayerupdatejobs3 - Bugfixes for dynamically enabling Jobs 3 mode Tests: unit tests + switched Jobs 2 -> 3 on Craggy in editor
Yesterday
Bugfix: ensure AntiHack states are properly expanded when going from Jobs 2 to Jobs 3 Tests: sanity test on craggy in editor, switched Jobs 2 to 3
Yesterday
Clean: one more unnecessary playerCache passing Tests: compiles
Yesterday
Bugfix: ensure SpeedhackStates and FlyhackStates have sufficient storage - remove playerCache propagation where we already pass a ReadOnlySpan Tests: ran unit tests
Yesterday
Clean(tests): 30% restructure of Assembly-CSharp-Editor.dll tests Tests: none, will rerun once all moved
Yesterday
Clean(tests): restructure Facepunch.System.Tests.dll tests - removed FPTask and associated tests (was experimental code) Tests: ran unit tests
Yesterday
Clean: restructure Rust.Global.Tests.dll tests Tests: ran unit tests. some OBBTests sporadically fail, but pass on 2nd run - think same as before
5 Days Ago
Clean(tests): rename DummyServer -> TestServer Tests: compiles
5 Days Ago
Clean(tests): consolidate various test entities/systems Tests: none, going to happen later
5 Days Ago
Clean(tests): Move test utilities to Tests and Tests.Perf namespaces - replaced manual measurement loops with Test.Perf.MeasureAndPrint Tests: none, leaving till later
5 Days Ago
Merge: from dynamic_object_work_queue_shrinking - Optim: ObjectWorkQueues now shrink to larger capacities overtime Tests: procgen map, ensured outpost turrets still tracked and fired at me
5 Days Ago
Update: debug.printqueues now also prints queue capacity Tests: printed queues while being blasted by turrets
5 Days Ago
Optim: ObjectWorkQueue now shrinks to dynamically adjusted minimal capacity instead of 0 - explicitly calling Clear resets the state back to inital 256 capacity Grows capacity by 10% every minute if 60 overcapacity events have been recorded. This should eliminate allocations for bursty workloads in long term. Tests: visited outpost, got blasted by turrets
5 Days Ago
Merge: from fix_invoke_flood - Optim: prevent repeating invokes flooding work after stalls Tests: observed animals moving normally
5 Days Ago
Optim: change scheduled time for repeating invokes Previously, we would schedule repeating invokes from current time, meaning overtime they would drift towards one frame, causing work spikes. Now we maintain interval in respect to original time, which should preserve original scattering Tests: ran around with a lit torch on procgen, some wildlife moving
6 Days Ago
Merge: from remove_clear_from_unsub - Optim: speed up unsubbign from network groups by skipping clearing their entities from the queue Tests: teleported around 2.5k procgen map
6 Days Ago
Optim: skip clearing entity queue when unsubbing from a network group Was originally done to help with old spectating logic, but it's now handled separately. Tests: teleported around on a 2.5k procgen map
6 Days Ago
Merge: from imrpoved_network_groups/serverocclusion_player_fastpath - Optim: skip unnecessary global occlusion group lookups Tests: unit tests
6 Days Ago
Optim: skip checking global occlusion groups for small and large network grid layers Players can only be on medium layer at the moment. Controlled by a UsePlayerOnlyOnMediumLayerShortcut compile switch Tests: ran unit tests
6 Days Ago
Update: Jobs 3 - enable parallel sub updates switch Tests: none, related unit tests pass
6 Days Ago
Update: pregenerate radius tile offset to avoid potential races Tests: ran unit tests
6 Days Ago
Bugfix(tests): TestNew_LaggyTeleport - fix sleepers incorrect position after recent refactor Tests: ran unit tests, they pass
6 Days Ago
Bugfix(tests): fix incorrectly converted TestNew_MoveOther spawn pos Tests: ran unit tests, now only 1 failure
6 Days Ago
Bugfix(tests): increase DummyServer's network grid from 512 to 1024 Some tests ended up spawning outside of the network grid, leading to test failures. Tests: ran unit tests, from 30 failures down to 9 (2 tests)
6 Days Ago
Update(tests): bring back spawning on boundaries of network ranges Current logic considers those cells to be in range, so rely on that fact. Doesn't fix tests, but validates edge cases Tests: ran unit tests, same tests failt
6 Days Ago
Clean(tests): consolidate network-range-distance calculating logic Got tired of fixing it up manually in every test Tests: ran unit tests, some still fail (likely due to out of network grid bounds cases)
7 Days Ago
Merge: from spectate_stay_after_dc - Update: spectating players now always stay on a disconnected player's sleeper instead of searching for new target Tests: spectated 2nd player, 2nd disconnected, spectator stayed
7 Days Ago
Update: when player disconnects don't try to find a new target for spectators, just let them hoves in 3p Tests: spectated a player that disconnected, stayed on it's sleeper
7 Days Ago
Merge: from main
7 Days Ago
Merge: from useplayerupdatejobs 3 - Optim: new UsePlayerUpdateJobs 3 mode that adds parallelizes more work and reduces task-related allocs - New: our fork of UniTask Tests: unit tests and simple testing on Craggy (booted with Jobs 3, teleported around)
7 Days Ago
Clean(tests): replace more handrolled index set generation with AntiHackTests.GenerateIndexPermutations Tests: ran all afected tests