5,937 Commits over 3,987 Days - 0.06cph!
Fixing several pooling related bugs that would cause excessive GC on the server (especially when but not limited to multithreaded networking)
Applying EAC's own C# wrapper pinning fix (keeping my previous fix in place as it's expected to yield better multithreading performance)
Fixing memory pool sizes of NetRead and NetWrite
Fixing NRE in main menu when client has multithreaded networking enabled (which is always the case in the editor)
Fixing various fuckups from changeset
79369
Network++
Changing server MaxReceiveTime default value from 20 to 50 (leads to better performance overall, especially with multithreaded networking)
More EOS pinning improvements
Applying EACServer fixes to EAC
Rolling back ArrayPool removal from NetWrite and NetRead
EACServer experiments / debugging (continued)
EACServer experiments / debugging (continued)
EACServer experiments / debugging (continued)
EACServer experiments / debugging (continued)
EACServer experiments / debugging (continued)
Adding missing lock around EACServer tick
More EACServer lock experiments
Removing stopwatch / forced cycle from all worker threads (redundant since 79169)
Only log one warning when SkeletonProperties.boneReference is null (instead of spamming one for every bone)
Increasing MaxReadQueue, MaxWriteQueue and MaxDecryptQueue values to 5000 on the server
Adding profiler samples to BaseNetwork.EnqueueWrite
Adding protect and unprotect locks to EACServer (debugging / testing)
More granular locking
Added warning when main thread is stalling (waiting for write thread)
When kicking / disconnecting a connection, make sure the decrypt thread isn't currently using it
Adding several convars to configure and debug multithreaded networking
Pool performance issue debugging
Changing the default pool prewarm count to 1 of each instead of 10 of each (some frequently used prefab types still prewarm with 100)
Fixed several errors during demo playback
Merge from multithreaded_networking_3 (disabled by default)
Subtracting multithreaded_networking_2 (problem with world.transfer)
Merge from multithreaded_networking_2 (disabled by default)
Full game manifest update
Reserialize prefabs (these changes can be overwritten if you have changes of an affected prefab on a branch)
BuildingProximity.GetProximity: additional checks added in early December now only run on the server (fix attempt for FPS drop when using building planner)
Fixed xmas dungeons not disabling their environment volume trigger when entering the pool on the client
Fixed several edge cases that could call into EOS API with invalid client handle
Fixed BoundsCheck.ApplyBoundsChecks not doing the correct fallback bounds check when no BoundsCheck components exist (also optimized it a little bit in the process)
Call MissionManifest.Get towards the end of Bootstrap.StartServer to make sure it's cached before players can join the server
▋▅█▊▌▋▆ ▊▆▌▇▊██▌▌▊▌ / ▅█▉▌▄▌▋▆▉▊▍ ▅▋▇▇█▊ ▌▌██ ▅▅▆▍
Added convars: steamsendratemin, steamsendratemax, steamnagletime
▉▌▊▊▄ ▊▅▇▆▊▉▄█▌▆▆ ▌▊▇▄ ██▆▉ █▇▆▋▋ ▊▆▄▉▆▉▉ ▊▄▍▄▉▌▉ ▄▄▇▍ ▌▇▉ ▉▆▊█▇▅ / ▉▅▅▋ ██▉▉▇█ ▉▆▇▋▉ ▌▋▆█▊ ▌▆▉▅▇▇█▅▄▄ █▅▌█▍▉▌ ▅▊▅▆ ▍▊ ▉▌▋█▊ (▄▋▉▇ ▍▋▆▇▉ ▄█▄▍ ▇█▇▍ ██▍▋▄ ▍▉ ▉▇▇ ▌▉▍▆▉▍ ▌▅▇ █▅▅ ▅▅▊▍▋▋▊▅▌ ▉▇ ▉█▆ ▉▌▍▋ ▍▋▊, ▇▇▋ ▊▌▌▅▅ ▆▅▌▌▆ ▆ ▌▄▄)
Print connection protocol in console instead of integer value
▊█▌▌▋ ▅▆▊▄▅▊▉▍▆▇▇▌▇█▊▆ ▅▆▅▄ █▆ █▆▉▋▌ ▉▉▅▌▄▄▊▇█▅ (▇▍▉▅▉▅ ▌█ ▅▄▌▊▍ █▆▊▌▆▍▋███ ▋▄▇▄█▇▋ ▋▅ ▅▅▌▆▉▌▌▄▊)
▉▌██ ▌▇▇▊▋█▆ ▍▉▅▍▅▄▅ █▌▍▊▌█▌▅ █▆▊▌ ▄▇ ▋██▌▇▋.▆▆▌▉▅ ▋▉ ▇▍▅▊ ▅▍ ▅▇▆▉▍▍.▍▊▊▌▅▍▌█ ▌▆▄ ▋▅▋ (▆▌▆▍ ██▅▍█▆ ▇▉█▍▌▍█▍▉▌▇▅▊ ▇▋▉▇▆▊▅ ▌█▉▇▊▆▅▆▄ █▌▄▆▇▉▉▉ ▌▉▌▋▅▅▇ █▅▆ ▌▅▌ ▅▌▆▆█▍▄▄ ▇▉▋▅▌▅▍)
Fixed error in RustPlatformHooks.ServerParameters when rendering skin icons inside editor (was not handling zero query port correctly when Steam Networking is used)
Added server.netprotocol convar that prints the server protocol tag (rak for raknet or sw for steamworks)
Merge from SteamNetworking_ByDefault
Let's try adding macos back to Rust.Harmony.asmdef to resolve editor errors (will need to ifdef everything out entirely on macos if this doesn't work)