Release Notes

Up-to-date changelog for Carbon's production builds.

Latest production release build changelog based on the production branch. This build is targeted at the general public.

Released on 17.05.2024 12:30AM GMT+2

[NEW] Added command aliases - c.assignalias myalias realcommand, c.unassignalias myalias, c.aliases. [NEW] Admin Module: Added background blur and opacity settings to Admin module. [NEW] Admin Module: Added display name to Carbon Auto variables (present in Admin module configurations tab). [NEW] Admin Module: Added Teleport2OwnedItem button on players (Entities and Players tab). [NEW] Added c.harmonymods printing a full list of mods and patches created by the mods. [NEW] Added c.harmonywatchers (enabled by default). [NEW] Added c.whymodded and c.gocommunity. [NEW] Added craft duration multipler - Carbon Auto (c.craftingspeedmultiplier_nowb, c.craftingspeedmultiplier_wb1, c.craftingspeedmultiplier_wb2, c.craftingspeedmultiplier_wb3). [NEW] Added default aliases: harmony.load -> c.harmonyload, harmony.unload -> c.harmonyunload. [NEW] Added Harmony patching and unpatching support for assemblies. [NEW] Added Suggestions algorithm (Levenshtein) component - grants 3 suggestions for chat and console inaccurate commands. [NEW] Added 'Unknown command' message when executing invalid commands with valid prefixes. [FIXED] Fixed Carbon not initializing properly when server.autouploadmap is disabled. [FIXED] Fixed conflicting issue with BaseHookable.Type by renaming it to BaseHookable.HookableType. [FIXED] Fixed edge case issue with case insensitive hook and method names. [FIXED] Fixed Harmony mods not properly patching when hotloaded. [FIXED] Fixed NREs in IPlayer's RustPlayer. [UPDATED] Renamed BaseModule.GetEnabled() to BaseModule.IsEnabled(). [MISC] Automated hook building process for Community and Oxide remotely updated hooks. [MISC] Create debug internal files if plugins are marked partial regardless of the debugger attached status. [MISC] Include aliases in console command suggestions. [MISC] No longer refresh the whole panel when toggling chart layers (only individual elements). [MISC] No longer reload the entire module when saving an Admin module edited config. [REMOVED] Removed o. and oxide. filtering and config. [REMOVED] Removed o. command analytics. [REMOVED] Removed unused Carbon updater.

Carbon Update — v1.2024.2126.5629 Released @ 05.05.2024 00:02AM GMT+2

[NEW] Added native Mono Profiler. [NEW] Admin Module: Added Profiler tab with exporting support. [NEW] Admin Module: Added Carbon Auto variables in the Admin module configuration tab. [NEW] Admin Module: Added DisableConsole option to Carbon's config. [NEW] Admin Module: Added fade gradient effect across the entire Admin module CUI. [NEW] Admin Module: Added maximize button for Admin module. [NEW] Admin Module: Added notifications. [NEW] Admin Module: Added source viewer. [NEW] Added adminmodule.profiler.use, adminmodule.profiler.startstop and adminmodule.profiler.sourceviewer permissions. [NEW] Added c.safezonerecycletick CarbonAuto ConVar. [NEW] Added c.show perm (value) which lists all players and groups that have that permission granted. [NEW] [Added c.usergroup addall|removeall group](optional-modules/added-c-usergroup-addall|removeall-group.md): Added c.usergroup addall|removeall group which adds/removes all players from/to a group. [NEW] Added carbon/logs/profiler for profiler exports. [NEW] Added Init, LoadDefaultMessages, Loaded, OnLoaded and Unload hook metadata. [NEW] Added OnServerCommand metadata. [NEW] Added OnUserGroupAdded and OnUserGroupRemoved metadata. [NEW] Added CarbonModule.AutoPatch. [NEW] Added CarbonNative. [NEW] Added Chart graphic component. [NEW] Added conversion for return types. [NEW] Added instantiated sampling for basic and timeline profiling (separated). [NEW] Added Oxide AutoPatch attribute and implementation (compatibility). [NEW] Added platform info on the startup log regarding Rust and Carbon build information. [NEW] Added Profiler analytics. [NEW] Added ScrollView support for Carbon's CUI. [NEW] Added ScrollView/Scrollbar support for Rust's UI. [NEW] Added Source Viewer component. [NEW] Added SourceCode bank (cached and fast c# source code decompilation component). [NEW] Added stopwatch pooling to our PoolEx extensions. [NEW] Added support for method type (getter/setter..) for our HookAttribute. [FIXED] Fixed CarbonAuto initializing too late. [FIXED] Fixed CarbonAuto not saving properly. [FIXED] Fixed compatibility with ScrollViews (Oxide). [FIXED] Fixed GenericPosition NRE in IPlayer. [FIXED] Fixed inaccurate data in the Timeline graph (the side values for call times). [FIXED] Fixed OnCompilationmFail and OnConstructorFail description. [FIXED] Fixed WebRequests throwing invalid callback errors. [UPDATED] Admin Module: Revamped range UI options in Admin module. [UPDATED] Renamed Community.Runtime.CorePlugin to Community.Runtime.Core. [UPDATED] Updated CarbonAuto to no longer force the server with the modded tag. [UPDATED] Updated hook updater to use carbonmod.gg hosting for protocol-based hook downloading on server boot. [MISC] Admin Module: Clamp Admin module minimum auth level (0 - 3). [MISC] Admin Module: Lock cursor only when spectating asleep players. [MISC] Compressed carbon and modded Steam tags. [MISC] Disabled chart shadows by default (shadows 0). [MISC] Improved and fixed various issues with the Profiler (timeline). [MISC] Made tweaking c.defaultserverchatname, c.defaultserverchatcolor and c.defaultserverchatid to no longer mark the server modded. [MISC] Observe Task exceptions (prints exceptions on GC collections). [REMOVED] Removed c.plugintrackingtime (obsolete). [REMOVED] Removed HarmonyInstance-related replacers from all parsers. [REMOVED] Removed TimeAverageGeneric (obsolete).

Carbon Update — v1.2024.2098.3237 Released @ 04.05.2024 12:47PM GMT+2

