userDaniel Pcancel
branchrust_reboot/maincancel

185 Commits over 487 Days - 0.02cph!

Today
Merge: from networkcache_stalegroup - Bugfix for vanishing child entities (l-ike drybox on rhib) Tests: spawned rhib, teleported far then back after pause, paused again - all parts stayed in place
4 Days Ago
Merge: from randomize_junkpile_checkempty - minor optim to load balance JunkPile::CheckEmpty Tests: looted one on craggy, saw it disappear
4 Days Ago
Merge: from procpop_debug - Bugfix: fix DensitySpawnPopulation prefab pool being starved out, resulting in failed spawn attempts - Optim: DensitySpawnPopulation early exits if it reached prefab population target isntead of continuing to try to spawn - New: spawn.report now contains info about failed iterations and how many entities it recently spawned - New: spawn.dump_map <pop> [count] which simulates spawns and generates pngs indicating general spawn area and attempted spawns. Pngs in <server_ident>/debug. Tests: 4.5k procgen in editor - server started with full junkpile pop, simulated spawn gave better numbers
6 Days Ago
▆▅▇▍▇: █▌▋▄ ▋▊▌▊▆_▉▋▍█▊▆ - ▌▆▉▉▊▍▍▅▊▊▋▋▄ ▊█▆▊▉▉ - ▅▉▉▋▍▅ ▊▋▊ ▉▍▉ █▆ ▆▌▄▊▋▇ ▇▉▊▅▇▍▌▌▄ ▋▇ ▅█▌▉▊▆█▉█▍▅▆▊▊▅▆█▋▌█▉▌▅▅ ▉▌██▄: ▆▌▋▌, ▆▌▄▊▋▊▉ ▉▅▇▇▆▇
8 Days Ago
Merge: from invis_phantom - Bugfix: old ServerOcclusion logic could spawn a phantom player on the client for invis players Tests: on a fresh server tried to come into range of invis player - phantom no longer spawns. Validated UsePlayerUpdateJobs 0, 1, 2
11 Days Ago
Merge: from spectate_3p_fix - Bugfix for spectating yourself causing a client crash Tests: tried to spectate via F1 menu - no longer possible
11 Days Ago
Merge: from spectate_3p_fix - Bugfix: fixes 3rd person spectate camera not following spectated player Tests: spectated target in 3rd person while original body was in a box - camera orbitted target as expected
11 Days Ago
Merge: from jobs_noclip_mask_fix - Bugfix for UsePlayerUpdateJobs > 0 NoClip checks incorrectly using vehicle layer mask - Updated unit test to check for above case Tests: ran unit test, tried to push against modular vehicles on craggy
11 Days Ago
Merge: from jobs_coarsedist_crashfix - Bugfix: fixes crash when players connect to a fresh server with UsePlayerUpdateJobs > 0 Tests: local C+S with UsePlayerUpdateJobs 2 enabled from the start - no more exceptions by height and shoredist jobs
12 Days Ago
Merge: from main - Bugfix: Removes client-side network group setting when updating parents - fixes phantom entities on cargoship and other global network entities Tests: flew around craggy, was able to pick up items, chop trees, kill animals. spawned cargoship and dropped items on it, spawned dressed player & killed him, then deleted them using console cmd - they got cleaned up as expected
12 Days Ago
Bugfix: handle spawn groups on non-baseentity gameobjects Tests: procgen 2.5k in editor
22 Days Ago
Merge: from hackweek_jit_explorer - Buildfix for missing type definitions Tests: built scripts in all editor modes
22 Days Ago
Merge: from hackweek_jit_explorer - New(editor): Tools/Engine/Jit Viewer that allows to inspect native instruction output from JIT compiling managed methods Tests: used Jit Viewer to inspect BasePlayer::ServerUpdate. Ran perfsnapshot in C+S editor
32 Days Ago
Merge: from spectate_related_cmd_fixes - sleeping-/usersinrange commands now run from spectated player's position, if spectating Tests: used commands when spectating
32 Days Ago
Merge: from spectate_command_fix - Bugfix for spectate doing nothing when spectating far-away player - Bugfix for error on respawn after spectate if previously didn't have a spectate target Tests: used spectate out of network range 10 times in a row, used keybind to spectate twice in a row - no issues
35 Days Ago
Merge: from baseplayer_serverupdateparallel - Optim for OcclusionV2 - remove extra hash lookup in a busy loop Tests: with UsePlayerUpdateJobs 2 - toggled invis in close proximity and far away, suicided away from spawn and flew back, teleported around
35 Days Ago
Merge: from baseplayer_serverupdateparallel - Bugfix for UsePlayerUpdateJobs 2 not replicating players for spectators - Bugfix for leaking players in occlusion groups Tests: spectated players from far away. Inspected server state after killing a sleeper
35 Days Ago
Merge: from spectate_dontfloodsnapshots - Bugfix for occlusion not destroying all players in UsePlayerUpdateJobs 2 mode Tests: 2p on craggy - used hill as obstruction, checked entity lists on both clients in editor
36 Days Ago
Merge: from spectate_dontfloodsnapshots - Fixes spectate not working in UsePlayerUpdateJobs 2 case Tests: tried to spectate occluded player
39 Days Ago
Merge: from analytics_entity_createdestroy - minor code clean Tests: editor compiles
39 Days Ago
Merge: from analytics_entity_createdestroy - we now collect entity spawn and destroy events once the server has started up (part of `gameplay_analytics` servervar) Tests: observed logs of analytics in CLIENT+SERVER editor
39 Days Ago
Merge: from server_occlusion_poppin - Reduce player poppin by making occlusion grid generation more conservative - Bumped occlusion version, will cause regeneration on next server boot Tests: visualized in editor, ran previously failed queries
40 Days Ago
Merge: from hide_getinternalarrayunsafe - Replaces dangerous API with a safer, updates existing use cases Tests: unit tests
40 Days Ago
Merge: from analytics_v2_expose_telem - Fixes CLient crash when running analytics.tablestats or uploaderstats Tests: built standalone and ran the commands - no crash
41 Days Ago
Merge: from spectate_dontfloodsnapshots - reduce potential delay when starting to spectate a far-away player Tests: flew around 2k procgen map, got to the other side of it then spectated player on the opposite end.
42 Days Ago
Merge: from networkpositiontick_reduce - Optim: buoys, containers, water-junkpiles and vines no longer always replicate their position. Reduces number of NetworkPositionTick invokes from 2309 down to 522 on 4.5k map Tests: interacted with each prefab type, observed up close and from afar
43 Days Ago
Update: Enable AnalyticsV2 by default Staging servers ran this for a couple days now and this'll switch over clients as well. Tests: none, trivial change
47 Days Ago
Merge: from analytics_v2_expose_telem - Can view AnalyticsV2 stats via analytics.stats, analytics.tablestats and analytics.uploaderstats Tests: used above to check stats in editor
47 Days Ago
Merge: from voice_when_invis_fixes - Voice chat is now heard by nearby invisible players and spectators Tests: tested voice replication between 2 players, when invis and when spectating. invis case also tested disconnect-reconnect while invis.
48 Days Ago
Update: minor ServerProfiler function filtering adjustment - built from b90a83e5 Was annotating everything from SubGrid, instead of ignoring everything Tests: unit tests
49 Days Ago
Merge: from baseplayer_serverupdateparallel - Optimizes ServerOcclusion by reordering work and reducing number of pairs considered - Optimizes parallel snapshot send out by reducing Pool contention - General optims via reduced profiler instrumentation (new ServerProfiler.Core binaries) Tests: 2p session on craggy with teleporting around and various occlusion scenarios (invis, dead, normal occluded, in view)
49 Days Ago
Merge: from spectating_disconnect_nre_fix - Bugfix for server NRE when spectating player disconnects Tests: 2p on Craggy, disconnected while spectating - no more NRE
49 Days Ago
Merge: from basepalyer_netgroup_interit_fix - Fixes cargoships(and other global entities) putting players into global network group which stops replication with "outside" world Tests: 2p session on Craggy, spawned a cargo ship and threw items, killed other player, tried spectating
50 Days Ago
Merge: from analytics_queue_rewrite - Bugfix for missing session-start event from Client, invalid session-end event from Client, malformed json aggregation - Added support to edit upload intervals (tied to existing same server vars) - Adjusted uploaders for some tables to avoid trying to send to our backend Tests: unit tests + manual testing on Craggy (S+C mode) and Bootstrap (C only)
53 Days Ago
Merge: from analytics_save - Adds a "save" event tracking when server creates a save Tests: triggered save in editor with logging
55 Days Ago
Buildfix: add missing CLIENT guards Tests: build all configs locally
55 Days Ago
Merge: from analytics_queue_rewrite - New analytics uploading backend, disabled by default (analytics.usev2) - New debug vars - analytics.log and analytics.dryrun Tests: unit tests, used both old and new analytics backends and monitored logs
56 Days Ago
Merge: from baseplayer_vis_nre - Simplified how debug.invis works - Reimplemented how global.spectate and spectateid work - spectator no longer parents to the spectated player - Tightened existing debug logs around mystery baseplayer NRE. This eliminates a source of potential NREs related to players spectating others, but doesn't outright forbid them Tests: 2p sesions on Craggy, one player spectates other - killed scientist with AK(hs audio replicated), helicopter fly around, motorbike ride around, noclipped outside of usual network range and back, cycled invis, left the server and returned - no issues. Tried debug camera.
2 Months Ago
Merge: from baseplayer_vis_nre - fixed false positive logging, better logs Tests: built standalone and connected to staging server - no extra errors on connect
2 Months Ago
Buildfix: add missing namespace using Tests: none, trivial change
2 Months Ago
Merge: from analytics_track_menu_times - Client analytics now aggregates frametimes, lag spikes and gc events into InGame, MainMenu, Inventory, Crafting, Contacts and Map groups - Skip sending lag spikes and gc counts if there were none during performance logging tick Tests: observerd client_perf analytics ticks in editor with debug code
2 Months Ago
Merge: from server_occlusion_gen_reorder_narrowphase - Bugfix for ServerOcclusion potentially crashing during generation Tests: generated custom map that had a consistent crash and a default 4.5k procgen editor world
2 Months Ago
Merge: from baseplayer_vis_nre - Potential(low chance) bugfix for NRE on spectate end - Breadcrumbs in case it's not fixed Tests: editor and standalone build spectating loop
3 Months Ago
Bugfix(editor): LoadMapFile - don't NRE when no scene is loaded and Server Occlusio Debug is open Tests: used in editor
3 Months Ago
Merge: from server_occlusion_poppin - Bugfix: fixes false-negative occlusion queries at the top of the hills - Bugfix: fixes false-positive occlusion queries while looking through a hill - Optim: sped up occlusion cache generation by 65%+ (4.5k from 134s -> 50s, can be faster with sufficient RAM) - Editor: extended LoadMapFile with Server Occlusion debug tools Tests: generated reported bug case and visualized and debug traced. Generated 6k, 4.5k, 2k and Craggy to confirm generation doesn't crash.
3 Months Ago
Merge: from baseplayer_serverupdateparallel - Bugfix/Update: don't use parallel snapshot sending in UsePlayerUpdateJobs 1 (it's a level 2 feature) Tests: used both modes in Craggy, confirmed things are working
3 Months Ago
Merge: from baseplayer_serverupdateparallel - Bugfix for frequently disabling UsePlayerUpdateJobs leading to player cache desync Tests: wrote a unit test that confirms the bug and confirms the fix
3 Months Ago
Merge: from baseplayer_serverupdateparallel - Bugfix: PlayerCache can no longer desync when disabling UsePlayerUpdateJobs - Optim: removed couple extra allocs in UsePlayerUpdateJobs 2 Tests: ran unit tests + bunch of disable-enable of UsePlayerUpdateJobs in local session
3 Months Ago
Merge: from sleepignbag_assign_to_friend_bug - Bugfixes for sleeping bag friend assignation, making private and "make bed" action not replicating to the new owner fully - Added sleepingbag.assigntoplayer <bag entity id> and clearfromplayer <bag entity id> server vars for testing Tests: spawned sleeping bag and bed and used above functionaility while assigning/clearing from self - was visible on map when expected.
3 Months Ago
Merge: from steamworks_posix_fix - Bugfix for mods not beign able to work with Steamworks.Linux.dll - we go back to shipping Posix.dll Tests: Built server standalone for Windows and Linux from Windows