4,119 Commits over 1,219 Days - 0.14cph!
Update premium modal prefab
Add blue refresh button style
Add manual refresh button code to premium modal
Implement route to manually refresh premium status
merge from fix_spawnitem_ownership -> main
Fix item ownership not applying when using `spawnitem` command
merge from ownership_barrel_fix -> main
Fix item ownership not applying to items from barrels
merge from ranking_change -> premium_servers
Update server browser menu prefab
Only prioritize official premium servers, leave community servers to sort normally regardless of premium status
Fix NRE causing players to get kicked when they loot an empty loot container in primitive
Add `loadclipboard` and `saveclipboard` commands
Allow `copybox`, `copyradius`, `copybuilding` and `paste` to skip name parameter to act like it's using a clipboard by using the filename `clipboard`
Remove duplicate attempts to load ItemDefinition in Item.Load() to a single attempt
Move check for invalid ItemDefinition to the top of Item.Load() instead of halfway through it
▍▄█ ▆█▌▇▅ ▋▋▋█▋▌█ ▊▍▉▋██ ▋▍▌▉ ▆▆▊▇▉▉█ ▇▌█▇▌▅▄▌ ▆▉▉▉▊▇█ ▍▋▅▆█▄▌ ▆▆ ▅▊▊▅▉▋▋ ▆▅▆ ▄▍█▅▌▌ █▍▆ ▍▅▇ ▅▆▋▇▌▆
merge from fix_item_ownership_nre -> main
Fix NRE from Item.Load() method feeding in null ItemDefinition
Prevent other item ownership methods from throwing exception (instead pass empty string)
merge from fix_copy_radius -> main
Fix copyradius not working after moving clientside
Add tests to confirm it converts generic names properly
Fix TypeNameCache having a typo in the regex that converts List`1[int] -> List<int>
merge from fix_ownership_scientist -> main
Fix scientist corpses not assigning item ownership
merge from fix_ownership_giveall -> main
Fix `giveall` saying the player who recieved the item is the player who spawned the item, not the admin who ran the command
Ensure item ownership names are fed through steam's chat filter so vulgar names are filtered if you have steam chat filtering enabled
Fix copy paste not working on procgen maps because the copy_paste entity wasn't set to global network
merge from fix_copy_paste_global -> main
Instead try fixing compile errors by switching to LogWarning() on client
merge from premium_servers -> main
Hide current inventory value (since we don't have that exposed in API yet) and shift "Not Active" text over to compensate
merge from premium-servers-ui-tweaks -> premium_servers
Hide logging behind `log_premium_status` convar
Add PremiumClientCache
- stores last premium result in PlayerPref so it will show last result if web api has issues
- queries web api every 10min to recheck premium status
- switch from convars to check premium to using web api
- add convar `qualify_premium_override` to manually override whether you qualify for premium on the client
- add convar `recheck_premium` to manually refresh premium status
` add convar `premium_refresh_interval` to control how often client checks premium api (default 10min)
Refactor `CheckIfPlayerIsPremium()` so it can be called from both server and client
- don't print errors on client since it will cause a kick
- return struct instead of bool so can get the string message we want to reject connection attempt with
merge from main -> premium_servers
merge from fix_itemodswap_outofrange -> main
Fix IndexOutOfRange from prefabs without random weights in ItemModSwap inside primitive gamemode
Fix premium tag having to be clicked twice to open premium modal
Include 2 more background images for the premium modal
Fix premium tag offset vertically in loading screen
Remove `premiumfilter` test convar
merge from main -> premium_servers
merge from fix_runtime_profiling_pooling -> main
Fix pooling profiling not serializing the generic arguments of types
Fix network pool buffer sizes sending the index of the buffer instead of the size of it
merge from fix_copy_paste_duplicate_entities -> main
Fix copy paste pooling bug that was saving pastes with 2x the entities
merge from from fix_camper_map_marker_unclaim -> main