[NEW] Added built-in Oxide migration process. [NEW] Admin Module: Added language editor (plugin phrases). [NEW] Admin Module: Added Quick Actions to the main Carbon tab. [NEW] Admin Module: Added Configuration tab permission (adminmodule.config.use). [NEW] Admin Module: Added 'Empower Stats' button in the Players tab (sets all stats to highest). [NEW] Admin Module: Added player and entity position map coordinates to Admin module. [NEW] Added c.unloadonfailure Compiler configuration. [NEW] Added partial searching to c.plugininfo, c.moduleinfo & other instance specific commands. [FIXED] Admin Module: Fixed Codefling verification and spam. [FIXED] Fixed CallHook NRE when using CallHook<T> with the return of a null value. [FIXED] Fixed Compat GetMessage (thanks Patrette!). [FIXED] Fixed IPlayer.Object not being properly assigned (Covalence). [FIXED] Fixed permission registration when reloading Admin Module (and its config). [UPDATED] Updated to Harmony 2.3.3.0. [UPDATED] Admin Module: Include item ID and shortname in the Items tab, and make them copyable. [UPDATED] Updated c.hooks to include various more information regarding its hooks and overall performance. [UPDATED] Updated c.savemodulecfg and c.loadmodulecfg (previously 'config'). [UPDATED] Updated c.version (include Rust build date), c.build, c.commit and c.protocol (and exposed them for auth level 0). [UPDATED] Updated OnCompilationFail(ModLoader.FailedCompilation parameters. [UPDATED] Updated and cleaned up c.plugins and c.modules. [UPDATED] Updated various instances where we're using ClientRPC to use RpcTarget (Rust update). [MISC] Don't unload plugins when re-compilation fails (by default, configurable). [MISC] Slightly revamped WebRequest async method functionality. [MISC] Various Covalence compatibility improvements. [REMOVED] Disabled c.reloadextensions and c.reloadmodules. [REMOVED] Removed c.filenamecheck and implementation. [REMOVED] Removed base module shutdown debug message.

Carbon Update — v1.2024.1087.0520 Released @ 03.28.2024 12:09AM GMT+2

[NEW] Admin Module: Added Items tab to Carbon's configuration page (can create custom items). [NEW] Admin Module: Added Reload button on installed Plugins. [NEW] Admin Module: Added Rust backpack looting hooks and logic (follow on-screen instructions). [NEW] Added c.commit (prints information about the Git commit of the runtime Carbon build). [NEW] [Added c.debughook (hookid|name) duration](optional-modules/added-c-debughook-(hookid|name)-duration.md): Added c.debughook (hookid|name) duration (helps identifying what plugins fire a specific hook and logs each time it fires) debug build only. [NEW] Added c.openplugin PluginName which opens the .cs file of the plugin. [NEW] Added c.resethooks which clears all progerss on all of the current hooks (hook time, fires, memory usage and lag spikes). [NEW] [Added OnCompilationFail150731668](optional-modules/added-oncompilationfail150731668.md): Added OnCompilationFail150731668(string filePath, Trace errors, Trace warnings) Engine hook. [NEW] [Added OnConstructorFail937285752](optional-modules/added-onconstructorfail937285752.md): Added OnConstructorFail937285752(RustPlugin plugin, Exception exception) Engine hook. [NEW] Added Permissions instance in CarbonModule. [NEW] Added appropriate response when executing c.grant or c.revoke and the parameter is inexistent. [NEW] [Added bool CanAcceptBackpackItem2803314817](optional-modules/added-bool-canacceptbackpackitem2803314817.md): Added bool CanAcceptBackpackItem2803314817(Item backpack, Item item) (Item hook). [NEW] Added cached hook lag spike processing. [NEW] Added Carbon patch which fixes c.defaultserverchatid to override the user id Rust uses when sending server chat messages. [NEW] Added Carbon patch which patches out the Rust 'Bump' log in HotAirBalloon. [NEW] Added LineType support to InputField Carbon CUI component. [NEW] Added OS commands for opening various Carbon folders (eg. c.openconfigs, c.opendata, c.openroot..). [NEW] Added unloaded and compilation failure plugins at the bottom of the c.plugins command. [FIXED] Admin Module: Fixed 'Hide plugin icons' config option. [FIXED] Fixed Build.IsDebug not being accessible due to it being static. [FIXED] Fixed CarbonPlugin built in harmony patch errors not showing the exception stacktrace. [FIXED] Fixed covalence FindPlayerById only looking for player bodies active on the server (now uses user data file). [FIXED] Fixed IDelFix failing by adding error handling (thanks Tryhard!). [FIXED] Updated Permission's UserHasPermission to use a runtime dictionary which fills up the cache as plugins need the users. [UPDATED] Admin Module: Run module.Reload instead of module.Load when saving module config in config editor (properly restarts the module). [UPDATED] Cleaned up Plugins tab to use IEnumerables instead of arrays. [UPDATED] Don't print compile time for precompiled hookables. [UPDATED] Include plugin and hook lag spike information in c.plugins, c.plugininfo, c.modules and c.moduleinfo. [UPDATED] Revamped overall code quality in ModLoader (expected to reduce heap allocations even further). [MISC] Admin Module: Cache Configuration tab, than regenerate it each time it's showing initially. [MISC] Hook lag spike threshold command + config. [REMOVED] Automatically cleanup the carbon/reports folder on preload. [REMOVED] No longer include version in the name of the DLL binaries (breaks referencing). [REMOVED] Removed c.report, carbon/reports folder and overall implementation (obsolete).

Carbon Update — v1.2024.1074.1303 Released @ 03.14.2024 06:17PM GMT+2

[NEW] Admin Module: Added configurations tab to Admin module (gear button next to X). [NEW] Added ConVarSnapshots (takes a snapshot of all default Rust ConVar values). [NEW] Added imagedb.loaddefaults command. [NEW] Added gear and new close icon. [FIXED] Admin Module: Fixed dead players appearing twice in the Players tab. [FIXED] Fixed CuiHelper.AddUi occasionally breaking things when plugins provide null players to it. [FIXED] Fixed various timing issues within modules. [UPDATED] Updated shutdown process to run Shutdown() on modules on server shutdown. [MISC] Admin Module: Refreshed Admin module buttons and CUI. [MISC] Fire blank InternalCallHook initially. [MISC] No longer use reflection for precompiled module hooks (code-generated internal hook calls). [MISC] Reduced overall CuiHelper creation overhead by removing some legacy code. [MISC] Revoke Codefling auth token on non-200 error codes. [MISC] Swapped all instances of internal hook call returnables to use already boxed values (reducing heap allocations). [REMOVED] Admin Module: Removed obsolete DynamicTab. [REMOVED] Removed OnServerInitialized hook from modules.

Carbon Update — v1.2024.1067.4507 Released @ 03.07.2024 06:49PM GMT+2

[NEW] Admin Module: Added adminmodule.players.see_ips which when granted, they can see player IP address when inspecting. [NEW] Admin Module: Added Admin module wizard analytic for walkthrough or skipping. [NEW] Admin Module: Added Grant/Revoke All permissions button on the Permissions tab (plugins, modules, groups). [NEW] Added ImageDatabase.HasImage. [NEW] Added IModule.HasOSI. [NEW] Added Rcon config option, disabling it will turn off server RCon. [NEW] Added MonoMod required dependencies by Harmony. [FIXED] Admin Module: Fixed owned plugins glow effect in Admin module. [FIXED] Fixed BaseHookable.ToString formatting. [FIXED] Fixed global.skipassetwarmup_crashes OSI; this literally just showed up out of nowhere when adding the optimizations. [FIXED] Fixed modules firing OnServerInitialized more than they should (once) & call OSI on module reload. [FIXED] Fixed ZipScript and ZipDevScript processors not using the correct config for watching. [UPDATED] Optimized internal hooks to being called directly by the hook code generator. [UPDATED] Implemented IOnRconInitialize and IOnRunCommandLine. [UPDATED] Renamed carbonauto.cfg to config.auto.cfg (it gets auto-renamed). [UPDATED] Renamed config_client.json to config.client.json (it gets auto-renamed). [UPDATED] Upgraded to Harmony 2.3.1.1 (Thicc). [MISC] Admin Module: Invalidate ImageDatabase if core images aren't in the FileStorage database of Rust (ensures images show up in ). [MISC] Display internally fired hooks in c.plugininfo and other various places. [MISC] Filter out the three checksum validation failures on boot as that's a hook gen timing 'issue' and absolutely inoffensive. [MISC] Prettified Analytics code. [MISC] Replace CUI null images with white panels so there's no leaking when using Carbon's CUI system. [MISC] Replaced powershell to pwsh in the Windows deployment process. [MISC] Revamped entire Carbon config.

Carbon Update — v1.2024.1055.5525 Released @ 02.24.2024 12:41AM GMT+2

[NEW] Admin Module: Added Admin module Plugins tab HidePluginIcons config. [NEW] Added GetConfigPath() and GetDataPath() to BaseModule. [NEW] Added CurrentHookFires to BaseHookable. [FIXED] Fixed certain instances where webrequests wouldn't trigger the primary callback when errors were delivered. [FIXED] [Fixed code generator not properly handling stuff like HookMethod(nameof(Namespace.Type.Member))](optional-modules/fixed-code-generator-not-properly-handling-stuff-like-hookmethod(nameof(namespace-type-member)).md): Fixed code generator not properly handling stuff like HookMethod(nameof(Namespace.Type.Member)). [FIXED] Print correct information if an user/group couldn't be found when using c.grant and c.revoke. [UPDATED] [Expanded on c.plugins to accept sorting switches (eg. c.plugins -j|--j|-json|-abc|--json|-t|-m|-f](optional-modules/expanded-on-c-plugins-to-accept-sorting-switches-(eg--c-plugins--j|--j|-json|-abc|--json|-t|-m|-f.md): Expanded on c.plugins to accept sorting switches (eg. c.plugins -j|--j|-json|-abc|--json|-t|-m|-f -asc). [UPDATED] Updated, improved and optimized the hook calling process - you should see further significant performance boosts. [MISC] Admin Module: Refresh the panel when adding, editing or duplicating groups. [MISC] Cleaned up and updated all analytic metrics. [MISC] Redirect and execute callbacks if there are internal WebRequest exception throws. [MISC] [Replaced all param string](optional-modules/replaced-all-param-string.md): s for each QueueBatch override (thancc Kulltero!).</mark></br><mark style="color:red;">[**REMOVED**] Removed keepArgs` from HookCaller.

Carbon Update — v1.2024.1046.4234 Released @ 02.15.2024 1:46AM GMT+2

[NEW] Admin Module: Added module permissions in the Permissions tab. [NEW] Added GroupExists to BaseModule. [FIXED] Admin Module: Fixed Admin module checkmarks disappearing from time to time by removing potentially unnecessary validation Rust file storage checks. [FIXED] Admin Module: Fixed Admin module showing the wizard each server restart. [FIXED] Fixed c.grant and c.revoke logic when detecting if a group has a permission. [FIXED] Fixed return metadata value for CanClientLogin and CanUserLogin. [UPDATED] Admin Module: Added Skip button on the wizard. [UPDATED] Update module permissions to register onto the module instance, not Core plugin. [UPDATED] Updated the wizard when Admin module config structure has changed. [MISC] Admin Module: Centered initial button on the Admin wizard. [MISC] Bypass file name checking in ZipScript processors. [MISC] Call OnServerShutdown when server shuts down. [MISC] Call OnServerInit and OnPostServerInit when using c.setmodule (thanks Kulltero!). [MISC] [Expanded on c.plugininfo and c.moduleinfo - c.plugininfo PluginName -t|m|f](optional-modules/expanded-on-c-plugininfo-and-c-moduleinfo---c-plugininfo-pluginname--t|m|f.md): Expanded on c.plugininfo and c.moduleinfo - c.plugininfo PluginName -t|m|f -asc, sorts hooks based on time (-t), memory use (-m) and fired times (-f). [REMOVED] No longer inject System.Memory into plugins as it uses mscorlib redirected types.

Carbon Update — v1.2024.1033.4309 Released @ 02.01.2024 7:46PM GMT+2

[NEW] Added c.fetchhooks which will update hooks at runtime. [NEW] Added c.harmonyload and c.harmonyunload. [NEW] Added command aliases (support for multiple Command attributes). [NEW] Added tick tracking for each cached hook (shows the exact amount of times hooks got fired). [FIXED] Vanish Module: Fixed vanishing on Cargo Ship or parent triggers, not detaching players (force trigger update). [FIXED] Fixed BaseHookable.ToString() overrides. [FIXED] Fixed Oxide compatibility with Covalence - adding IServer.SaveInfo. [FIXED] Removed CommandVar being able to be assigned multiple times. [FIXED] Show if a group or user already has a permission, instead of saying there was a problem. [FIXED] Use virtual calls instead of direct for Harmony plugin entrypoint initialization (Thanks, Patrette!). [UPDATED] Admin Module: Revamped Admin module accessibility - removed access levels and added permissions instead. [UPDATED] Added hook ticks to c.moduleinfo and c.plugininfo. [UPDATED] Improved and optimized hook calling internal times. [UPDATED] Updated C4C protocol to 103. [UPDATED] Updated copyright year across all Carbon components. [UPDATED] Upgraded Roslyn compiler to C# 12. [MISC] Execute IHarmonyHooks.OnLoaded and OnUnloaded methods. [MISC] Refactored the way hook total time and memory usages is being stored. [REMOVED] Removed file watching from extensions and Harmony plugins. [REMOVED] Removed GroupHasPermission Debug log.

Carbon Update — v1.2024.1014.3039 Released @ 14.01.2024 4:34PM GMT+2

[NEW] Admin Module: Added Environment tab. [FIXED] Corrected C4C log information showing C4C enabled when it wasn't. [FIXED] Fixed c.mixingspeedmultiplier not working properly. [FIXED] Fixed module internal call hook overriden. [FIXED] Fixed other occasional CUI related client-side NREs. [FIXED] Made global.skipassetwarmup_crashes 1 possible, now works in C4C and normal modes. [UPDATED] Admin Module: Order groups based on rank (Permissions tab). [MISC] Disable server.secure convar if Carbon client mode is enabled.

Carbon Update — v1.2024.1004.1024 Released @ 04.01.2024 7:14PM GMT+2

[NEW] Admin Module: Added SpectatingInfoOverlay disabling center-screen text when spectating. [NEW] Admin Module: Added ability to change the owner id of an entity through the Entities tab (and select the owner's entity when available). [NEW] Admin Module: Added ability to send players to sleep through entities/players tab. [NEW] Admin Module: Added conditionals to Carbon tab, show console info, and permission config options. [NEW] Admin Module: Added Language option to 'Add User' modal. [NEW] Admin Module: Added sleep option in the Players tab. [NEW] Admin Module: Added user editing to Permissions tab. [NEW] Added c.plugincmds displaying all chat and console commands of a plugin (auth 2). [NEW] Added Client (C4C) config (includes env settings, gameplay and addon entries). [NEW] Added client gravity and old recoil properties to C4C. [NEW] Added support for hidden processed commands (hid carbon. commands from c.find due to duplicates). [FIXED] Admin Module: Fixed changing tab to Permissions not selecting the correct active option. [FIXED] Admin Module: Fixed Entities tab displaying rotations as quaternion instead of euler angles. [FIXED] Fixed case where server wouldn't boot if there'd be multiple instances of the same server running due to log locking (appending _temporary to the busy server log). [FIXED] Fixed certain CUI-related issues when plugins would set offsets as null. [FIXED] Fixed edge case where CUI material is assigned null when it shouldn't. [UPDATED] Made c.plugininfo be case insensitive as well as c.reloadconfig. [MISC] Ensure not caching hook method duplicates. [MISC] Return bool in OxideMod.UnloadPlugin(string). [REMOVED] Admin Module: Removed rotation from players tab as it was redundant. [REMOVED] Removed +carbon.client and +carbon.nomap since it got moved to the config.

Carbon Update — v1.2023.4341.1112 Released @ 12.07.2023 10:14PM GMT+2

[NEW] Admin Module: Added ability to change entity skin to the Entities tab. [NEW] Added c.reloadmodule. [NEW] Added module Reload and Unload overridable methods. [NEW] Added permissions in c.plugininfo. [NEW] Added uMod plugin endpoint user friendly error handling for when it goes down. [NEW] Added Webrequest automatic decompression (GZIP). [NEW] C4C: Added +carbon.client which will apply Client-specific patches and modify event-related convars. [NEW] C4C: Added c.oldrecoil admin command. [NEW] C4C: Added C4C protocol, changing it will invalidate older CCA exports and render them broken & invalid. [NEW] Implemented version conditional symbol processing (RUST/CARBON checking against ABV/BLW and IS current protocol). [FIXED] Fixed c.moduleinfo to include async and override method counts. [FIXED] Fixed global.skipassetwarmup_crashes 1 behavior. [FIXED] Fixed HookMethod not being processed by the codegen. [FIXED] Fixed modules not executing OnServerInitialized. [UPDATED] Admin Module: Don't display update options in the Local tab, under Plugins. [UPDATED] Call OnUserPermissionGranted for every permission granted (when using wildcards). [UPDATED] Call OnUserPermissionRevoked for every permission granted (when using wildcards). [UPDATED] Rewrote the entire Timer system to be more lightweight. [MISC] Made c.grant to be case insensitive when looking for players (as well as other perm commands). [REMOVED] Removed +nomap and replaced it with +carbon.nomap which will modify event-related convars and spawn density (disable essentially). [REMOVED] Removed slight fullscreen fade when spectating.

Carbon Update — v1.2023.4313.5300 Released @ 11.10.2023 12:56AM GMT+2

[NEW] Image Database Module: Added multithread error handling. [NEW] Added LastAccess flag in windows builds in our base processor's watcher. [NEW] Added TemporaryArray. [NEW] Added in-use script checking and waiting for writing availability. [FIXED] Admin Module: Fixed spectate CUI not showing up. [FIXED] Fixed c.load not doing its job properly. [FIXED] Fixed NRE in Modal module. [FIXED] User permissions processing fix. [FIXED] Various fixes to plugin processing and disposal. [UPDATED] Made c.load, c.reload and c.unload be case insensitive. [UPDATED] Only display IP address without port in IPlayer.Address. [UPDATED] Unload dependant plugins before the required parent plugin that initially was requested for unloading. [UPDATED] Use last result value of conflicted hooks. [MISC] Admin Module: Fixed plugins not refreshing correctly when loaded/unloaded (in Plugins tab). [MISC] Allow unsafe keyword in plugins. [MISC] Conflict and result priority fixes. [REMOVED] Removed HigherPriorityHookWarns config.

Carbon Update — v1.2023.4306.0506 Released @ 11.02.2023 5:08PM GMT+2

[NEW] Added Carbon.Cache - contains boxed values and defaults, meant to be used to reduce GC by plugins. [NEW] Added CovalencePlugin.game - compatibility. [NEW] Added LibraryFunction attribute - compatibility. [NEW] Added STAGING, AUX01 and AUX02 conditional symbols to the Roslyn compiler based on the Carbon build type. [NEW] Added 'carbon/harmony' shipped with our build patches. [NEW] Added full integration for 'Carbon Compatibility Loader' by Patrette into Carbon natively. [NEW] Added optional CUI rect update and fixed button text update (ThePitereq PR). [FIXED] Fixed issue where hooks with null parameters would not be picked up by the codegen. [FIXED] Fixed OxideMod log formatting errors. [UPDATED] Carbon CUI implementation revamp all across the project. [UPDATED] Warn if plugins attempt to register same-named permissions under different plugin names. [MISC] Admin Module: Made Admin module option elements more opaque/visible. [REMOVED] Removed Carbon.Ext.Discord extension. [REMOVED] Removed unnecessary duplicate permission check on the same plugin.

Carbon Update — v1.2023.4296.2150 Released @ 10.23.2023 11:25PM GMT+2

[NEW] Admin Module: Added ability to toggle the UI with the same chat command (or bind), locking keyboard movement/hotkeys when typing in input fields. [NEW] Added async ValueTask OnAsyncServerShutdown in CarbonPlugin which gets called before the server shuts down (or restart), making the server wait for all plugins to complete said task without stalling the server. [NEW] Added Build.Git.Tag. [NEW] Added c.plugininfo and c.moduleinfo displaying extensive information about runtime plugins. [NEW] Added StringBuilder pooling in PoolEx. [NEW] Added wildcard support for plugin exclusion in c.load, c.unload and c.reload (eg. c.reload * Plugin1 Plugin2.. to unload everything except named plugins). [FIXED] Fixed AutoPatch CarbonPlugin feature error handling - if patches fail, bail. [FIXED] Fixed cases where no stacktraces were shown by certain errors in specific situations. [FIXED] Fixed InternalCallHook code generator not properly calling hooks in specific situations. [FIXED] Fixed NRE thrown by c.wipeui admin command. [FIXED] Properly manage Carbon patches w/out identifiers. [UPDATED] Include memory usage in hook warn analytics. [UPDATED] Removed all uses of Environment.TickCount and instead using pooled Stopwatches. [UPDATED] Updated c.version to include build tag. [MISC] Fixed Carbon processor OnFrame queue pretty error handling. [MISC] Include class index in the namespace scope when doing plugin info lookup (fixes edge-case plugin errors). [REMOVED] Removed EntityMapBufferSize option (config, admin module).

Carbon Update — v1.2023.4285.4633 Released @ 10.13.2023 12:49AM GMT+2

[NEW] Admin Module: Added ability to view players within groups in Permissions tab. [NEW] Admin Module: Added WebRequest IP validation check. [NEW] Debug-Only: Added c.scriptdebugorigin which overrides the script directory Roslyn uses for the compilation debuggers so remote debugging is possible. [NEW] Debug-Only: Added ZipDevScriptProcessor - acts like cszip but make it folders (plugins/cszip_dev). [NEW] Debug-Only: Added script debugging(https://docs.carbonmod.gg/docs/development/debugging-plugins) - only works when debugger is attached on server boot. [NEW] Vanish Module: Added Vanish permissions: vanish.allow to vanish and vanish.unlock to open locked entities while vanished. [NEW] Added +carbon.skiphookupdates switch. [NEW] Added Build.IsDebug. [NEW] Added c.plugins -abc which prints plugins alphabetically, otherwise list them chronologically. [NEW] Added HookFlags.MetadataOnly skipping processing said hooks and only used for display & documentation (Carbon.Hooks.Community). [NEW] Added OnInterferenceUpdate and OnInterferenceOtherUpdate. [NEW] Added OnPluginOutdated hook. [NEW] Added Plugin.QueueWorkerThread. [NEW] Added PluginReference minimum version & requirement toggle. [NEW] Added QueueWorkerThread. [NEW] Added ZipScriptProcessor and ZipPlugins mod package - cszip zips with bundled plugin partial file loading. [NEW] Added modules loaded/total and extension count to console info (Windows-only). [FIXED] Don't mark Harmony patches (for dynamic hooks) failed if they failed unpatching - which means they're still patched. [FIXED] Fixed Build.Git.Url containing .git making the url invalid. [FIXED] Fixed c.show user <nick> not working correctly due to ToLower() and trimming. [FIXED] Fixed c.wipeui throwing errors when called on the server. [FIXED] Fixed certain types of commands throwing errors in specific situations. [FIXED] Fixed Covalence non-player IPlayer assigned in server commands not having the right ID. [FIXED] Fixed hooks unpatching order; prioritize dependant reference hooks first, then the latter. [FIXED] Fixed permissions not showing parent recursive group permissions. [FIXED] Fixed unmanaged temporary lists in Permissions. [FIXED] Non-parameter hooks now use a cached empty array for processed arguments - occasional internal hook NRE fix. [UPDATED] Debug-Only: Export internal call hook generated by Carbon to file (so it can be debugged with an IDE - only when class is partial). [UPDATED] Made ThreadEx.MainThread public. [UPDATED] Updated script processor to use multiple source files per batch. [MISC] Pretty-format internal call hook Carbon generated methods. [MISC] Refactored HookEx. [MISC] Renamed main thread name to Main. [MISC] Revamped the whole project and got rid of ToList. [MISC] Various NRE fixes across ScriptLoader. [REMOVED] Vanish Module: Removed auth-level based checking. [REMOVED] Fixed occasional hooks failing to unpatch when c.unload * or c.reload * is called. [REMOVED] Removed c.autoupdate command. [REMOVED] Removed c.reboot command. [REMOVED] Removed 'Auto-Update Ext Hooks' option from the config.

Carbon Update — v1.2023.4278.1603 Released @ 10.05.2023 7:19PM GMT+2

[NEW] Admin Module: Added Carbon-only plugins from Codefling (including Carbon extensions). [NEW] Added +nomap server mode which disables the Rust map from being present (used by Carbon4Client) as well as server convars (like events, etc). [NEW] Added Carbon.Common.Client which implements Carbon4Client systems. [NEW] Added UnityEngine.GameObject.FindObjectsOfType discretion warning. [NEW] Display accurate line number of errors caused by plugin commands &/or hooks. [NEW] Implemented JetBrains Rider .idea. [FIXED] Admin Module: Fixed plugins not ordering corrently when sorted by price. [FIXED] Fixed ImageDatabase not processing data file properly. [FIXED] Fixed ScriptLoader throwing random rare errors. [FIXED] Fixed certain hooks not getting called properly (precompiled hookables). [FIXED] Fixed empty fields not remaining empty in Admin module. [FIXED] Fixed plugin metadata processing; carbon compat, file name. [FIXED] Fixed plugins still loading when plugin constructor errors out. [UPDATED] Admin Module: Implemented latest improved Codefling API changes (https://codefling.com/db). [UPDATED] Stripped CarbonAuto from minimal builds. [UPDATED] Updated Roslyn to latest (v4.5.0). [MISC] Always return null on asynchronously-marked hook calls. [MISC] Rewrote server logs to make it more clear what plugin downloading actually means/what's happening. [REMOVED] Removed the use of delegates (for precompiled hookables).

Carbon Update — v0.2023.3249.0039 Released @ 09.06.2023 4:04AM GMT+2

[NEW] Admin Module: Added player inventory locking. [NEW] Admin Module: Added player renaming. [NEW] Added #if DEBUG commands conditional attributes (to internal hook code generator). [NEW] Added c.bypassadmincooldowns (disabled by default) - when true, admins can spam chat|console commands. [NEW] Added Carbon.Hooks.Community hooks, curated by the community through PRs. [NEW] Added -carbon.langdir switch. [NEW] Added del patch (stops stalling the server + be able to destroy entities based on entity type). [NEW] Added Entities.GetAll<>. [NEW] Added Facepunch.Nexus in references. [NEW] Added fixcars patch that fixes terrible performance and server lag (has 2 FindObjectsOfType calls). [NEW] Added OxideMod.LoadPlugin. [NEW] Added hook time and memory usage to c.modules. [NEW] Added material support and simple image (UnityEngine.UI.Image) ThePitereq PR: Added material support and simple image (UnityEngine.UI.Image) ThePitereq PR. [NEW] Added plugin uptime to the c.plugins command. [NEW] Embedded git commit info in build assembly metadata. [FIXED] Admin Module: Fixed 'View Permissions' button in the Players tab not showing the permissions of the correct player. [FIXED] Feed the correct boolean value for OnServerInitialized(value) on inital boot, and hotloading. [FIXED] Fixed HookValidatorRefreshed Carbon event not triggering at the right time. [FIXED] Fixed OnPlayerUnbanned / OnUserUnbanned. [FIXED] Fixed ScriptLoader.Clear() occasionally malfunctioning. [FIXED] Fixed internal hook call gen not considering optional types. [FIXED] Fixed module langs. [FIXED] Fixed No Give Notices giving notices. [FIXED] Fixed player disconnect log duplicate in console. [FIXED] Fixed up command line (+carbon.onboot). [UPDATED] Admin Module: Use Druid font for console. [UPDATED] Complete revamp of the development infrastructure of Carbon. [UPDATED] Revamped core Permissions library methods and optimized a bunch. [MISC] Documented all internal hooks (with the readable hook name). [MISC] Exposed IHook.HookFlags, IHook.TargetType, IHook.TargetMethod, IHook.TargetMethods. [REMOVED] Removed CorePlugin internal call hook. [REMOVED] Removed Oxide Rust.opj file requests and processing.

Carbon Update — v0.2023.3222.2550 Released @ 08.10.2023 5:30PM GMT+2

[NEW] Added application/x-www-form-urlencoded by default in POST|PUT|PATCH|DELETE requests. [NEW] Added AsyncEx extensions. [NEW] Added c.defaultserverchatname, c.defaultserverchatcolor, c.defaultserverchatid to CarbonAuto. [NEW] Added c.extensions, c.modulesmanaged. [NEW] Added c.installplugin and c.uninstallplugin. [NEW] Added conditional compilation symbols for build scripts. [UPDATED] Fixed Discord extension (and overall extensions). [MISC] Ignore checksum validation on Rust staging, aux01 and aux02 branches. [MISC] Use plugin type name instead of info name for config/data files. [REMOVED] Removed config/data path validation for inconsistency reasons with custom switch directories.

Carbon Update — v0.2023.3219.0627 Released @ 08.07.2023 07:09PM GMT+2

[NEW] Added extension and module hotloading. [NEW] Added more Covalence compatibility. [UPDATED] Don't consider static methods hookable by the code gen. [UPDATED] Publicized ConsoleSystem.Arg constructor. [MISC] Inject #if WIN, #if UNIX or #if MINIMAL (in respective builds) - in the roslyn compiler. [REMOVED] Removed hook/plugin priorities.

Carbon Update — v0.2023.3215.4402 Released @ 08.03.2023 7:47PM GMT+2

[NEW] Admin Module: Added Plugins tab badges on previewed plugins. [NEW] Added Codefling auth: Added Codefling auth(https://docs.carbonmod.gg/docs/core/modules/admin-module/codefling-auth). [NEW] Added c.shutdown which terminates Carbon carefully, then renders the server completely vanilla. [NEW] Added carbonauto.cfg options (extends Rust ConVar properties). [NEW] Added Command.Args.IsServer. [NEW] Added PoolEx.FreeDictionary<TKey, TValue>(ref Dictionary<TKey, TValue> val). [NEW] Added PoolEx.GetDictionary<TKey, TValue>. [NEW] Added Rust.Clans and Rust.Clans.Local to Carbon's global references (including Roslyn compiler). [NEW] Added Carbon minimal builds (excludes significant, usually visual-oriented features). [NEW] Added JetBrains.Annotations.MeansImplicitUse across public attributes. [NEW] Added MemoryMeasure struct. [NEW] Added turner's 'Console Command History' built into windows builds (https://codefling.com/harmony/console-command-history). [UPDATED] Upgraded protobuf to 3.2.26. [UPDATED] Upgraded Roslyn to 4.3.0. [MISC] Analytics improvements. [MISC] Directly assign Steamworks server tags instead of using reflection. [MISC] Overall module and Carbon extensions improvements. [MISC] Publicize Rust.Clans.Local pre/post production. [MISC] Publicized Facepunch.Nexus.dll. [MISC] Significant cleanup and optimisations across Carbon's extensions. [REMOVED] Removed HarmonyReference property, config and command & enabled it by default. [REMOVED] Removed RustEdit.Ext module.

Carbon Update — v0.2023.3193.1938 Released @ 07.12.2023 10:22PM GMT+2

[NEW] Added plugin hook call memory allocation tracking. [UPDATED] Display plugin memory usage in c.plugins. [UPDATED] Exposed IModuleProcessor.Build and IModuleProcessor.Uninstall. [MISC] Internal hook call fixup. [MISC] Print and store stack and inner information of unhandled exceptions (Unity, Rust, plugin monos).

Carbon Update — v0.2023.3190.0119 Released @ 07.09.2023 05:03PM GMT+2

[NEW] Added Command disposal. [NEW] Added Global Usings and enabled Implicit Usings for Carbon.Common. [NEW] Added OnErrorCallback, OnWarningCallback, OnNoticeCallback and OnDebugCallback callbacks. [FIXED] Fixed Admin module console hooking into logging twice if disabling-enabling the module. [FIXED] Fixed certain plugins with the OnCollectiblePickup hook failing. [UPDATED] Oxide compatibility updates & overall cleanup. [UPDATED] Reimplemented Ben.Demystifier (log cleaner and beautifier). [MISC] Inject arg.cmd property with the command installed Rust command (ConsoleSystem.Command). [MISC] Publicized ConsoleSystem.Index.All.

Carbon Update — v0.2023.3188.0903 Released @ 07.07.2023 03:11AM GMT+2

[NEW] Admin Module: Added back flipping direction when selecting the same filter in Plugins tab. [NEW] Admin Module: Added error message when users with auth 0 try to use Carbon Admin Panel commands. [NEW] Added c.grant invalidation replies. [NEW] Added c.revoke invalidation replies. [NEW] Added OnNativeCommandHasPermission(ConsoleSystem.Arg) hook. [FIXED] Admin Module: Don't allow lower-than-3 access level users to execute things on the plugins tab (favourite, auto-update, etc). [FIXED] Admin Module: Fixed "Add User" modal in Permissions tab disallowing from adding new users. [FIXED] IPlayer fix returning false-positives for the IsServer property. [UPDATED] Admin Module: Only show approved files in the Plugins tab. [UPDATED] Admin Module: Use player connection auth level for Admin module access validation. [UPDATED] c.load * will load all plugins on disk than just the ones that have been unloaded (&/or ignored). [UPDATED] Cache OxideMod libraries for multi-purpose reusability. [UPDATED] Insert generated internal hook at the end of the plugin class. [UPDATED] Pick inner exception for OnFrame failures. [UPDATED] Regenerated Core plugin internal hooks (with our latest generator changes). [UPDATED] Remastered hook generator to use uint identifiers for hooks instead of mapping. [UPDATED] Set c.unitystacktrace to true by default for production builds. [UPDATED] Updated all loggers to always expose stacktraces. [UPDATED] Use lock and lists instead of Queue for NextFrame/NextTick processing. [MISC] Admin Module: Added Deleted flag property to Plugin.Status. [MISC] ModerationTools Module: Warn server if cadmin is being executed through RCon/server since it's a client-only command. [MISC] Fixes random crashes on Linux (LGSM primarely). [MISC] Initial implementation for experimental threads. [MISC] Multiply command cooldown every time a player tries to call it (to avoid spam) (defaults to *0.5).

Carbon Update — v0.2023.2178.5536 Released @ 06.27.2023 06:59AM GMT+2

[NEW] Added c.frametickbuffersize (defaults to 1000). [FIXED] Fixed asynchronous hooks not being picked up by the code generator. [UPDATED] Reimplemented frame queue buffer changes. [UPDATED] Reimplemented hook time warns (core plugins are excluded). [UPDATED] Reimplemented NextTick/NextFrame processing (fixes frequently called hooks creating timers/nextticks slowing down the spawning of entities on boot).

Carbon Update — v0.2023.2177.3145 Released @ 06.26.2023 2:34AM GMT+2

[NEW] Admin Module: Added alpha property in color picker (CUI and implementation). [NEW] Added safe-error handling for Plugin.Subscribe/Unsubscribe. [UPDATED] Consider CarbonPlugin for PluginReference processing. [UPDATED] Print exception stacktrace for Logger.Error in production builds. [MISC] Admin Module: Various fixes to the color picker Rust/hex color processing. [MISC] Code generator improvements for calling hooks with nullified arguments.

Carbon Update — v0.2023.2171.0519 Released @ 06.20.2023 8:07AM GMT+2

[NEW] Added Pair<string, CuiElement, CuiElement> support (Carbon CUI). [NEW] Added Plugin.IsPrecompiled indicating if a plugin's managed programmatically. [NEW] Added precompiled property to ModLoader.InitializePlugin which will process hooks, HookMethod attributes and plugin references found within the plugin type. [NEW] Added update property & implementation (Oxide CUI). [NEW] Added container error handling (Carbon CUI). [NEW] Added CUI.Handler.UpdatePool (list of updated CUI elements that need updating) (Carbon CUI). [NEW] Added skinID attribute (Carbon CUI). [NEW] Added Storeless mode to Permission system - works the same as usual, just doesn't store or load anything to/from file. [NEW] Added support for CUI sub-elementa (eg. buttons have a text component attached to it, which you can now directly edit) (Carbon CUI). [NEW] Added widespread Carbon CUI implementation and individual property update support (Carbon CUI). [FIXED] Code generator for internal hooks improvements. [FIXED] Fixed Carbon running with AutoUpdate disabled. [FIXED] Fixed Plugin.Title always returning the default value 'Rust' (which was happening due to the constructor call shift). [UPDATED] Admin Module: Various UI fixes, scaling issues. [UPDATED] RustEdit.Ext Module: Enable-on-custom-map fix. [UPDATED] Call In/Once timers if server's not yet fully initialized. [UPDATED] Disallow and warn servers trying to run Carbon builds that are for a different operating system. [UPDATED] Execute plugin constructors after(!) initial plugin setup (which includes timers, persistence, etc). [UPDATED] Process ConsoleSystem.Args for chat commands as well. [UPDATED] Renamed AutoUpdate config option to AutoUpdateExtHooks. [UPDATED] Updated Discord invite link. [MISC] Disallow precompiled plugins from being unloaded/reloaded through commands. [MISC] Don't allow unloading/reloading precompiled plugins with c. commands. [MISC] Don't insert elements into pooled containers if they're updateable (Carbon CUI).

Carbon Update — v0.2023.2159.1312 Released @ 06.08.2023 8:15PM GMT

[NEW] Admin Module: Added Date picker (accessible by plugins as well). [NEW] Admin Module: Added player Ban button in Players/Entities - with date picker for duration defaults to 100y BasePlayer type (access level 2). [NEW] Admin Module: Added player Kick button in Players/Entities BasePlayer type (access level 2). [NEW] StackManager Module: Added ProhibitItemConsumableContainerStacking (eg. wo'a jugs). [NEW] StackManager Module: Added ProhibitItemContainerStacking (eg. weapons). [NEW] StackManager Module: Added ProhibitItemFishableStacking (eg. bottles). [NEW] Vanish Module: Added BroadcastVanishSounds config to Vanish (disabled by default). [NEW] Added (bool)newConfig and (bool)newData to BaseModule.PreLoadShouldSave(). [NEW] Added more Oxide compatibility (Event, PluginManagerEvent). [NEW] Allow modules to override InternalCallHook, otherwise use delegate system for hook calls (legacy). [FIXED] Admin Module: Fixed unnecessary refreshing. [FIXED] StackManager Module: Fixed overriding dictionaries enforcing values in the config. [FIXED] Fixed occasional misbehavior with plugins replying messages using IPlayer when commands are sent from the server. [UPDATED] Vanish Module: Play vanish sounds just for the vanished person by default. [MISC] Admin Module: Display placeholder (translated) text in empty column panels. [MISC] Admin Module: Don't reset admin player context storage on panel close. [MISC] Admin Module: Optimized RPC calls for cursor locker. [MISC] Call protected LoadDefaultConfig directly instead of calling it as a hook. [MISC] Disable Harmony debugging on the production builds. [MISC] Enforce hook calls if parameter types are nullable. [MISC] Get methods of partial subclasses that are considered for hook calling. [MISC] Implemented code gen for plugins that are structured with partial classes. [MISC] Made Timer.Destroy to return bool. [MISC] Properly clear harmony.log from carbon/logs (from both debug & release builds). [MISC] Render IPlayer as 'connected' when IsServer is true. [MISC] Swapped BaseHookable.Name from a field to a property. [REMOVED] Removed legacy HookValidation convar (from Admin module as well) as it's now entirely obsolete.

Carbon Update — v0.2023.2153.2845 Released @ 2023-06-02 09:31PM GMT

[NEW] Fixed issue where some players do not get added to the user database. [NEW] Fixed script loader and watcher occasional issue.

Carbon Update — v0.2023.2152.0418 Released @ 2023-06-01 4:06PM GMT

[NEW] Admin Module: Added ability to add a temporary nickname on the added Steam IDs to ease identification. [NEW] Admin Module: Added modal for adding Steam IDs in the data file - for assigning permissions/groups on Steam ID before they connect. [NEW] Admin Module: Added option to switch script watchers option mode. [NEW] Admin Module: Added toggle to switch between seeing players stored in the data file or bodies on the server. [NEW] Added a lot more caching when processing hooks. [NEW] Added abstract type checking for processed modules - allowing custom base modules to exist. [NEW] Added 'Autofocus' and 'HudMenuInput' properties in InputField CUI component. [NEW] Added code generator for directly executed hooks. [NEW] Added Countdown support to Carbon's CUI. [NEW] Added GetLibFolder and GetManagedModulesFolder. [NEW] Added OnUserDisconnected internal hook call. [NEW] Added option (disabled by default) to load plugins from subdirectories ('backups' is ignored) - 'c.scriptwatchersoption 1' to enable. [NEW] Added outline support to Carbon's CUI (panel, text, image/sprite, button). [NEW] Added support for 'ref' and 'out' keyword support in plugin hooks. [NEW] Added VerticalOverflow in Text CUI component. [UPDATED] Admin Module: Revamped spectating; teleports you 3 meters under the spectated object (and enables noclipping). [UPDATED] Admin Module: Revamped spectating; toggle views (F3), can type in chat, orbit spectated objects. [UPDATED] Added DataFileSystem.DeleteDataFile and DynamicConfigFile.Delete. [UPDATED] Fixed CUI destroyUi taking every panel subproperty into consideration. [UPDATED] Fixed plugin blacklisting when analyzing subdirectories. [UPDATED] Fixed RustPlayer.HasPermission returning a false positive value. [UPDATED] Improved hook call speed by appx. 40%. [MISC] Admin Module: Display online/offline player count on the Players tab. [MISC] Vanish Module: Play 'whoosh' sound when vanishing (enabled by default). [MISC] Vanish Module: Toggle god mode on vanish/unvanish (disabled by default). [MISC] Automatically add game developers to the admin group. [MISC] Cleanse hook argument buffers properly. [MISC] Implemented InputField + Text changes into Carbon's CUI. [MISC] Implemented string+uint StringPool for hook identification. [MISC] Improved error handling for internally called and failed to execute hooks. [MISC] Improved plugin hotloading (even more seamless). [MISC] Optimisation and legacy code cleanup in the hook calling systems. [MISC] Place admin players that are noclipping high on the ground to avoid fall damage.

Carbon Update — v0.2023.2143.0715 Released @ 2023-05-23 13:07:15

[MISC] Rust optional update patch for pooling changes.

Carbon Update — v0.2023.2138.1804 Released @ unknown

[NEW] Added back c.version, c.protocol and c.build. [NEW] Added new Carbon events: FileSystemWarmup, FileSystemWarmupComplete & PluginPreload. [UPDATED] Admin Module: Fixed memory leak in the Entities tab under. [UPDATED] Admin Module: Updated UI to scale properly relative to UI scale/aspect ratio. [UPDATED] Fixed error formatting under c.pluginsfailed. [UPDATED] Fixed OnLoseCondition hook. [UPDATED] Optimized hook calling performance by 35%. [MISC] Hooks now can contain ref parameters. [MISC] ICarbonModule can now patch static hooks. [MISC] Whitelisted Ionic.Zip.Reduced.

Carbon Update — v0.2023.2131.5323 Released @ unknown

[NEW] Gather Manager Module: Added OvenSpeedOverride - changes the smelting speed in all ovens. [NEW] Gather Manager Module: Added smelt speed override blacklisting (based on prefab shortname and entity type). [NEW] Added module pooling for correct pre-initialization. [NEW] Added NuGet deployment -> https://www.nuget.org/packages/Carbon.Community. [NEW] Added OnUserCommand (Covalence hook). [UPDATED] RustEdit.Ext Module: Don't enforce the server to be modded when enabled. [UPDATED] Renamed Loader to ModLoader. [UPDATED] Renamed Loader.CarbonMod to ModLoader.ModPackage. [MISC] Enforce Harmony logs to be redirected. [MISC] Implemented "DELETE" in WebRequest.

Carbon Update — v0.1013.1018.3044 Released @ unknown

[NEW] Admin Module: Added multi-selection support in the Entities tab. [UPDATED] Vanish Module: Made Bradley ignore vanished players. [UPDATED] Legacy code cleanup.

Carbon Update — v0.1013.1107 Released @ unknown

[NEW] Add new functionality to FileWatcherManager. [NEW] Added +carbon.onboot (called after modules initialize) and +carbon.onserverinit (called after server is marked as completely initialized). [NEW] Added Arial and Permanent Marker to the CUI. [NEW] Added ArrayPool implementation and c.pluginsunloaded. [NEW] Added Button field to Modal panel. [NEW] Added c.defaultplayergroup (defaults to "default") and c.defaultadmingroup (defaults to "admin"). [NEW] Added c.protocol, c.help, and help commands for startup information. [NEW] Added c.wipeharmonylogonboot (defaults to true). [NEW] Added c.wipemarkers (player) to clear all markers of a player or caller. [NEW] Added c.wipeui to clear the entire drawn CUI (authlevel 1). [NEW] Added CanExplosiveStick, OnInvalidPositionCheck, and DestroyToPool. [NEW] Added CanUnlockTechTreeNode(Workbench, BasePlayer, TechTreeData.NodeInstance). [NEW] Added CommandLine context, read from cfg/server.cfg. [NEW] Added GetActivePanelList/DestroyActivePanelList for clearing all CUI drawn on clients at once without reconnecting. [NEW] Added IModuleProcessor.Setup. [NEW] Added Local subtab in the Plugins tab for displaying all loaded plugins (including those not on vending sites). [NEW] Added missing return attributes on some Extra hooks. [NEW] Added Moderation Tools description to Admin module setup wizard. [NEW] Added o.* command check flag. [NEW] Added OnChairComfort, CanPlayerInheritNetworkGroup, and CanAccessAdminModule. [NEW] Added OnDispenserGather in GatherManager. [NEW] Added permission.GetPermissions(BaseHookable). [NEW] Added protected buttons for the Modal panel (Button field). [NEW] Added user group editing to the Permissions tab. [NEW] Added validators to preloader. [NEW] Added WebRequest PATCH support. [NEW] Added Whitelist and DRM info to Setup Wizard. [NEW] Auto-confirm confirmation panels when holding (SPRINT) and added BaseModule.NextTick. [FIXED] Fix for case-sensitive command calls. [FIXED] Fixed c.report (potentially). [FIXED] Fixed c.unloading plugins not loaded on boot marking them as ignored and printing the correct warning (fallback to old log if not found). [FIXED] Fixed Carbon not starting on Linux. [FIXED] Fixed command line execution not being printed when there are no commands on the CN calls. [FIXED] Fixed compiler errors occurring when reloading specific plugins frequently. [FIXED] Fixed Create Group default values. [FIXED] Fixed exception with FileWatcher and updated Library.cs. [FIXED] Fixed existing key errors in compilation reference cache (Fastboot sometimes too fast). [FIXED] Fixed HarmonyModInfo spam on Linux. [FIXED] Fixed info file naming. [FIXED] Fixed language phrases overriding on plugin reload after changes. [FIXED] Fixed Modules tab config editing button issue (previously appeared unresponsive). [FIXED] Fixed null/empty permissions being considered (resolves various plugin command authentication issues). [FIXED] Fixed number fields throwing errors when SteamIDs are used (use longs instead of ints). [FIXED] Fixed plugins generating configs with null fields. [FIXED] Fixed RustPlayer being a struct and not functioning properly. [FIXED] Fixed Stack manager item-specific filters using the global multiplier (now has separate global multiplier, defaulting to 1). [FIXED] Fixed StopSpectating NRE. [FIXED] Fixed viewing angles when spectating and updated various references. [FIXED] Map Protection module fixes. [FIXED] Quickstart fixes and invalidated setup wizard (it'll show up on up-to-date servers). [FIXED] Resolved module config editing issue and updated MySql.cs. [FIXED] Resolved OnEntityTakeDamage issue. [UPDATED] Don't force servers to modded when Vanish or ModerationTools is enabled. [UPDATED] Error handling in RustPlugin. [UPDATED] Expanded Admin module open command array (cp, cpanel) and added Vanish module customization options. [UPDATED] Expanded features on Modals. [UPDATED] Fixed plugins generating configs with null fields. [UPDATED] Fixed repeating timers and removed Command.SkipOriginal. [UPDATED] Fully implemented permission-based tabs system and added permissive features to all built-in tabs. [UPDATED] ImageDatabase initialization fix. [UPDATED] Implemented asm loader whitelist specialization. [UPDATED] Improved speed of mass plugin reloading. [UPDATED] Included "No TechTree unlock" option in ModerationTools config to disable global TechTree node unlocking. [UPDATED] Increased script reader buffer size from 4KB to 8KB. [UPDATED] Initial HasLevel checks and Carbon tab permissions. [UPDATED] Load all plugins on server initialized when global.skipassetwarmup_crashes is enabled. [UPDATED] Marked c.version and c.build as auth-level 1 requirement. [UPDATED] Moved CUI.UniquifyCommand to Community.Protect. [UPDATED] Moved Local subtab to the left in Plugins panel. [UPDATED] New CarbonBehaviour abstract class and localized the Carbon tab. [UPDATED] Optimized plugin processing (pre-warming source code, improved async stream reading). [UPDATED] Process only Carbon.Common (internal modules) and carbon/modules DLLs modules. [UPDATED] Register Admin module levels (0 through 3). [UPDATED] Register hookable attribute permissions. [UPDATED] Resolved module config editing issue and updated MySql.cs. [UPDATED] ScriptProcessor cleanup. [UPDATED] Show Core plugin permissions in the Permissions tab. [UPDATED] Toggle noclip on vanish/unvanish (configurable). [UPDATED] Update and rename develop-build.yml to preview-edge-build.yml. [UPDATED] Updated CanPatrolHeliSeePlayer, CanUnlockTechTreeNode, OnChairComfort, OnEntitySpawn, OnChickenScared, OnHorseDung, OnJackieChan. [MISC] Addressed multiple issues related to hook calls in certain plugins. [MISC] Adjusted Server library inheritance and fixed staging branch issue (Pool.Free). [MISC] Assigned token reference of CommandVar commands. [MISC] BaseModule fix, virtualized BaseModule version, and DRM cleanup. [MISC] Disabled main thread compilation if global.skipassetwarmup_crashes is enabled. [MISC] Don't attempt to grant default/admin permissions if they're set to null in the config (disables auto-granting players to groups when empty, useful in some cases). [MISC] Enable Unity stacktrace on debug builds by default. [MISC] Initial work on the new Command Processor. [MISC] Integrated staging branch protocol hooks and numerous internal hooks. [MISC] Normalize commands (ToLower, Trim) on registration. [MISC] Quickstart fixes and invalidated setup wizard (it'll show up on up-to-date servers). [MISC] Renamed UiCommand to ProtectedCommand (for more versatile usage). [MISC] Resolved slow timers on boot issue and NRE in HandleEnableNeedsKeyboard. [MISC] Simplified Make 'constructor' overrides. [REMOVED] Disabled main thread compilation if global.skipassetwarmup_crashes is enabled. [REMOVED] Fixed repeating timers and removed Command.SkipOriginal. [REMOVED] Removed duplicate initialization of Carbon Extensions. [REMOVED] Removed misleading 'Is Core' and 'Is Disabled' read-only toggle options from Module inspector. [REMOVED] Removed OnInvalidPositionCheck as it was called about 8K times a second when used. [REMOVED] Removed redundant CanExplosiveStick (already in Extra) and updated RustEdit.Ext. [REMOVED] Removed unnecessary self-implemented arg.ReplyWith behavior and switched to using Rust's methods.

Last updated