128,743 Commits over 4,201 Days - 1.28cph!
    
    
    
        
            
            
            
                
                Fixed entrance portal spawning out of the terrain margin on small terrain maps, player were killed before reaching it
                
                
                
                
             
         
        
            
            
            
                
                Make username optional field since it's not included anymore
                
                
                
                
             
         
        
            
            
            
                
                Optimize turret & TC to use HashSet<ulong> instead of List<PlayerNameID>
- makes it faster for them to check auth
- protobuf data still uses PlayerNameID but only saves steam id for backwards compatability
                
                
                
                
             
         
        
            
            
            
                
                █▇▊▅▌▄ █▊▌▍▌▉▊▌▄▌ ▋▌▆▋▇▇▉ ▌▍█▉▅ ▍▍▍ ▉█▆▄▋▊▍▅▆▋ ▇▍ ▋▌▋▌▄▅▇.▄▄▇▊ ▅▄▋ ▌▆██▇▊▍▍ ▆▅█▋ `▆▆▌▋▍▍▄▇▌▍_▅▉▉▍_▊▍▍_▆▌▄▍▄▋▋▋` - ▋█ ▊▄▌▉ ▊█▆▌▅▅▆ ▇▊▅▋▍▍▄▌ ▍▇▄▍▍ ▄▆▇▌▆█▅▄▆▉█ ▆▄ ▇▉▅ ▆▄█▋▋▍▆▍▆▅ ▌▊▌ ▋▄▉ ▄▌▉▇▄ █▊▋ ▄▅▄▅▋█▌▉█▊▋ ▇▊ ▆▆▅ ▄█▉ ▅▉█▅██▌▆ ▅▌ ▅▅▋█, ▋▊▉▌▄▅▌ ▆▆▅▆ ▄▋▍ ▌▊█▇▊▍█▅ ▊▄▊▊▍▅▋▋▆▉▍ ▍▍▉▊ ▇▍▆▋▍ ▆▆▍█▋▍█▉█▌█.
▌▍▉▄▉▆█▆▊▉ ▉▌▊▄▋▄▆▍▄ ▇▇ ▅▉▌▇ ▄▅▌▄▋▅▆ █▄▅▍▇█▅ ▅█▄▅ █▋▇▇
                
                
                
                
             
         
        
        
            
            
            
                
                Apply oil rig changes via S2P
Add support for different sounds for large/small oil rig
                
                
                
                
             
         
        
        
        
            
            
            
                
                merge from naval_update/island_scenes
                
                
                
                
             
         
        
        
            
            
            
                
                Optimize BasePlayer.FindById() since it's used throughout the codebase
- add Dictionary<ulong,BasePlayer> for online & offline players
- speed up string search methods by first seeing if the string is a steam id & calling FindById() methods first
                
                
                
                
             
         
        
        
            
            
            
                
                updated viewmodels anims, re-designed animator
                
                
                
                
             
         
        
            
            
            
                
                extend_menu_loadingscreen -> main
                
                
                
                
             
         
        
        
            
            
            
                
                extend_menu_loadingscreen -> main
                
                
                
                
             
         
        
            
            
            
                
                Add 'finalising' step to the main menu loading screen (only the very first one), this masks any final extra processing steps that are required and helps shield the user from a bad stutter 
We were showing the menu slightly too early before processing was fully complete
                
                
                
                
             
         
        
            
            
            
                
                prioritise_premium_community_2 -> main
                
                
                
                
             
         
        
            
            
            
                
                Only show prioritise premium if the browser can even support it
Ensure it only works for the official category
                
                
                
                
             
         
        
            
            
            
                
                twitch_modal_dash_support -> main
                
                
                
                
             
         
        
            
            
            
                
                Support loading twitch drop campaign image from the dash
Load when first starting up the menu
                
                
                
                
             
         
        
            
            
            
                
                server_browser_budgeting -> main
                
                
                
                
             
         
        
            
            
            
                
                Use a stopwatch to check how long we are taking on the current ServerCacheQuery batch, if over 2ms then yield for the next frame, or continuously allow processing up to 50 elements per time
This (in reality) results in a constant overhead of 4ms until the results are processed rather than a single lag spike. I think its better and can be tuned a bit more in future by just upping the budget
By the time you've click the server browser a few seconds have passed and most of the queue is empty anyway
                
                
                
                
             
         
        
            
            
            
                
                Drop match ServerInfo creation batch size from 500 to 50, and use Task.Yield() rather than delay
                
                
                
                
             
         
        
            
            
            
                
                Fixes for hit particle timings
                
                
                
                
             
         
        
        
            
            
            
                
                Do the mode parsing inside the ServerInfo single loop itself. This saves us around 15% of total ms cost per server info constructor creation
