Client Workshop Improvements:
- Popular and featured workshop item articles can now be dismissed. If the carousel is empty then the next-most popular item is used.
- Featured workshop item subscription can be managed from the title menu.
- Workshop subscriptions changed while in-game are detected and update the maps list.
Server Workshop Improvements:
- Moved WorkshopDownloadIDs.json into WorkshopDownloadConfig.json. Server now caches query results and will retry when query fails.
- Whitelist/blacklist download restrictions are now enforced during connection.
Quality of Life:
- Flashbangs can no longer be used in safezones or around friendly sentry guns.
- Teleport command and NPC teleport rewards now report when destination was obstructed.
- Oxygen now persists between logins to prevent resetting it at high altitudes.
- Stockpile new label is now dismissed when the button is clicked.
- Added support for per-level tips, enabled by setting "Tips" to a number in Config.json, and then adding Tip_0, Tip1, Tip# to localization file.
- Added level Allow_Skills and Allow_Information config.
- Added Prevent_Building_Near_Spawnpoint_Radius to level config (default 16.0).
- Custom objects can specify Add_Kill_Triggers true to cause Triggers children with name "Kill" to kill players.
- Added Can_Use_Underwater true/false for equipable items which defaults to false for primaries.
- Added questCompleted event for plugins.
- Added updateReplicatedState barricade function for plugins.
- Added helper functions for plugins to easily spawn replicated buildables.
- Added onPerformingAid and onPerformedAid events to UseableConsumeable for plugins. Individual stats are best compared by using both, as theys always occur in pairs.
- Disabled many missing asset related errors when -SkipAssets is enabled.
- Replaced serversideSetPluginModal with EPluginWidgetFlags granting more control of UI.
- Tidied up some of the damage events by moving parameters into structs, and tracking the damage instigator.
- Added gameplay config for disabling structure, barricade and vehicle zombie targeting.
- Added Use_Airdrops to gameplay config.
- Added Enable_Kick_Input_Spam and Enable_Kick_Input_Timeout config.
- Hosts can now specify -NoWin32Console on the command line to prevent the Windows server from manually allocating/freeing a console window.
- Separated Windows-specific console input/output from shared console code, and allowed plugins to override IO handling by implementing ICommandInputOutput and calling setIOHandler. When using a custom handler you can specify -NoDefaultConsole on the command line.
- Fixed Paddle repair blueprint.
- Fixed clothes not respecting Should_Drop_On_Death option.
- Vehicles in safezones now properly ignore all damage.
- Fixed not loading per-map .content files from workshop during connection.
- Fixed log files not sharing read access.
- Fixed several plugin network events not wrapped in try-catch blocks.
- Fixed cancelling pending exchange notification.
- Fixed Spread_Aim between 0.8 and 1 visually increasing crosshair size.
- Menu notification system which was added back in 2017 but never used now supports timed windows and dismissing it, so today it links to the Short Film Contest voting stages. I expect we'll see it again for future community events.
- Accepted three new outfit bundles.