Ends up saving around 14ms~ when creating a batch of 500 ServerInfos
                
                
                
                
             
         
        
        
            
            
            
                
                Add `forceaddtoteam <steamid> <team?>` command to add online (or offline) players to team
                
                
                
                
             
         
        
            
            
            
                
                Do not allow queueing again tiles that are actively being  rebuilt, removes the need for locks on the hashset. Maybe we need to remove from the queue the tile, and add it to the end of the queue if someone asks to rebuild it again.
                
                
                
                
             
         
        
            
            
            
                
                Replace concurrent queue and semaphore with blocking collection for job requests, and ConcurrentQueue with ConcurrentBag for job results (order does not matter)
                
                
                
                
             
         
        
            
            
            
                
                Fix tile never being removed from dict if using sync mode
                
                
                
                
             
         
        
            
            
            
                
                merge from menu_stalls_fix
                
                
                
                
             
         
        
            
            
            
                
                Tweaked the budget of the steam inventory recipe warmup, to avoid causing stalls after bootstrap is released
                
                
                
                
             
         
        
            
            
            
                
                ▆▊▋█▆▇▄ ▉▋█▄ ▉▇▌▄▊▋▌▌ ▇▋▄▅▇▄_▆▉▅▅▋▉▇▇ ▄▉▊▆▌ ▉▌ ▇█▇ ▄▉▊▌▆▇ ▋▆█▍█▅_▆▉▇█▍▋▍█ ▄▍ ▊▅ ▇▆█ ▇ ▌▇▄▄▆▊ ▄▌▇. █▇▌██▄ █▍▌▇ ▄▌█▉▄█▄▇ ▅▌▉▉▄▌ ▇▇▅▍█▌▉█ ▉▅ ▉█ ▄▍▉▍▆▆█ ▌▇▉█▋▍ ▉▆▇▍▍▋▍▆ ▄▄▅▍██▍ ▌▉▆▆ ▄▉ █▄▌▆ ▊▆▄▅█'▌ ▌▇▄ ▍▊▆▉▉▇▊▆ ▄▍ ▇▍▋ ▋▉▄▋▆▆▋▇▅▆█▊
                
                
                
                
             
         
        
            
            
            
                
                ▋▇▄ ▆▌▉▊▄ ▉ ▅▆▋▊ ▇▇▍▇▆▌▄▉▌▍▍▍ ▊▋▉▌ ▌▅▅▍▍▆▉▇▅▇ ▆▊▅▋▍▍▌█▆▆ ▊▅▄▆▆▍▍█▄▇ ▅▋ ▄▅▊▍▅▋▊▄ ▌▉▅▌▉▇█▄, ▍▄▄▅█▇▆▋ ▅▌ ▋▄▆ ▅▇▌▆█▉▍▅ ▄ ▌▄▌▆. █▄▍ ▅▊▌▉▍█ ▄▆▄ ▇▋▍▌▌▆▄ ▊▋▊▆▇▊▄▌ █▍ ▍▅▄ ▆ ▆▍▆▌▍ ▅▌█▇▋ ▇▊▅▅▋ ▄▆▅▉ ▍▆█▋▋▊ █▊▄▄ ▄█▌ ▅ ▋▄▌▊ ▄▌▄▅ ▅▇▌▌▋://▉▌▄█▋.▋▊▅▄▌▅█▆▉.▉▌▇/▇▆▉█▇/▅▍▇▅▇█▋▄/▄▌▍▍▍▋▍_▊▇▊▆▄▊▆▊▆▌.▆▉▆
▌▄▊▇ ▆▅▋▅▄▉█▅ ▇▄▋▇▉▆ ▉▋▍▋▄▊ ▇▇▊▌▆ ▅▆▄ ▍█▅▍ ▆▉ ▊▋▄▌▊ ▋▆▄▋▊█▇▋▉ ▊▋▇▅ ▄▍▄▌█▌▌▍ ▆▇ ▆▌▌▋ ▄▄▊▌▋▄▅▆█. ▆▊ ▄█▍█▋▇▅▅▄▍ ▆█▋▆▆▄▊█ ▌▋▌▋▊▇▋▍ ▌▄ ▆▍▋▉▋▅██ ▌▉▉▍▄▋ & ▋▌▋▉▌▉ █▄█▋▉█ ▌▆▋▊▋▋▉ ▄▌▄▅ ▋▊▉▌ ▌▅ ▅▍▍▋.
                
                
                
                
             
         
        
            
            
            
                
                Reserve some background threads for the navmesh
                
                
                
                
             
         
        
            
            
            
                
                merge from mesh-guide-shader-improvements (fix missing shaders)
                
                
                
                
             
         
        
        
            
            
            
                
                Send steamId of teammate when sending player name (should only network to teammates / self) & lookup name with NameHelper if steam id is provided on client
- allows steam nicknames to show instead of server names
                
                
                
                
             
         
        
            
            
            
                
                report error, abort rendering if shader missing
                
                
                
                
             
         
        
            
            
            
                
                add guide mesh shaders to always included list
                
                
                
                
             
         
        
            
            
            
                
                merge from marker_teleport_reset_fix
                
                
                
                
             
         
        
            
            
            
                
                ▆▍▊▉▌▆▋ ▄▌▄▄▉▉ ▌▍▆▄▊▆█ :▊█▆▇▋█▌▍:
                
                
                
                
             
         
        
        
            
            
            
                
                merge from fix_custom_item_icon_description -> main
                
                
                
                
             
         
        
            
            
            
                
                Fix NRE when joining server with custom icon due to CommunityEntity not being networked yet
                
                
                
                
             
         
        
            
            
            
                
                Fix custom item icon from modding not showing the custom icon in the item's description
                
                
                
                
             
         
        
            
            
            
                
                subtract 
132264 mesh-guide-shader-improvements