Release Notes
Up-to-date changelog for Carbon's production builds.
Last updated
Up-to-date changelog for Carbon's production builds.
Last updated
Latest production release build changelog based on the production
branch.
This build is targeted at the general public.
Released on 21.02.2025 6:02PM GMT+1
[
NEW
] Admin Module: Completely revamped the Plugins tab. [NEW
] Admin Module: Added informational message under Configurations->ConVars tab (regarding values not being saved deliberately). [NEW
] AutoWipe Module: AddedWipeChatCommand
which defaults to nothing, can be set withautowipe.wipechat
so anyone can run/wipe
to see when the next wipe happens. [NEW
] AutoWipe Module: Added string replacements for WIPE_DAY, WIPE_MONTH etc of the server name. [NEW
] Vanish Module: Added offset values for vanishing icon and reset previous anchor values. [NEW
] Addedc.changeversion
(It changes the current Carbon version you're running. Next reboot will swap to the overriden version. Runc.changeversion
for syntax.). [NEW
] Addedc.delete
andc.deleteext
admin commands. [FIXED
] Admin Module: Fixed instances where vendor plugins would not properly pair up with loaded plugins. [FIXED
] Admin Module: Fixed issue where favorited plugins would not save upon reboot. [FIXED
] Admin Module: Fixed plugin uninstalling process. [FIXED
] GatherManager Module: Fixed inaccurate values when gathering resource dispensers. [FIXED
] Vanish Module: Fixed situations where players loading into the server vanished, don't have vanished perks. [FIXED
] Fixed casting a plugin to bool returning false even if the instance is alive without considering if the plugin has initialized. [FIXED
] [Fixed situations wherePermission](optional-modules/fixed-situations-where-
permission.md): Fixed situations wherePermission
attribute response would not be replied to in the same context. [UPDATED
] Admin Module: Improved config editing error handling. [UPDATED
] Updated various places where documenting syntax and help descriptions with updated information. [MISC
] Admin Module: Reduced unecessary data processing and unused code in the Plugins tab. [MISC
] Vanish Module: Implemented various optimizations and reusable effect instances. [MISC
] Fixed moderator group being granted to auth level 2 users. [MISC
] Made no permission, no group and no auth level client chat/console command returns phrased and translatable. [REMOVED
] Removed Library from Timer.
[
NEW
] Added ReloadAllPlugins (compat). [FIXED
] Fixed returning types of OxideMod.LoadPlugin/ReloadPlugin. [UPDATED
] Updated AutoWipe module: Updated AutoWipe module(https://docs.carbonmod.gg/docs/core/modules/autowipe-module). [UPDATED
] Updated Harmony to v2.3.5. [MISC
] Enforce publicized default assemblies in the config. [MISC
] Execute self updating process relative to Carbon root path (-carbon.rootdir
). [MISC
] Handle reloaded plugins on server shutdown. [MISC
] IncludeCarbon.Hooks.Oxide.dll
andCarbon.Hooks.Community.dll
in the patch (applies to all Carbon builds). [REMOVED
] Stripped irrelevant configuration from Preloader.
[
NEW
] Admin Module: Added Codefling login analytic. [NEW
] Added AutoWipe module: Added AutoWipe module(https://docs.carbonmod.gg/docs/core/modules/autowipe-module). [NEW
] Addedc.editconfig
which when called by an admin client, will open up a json config at a relative path (eg. carbon/config.json) and allow you edit it in Carbon's panel. [NEW
] AddedGetMessageByLanguage
. [NEW
] AddedOnCarbonVanished(BasePlayer)
andOnCarbonUnvanished(BasePlayer)
hook calls whenever players use Vanish. [NEW
] Added alias warning whenever trying to assign an alias on an already existent Rust command. [NEW
] Added Carbon.Startup, which handles Oxide migration and publicization/patching whereas Carbon.Preloader solely only handles self-updating. [NEW
] Added default conditional compilation symbolOXIDE_PUBLICIZED
. [NEW
] Added developer mode. [NEW
] Added GC events flag in Shift+REC profiles in the Profiler tab (enabled by default). [NEW
] Added hook exception tracking (plugin total and per-hook instance). [NEW
] Added missing RustExtensionMethods (compatibility with Oxide). [NEW
] Added publicized assemblies config. [NEW
] Added publicizer blacklist config options. [NEW
] Added silly goose proof handling for people assigning a command with the same assigning key as value (creating stackoverflows). [FIXED
] Admin Module: Fixed file path when downloading files through the Plugins tab. [FIXED
] Fixed Rust console occasional NRE (when disabling Rust console, aka-noconsole
). [UPDATED
] Load all in-memory patched assemblies before Unity does (so ours have priority). [UPDATED
] No longer write patched/publicized assemblies to disk (keeping Rust entirely vanilla). [UPDATED
] Optimized hook calling slightly by reducing allocs when checking hook conflicts. [UPDATED
] Updated Carbon-called commands to use a cached argument buffer. [MISC
] Automatically remove predefined aliases forharmony.load
->c.harmonyload
and unload. [MISC
] Export all in-memory patched assemblies tocarbon/developer/patched_assemblies
directory. [MISC
] InjectCronos
into Roslyn compiler. [MISC
] MadeIOnServerInitialized
a callable hook. [MISC
] Show internal/hidden hooks inc.hooks
. [MISC
] Stripped away all self-updating code and moved to Carbon.Startup. [REMOVED
] Removed Carbon Harmony processors (switched to using Rust vanilla). [REMOVED
] Removed HarmonyWatchers config + command.
[
NEW
] Addedc.devdump
- Creates a zip package in the temporary directory of the Carbon folder with useful information (output log & profile snapshot). [NEW
] Added Facepunch Steam references into Roslyn compiler. [NEW
] Added StackWalk allocations option to the Shift+REC modal, as well as timeline recording. [MISC
] Fire 'LoadDefaultConfig' as a hook on the plugin if plugins don't override the method. [MISC
] Reload harmony mods when runningharmony.load
and the mod is already loaded. [MISC
] Stripped away Harmony v1 support. [REMOVED
] Removed HAB bump debug log spam fix.
[
NEW
] AddedConfigVersionChecks
override to BaseModule, enabled by default. [NEW
] Added CuiRawImageComponent.SteamId property which is used for placing the steam avatar on the image. [NEW
] Added defaultmoderator
group which gets auto-granted/revoked when players are in/out the auth-level 1 group. [NEW
] Added early injection of a new player in the permissions database onCanUserLogin
. [NEW
] Added pooling across all instances where CarbonEventArgs is passed through our processors. [NEW
] Added SelectiveEAC module - disabled by default, permission and group based system selectively allowing admin users to enter aserver.secure 1
server bypassing EAC authentication. [FIXED
] Vanish Module: Always perform Enter/Leave triggers properly when vanished. [FIXED
] Vanish Module: Fixed players vanishing on Cargo Ship or other parent triggers being detached. [FIXED
] Fixedc.reload
not attempting to load up unloaded plugins. [FIXED
] Fixed certain same-named hooks getting fired when they shouldn't in plugins/modules. [FIXED
] Fixed Lang NRE (thanks Kulltero!). [MISC
] Vanish Module: Made vanishing and unvanishing effects configurable. [MISC
] Fullscreen tabs for config editing when doing setup wizard. [MISC
] Improved analytics performance. [MISC
] Notify user when a compilation started upon runningc.load
orc.reload
on an unloaded file. [MISC
] Pooled various instances of CarbonEventArgs and ModuleEventArgs. [MISC
] Record constructor failure as a compilation failure once thrown (Thank's BugMan!). [MISC
] Shifted preinit callback to fire before the constructor. [REMOVED
] ModeratorTools Module: Removed obsolete patch. [REMOVED
] Removed obsoletePoolEx
methods.
[
NEW
] Addedc.grant group xx *
andc.revoke user xx *
(wildcard) options. [NEW
] Added obsolete attribute on custom dictionary/stringbuilder Carbon pool methods (will be removed on Nov. 7th 2024). [NEW
] Added Plugins.GetAllNonAlloc. [NEW
] Added SelectiveEAC module - disabled by default, permission and group based system selectively allowing admin users to enter aserver.secure 1
server bypassing EAC authentication. [FIXED
] Admin Module: Fixed setup wizard with latest changes. [FIXED
] Fixed situations when hooks accessing the permissions system in the CanUserLogin user access and refreshing is too late. [UPDATED
] Improved Carbon.Entities. [UPDATED
] Improved ImageDatabase performance and reliability. [UPDATED
] Renamed Optimisations to Circular Networking since that's what it is.
[
NEW
] Admin Module: Added player wetness properties to the Entities and Players tab. [NEW
] Gather Manager Module: Include caught fish and scale collected amount based on module settings. [NEW
] AddedPoolEx.FreeRaycastHitList
used by the codegen system (possibly a bandaid fix). [NEW
] Added ImageDatabase.Queue for singular images (key/url or just url). [NEW
] Added more timer formats to Countdown (according to https://github.com/Facepunch/Rust.Community/pull/63). [NEW
] Added multiple plugin name support forc.reload
,c.unload
andc.load
commands (eg.c.reload PluginA PluginB PluginC
). [NEW
] Added NotoSansArabicBold to Carbon's CUI. [NEW
] Added pooling to ImageDatabase and sped processing up from 500ms to frame time. [FIXED
] Admin Module: Fixed Codefling thumbnails and larger scale thumbnail (as well as first frame of gifs are being now used). [FIXED
] Corrected multithreaded notice/informative logging color (grey). [FIXED
] Fixed CUI server induced client NRE (this also fixes CUI updating): Forcefully serialize all properties instead of skipping defaults. [FIXED
] Fixed plugin class and namespace identification: fixes cases where plugins would have nested namespaces or other types above the main plugin type. [FIXED
] Fixed situations where default plugin messages/lang phrases would be loaded multiple times. [FIXED
] Fixed whenever havingskipassetwarmup_crashes
enabled, Carbon would be executing OnServerInitialized too early. [UPDATED
] Admin Module: Updated the 'Local' subtab to 'Installed' under the Plugins tab. [UPDATED
] Updatedc.reload
: No longer recompile manually reloaded plugins if there are no changes, and reuse runtime assemblies of said plugins to create the plugin type instance. [UPDATED
] Updatedc.reload
: Recompile if script watchers is disabled. [UPDATED
] Updatedc.reload
: Recompile the plugin if profiler tracking status changed for the scripts. [UPDATED
] Updated Carbon's logging system to print logs executed in different threads to Rust's native output log. [UPDATED
] Updated DepotDownloader to use the latest commit. [UPDATED
] Updated various repositories with respect to the newFacepunch.Pool
updates. [UPDATED
] Updates to Carbon'sAssemblies
and dynamic library monitoring. [MISC
] No longer print suggestion log in console if the command string is null or empty. [REMOVED
] Admin Module: Removed server event toast config. [REMOVED
] Removed Carbon.AssembliesUnload
calls. [REMOVED
] Removed extra clears for Carbon's PoolEx extensions (since Rust's Facepunch.Pool handles it all now).
[
NEW
] AddedCarbon.Defines.GetHooksFolder
. [FIXED
] Fixedlang
NRE. [FIXED
] Fixed Carbon NuGet to use the latest API key (yearly renewed) and removed old versions. [FIXED
] Fixed issue in CallHook with the object array of arguments, using index 13 instead of 12. [FIXED
] Fixed issue where admin module not storing quick actions to file when changed. [UPDATED
] Changed loading of plugins to finalize before Asset Warmup and only load Asset Warmup when all Carbon systems are online. [UPDATED
] Close the file panel before executing the OnConfirm/OnClose callbacks (so users don't click on buttons multiple times if the action takes a while). [UPDATED
] OptimizedCarbon.Community.Protect
to cache its values using the input as key. [UPDATED
] Renamed TimerFormats -> TimerFormat. [UPDATED
] Upgraded Microsoft.CodeAnalysis.CSharp from 4.9.0-3.final prerelease: Upgraded Microsoft.CodeAnalysis.CSharp from 4.9.0-3.final prerelease -> 4.10.0. [UPDATED
] Upgraded Roslyn from 4.9.0 -> 4.12.4. [MISC
] Initial iteration at adding summary comments across the entire project. [MISC
] No longer add post batch failed requirees multiple times. [REMOVED
] Removed Carbon.Common.Client. [REMOVED
] Removed unnecessary copyright notice from the top of each file since it falls back to the project license. [REMOVED
] Removed various unused references from unrelated repository projects.
[
NEW
] AddedUnsubscribeAll
andGetHookSubscribers(string identifier)
to patch manager. [NEW
] Added File browser module. [NEW
] Added Profiler serialization and comparison mode (protocolized). [FIXED
] Fixes, improvements and optimizations toCommunity.Protect
. [UPDATED
] Updatedc.harmonymods
to use Carbon'sAssemblies
. [MISC
] Filtered out command execution forno_input
(default value of key binds without a command defined). [MISC
] No longer post process converted by default harmony mods as all the logic happens in the converter. [MISC
] Profiles store non-incremented values of incrementative assemblies which get used for comparison purpose. [REMOVED
] Removed Carbon.Common.Client from compiler whitelist.
[
NEW
] Added Carbon.Assemblies which tracks ALL Carbon processed assemblies. [FIXED
] Fixeddel
command patch not properly error handling. [FIXED
] Fixed certain errors occurring in LoadPlugin when plugin was invalid/non-existent. [FIXED
] Fixed multi-word Carbon Auto convar values not properly applying upon restart. [FIXED
] Fixed Profiler incrementals. [FIXED
] Various fixes in the ImageDatabase module. [UPDATED
] Improvements to the newly implemented Carbon Integration Test system. [MISC
] No longer attempt to convert Harmony mods if they're processable. [MISC
] No longer default to ClientPanels.OverlayNonScaled, which affects existent CUI panels. [MISC
] No longer run OnDisabled / OnEnabled on modules when usingc.loadmodule
. [MISC
] No longer save data + groups when SetLanguage happens. [MISC
] Optimized C4C model networking to use Rust's snapshot system. [MISC
] Show more accurate warning in the Carbon profiler tab when things went wrong upon boot. [MISC
] Show more accurate warning in the Carbon profiler tab when things went wrong with its loading. [MISC
] Updated cleanup process upon data + group saving and cleared leftover memory whenever it happens. [MISC
] Various ImageDatabase improvements & callback fixes. [REMOVED
] Removed scaling in ImageDatabase (fixing GDI+ issues).
[
NEW
] Added Carbon self-updating and according configuration. [NEW
] Admin Module: Added confirmation dialog whenever changing hostname (Carbon tab). [NEW
] Admin Module: Added max players option with confirmation (Carbon tab). [NEW
] Admin Module: Added Plugins tab vendor reliant and informative error handling for endpoints in case they go down. [NEW
] AddedBaseHookable.ManualSubscriptions
. [NEW
] Addedc.custommapname
which changes the map displayed in the server browser (CarbonAuto). [NEW
] Addedc.lang
which sets the server language. [NEW
] AddedPlugin.ManualCommands
andBaseModule.ManualCommands
. [NEW
] Added admin and player default group error handling for if it becomes null upon config loading. [NEW
] Added Carbon analytics config option (enabled by default - it's entirely anonymous and helps us improve). [NEW
] Added Carbon module and extension hotloading (and respective file watching configurations). [NEW
] Added Overall, OverlayNonScaled and UnderNonScaled client panels to Carbon's CUI. [NEW
] Added Unity Component cache Carbon component. [NEW
] Allow custom parent string in CreateContainer (CUI) (thanks SegFault!). [FIXED
] Admin Module: Fixed CanAccessAdminModule hook. [FIXED
] FixedOnPlayerCommand
not firing at the right time. [FIXED
] Fixed hook argument resizing causing inconsistency and data loss to argument values. [FIXED
] Fixed logging issue where exception logs are being printed only on RustPlayer hookables when there are commands or timer failures. [FIXED
] Fixed malformed material in the Carbon Profiler CUI. [UPDATED
] Renamed ICarbonModule toIModulePackage
. [UPDATED
] Renamed ModLoader.LoadedPackages -> ModLoader.Packages. [MISC
] Admin Module: Remember session information upon closing and reopening the Admin module instead removing temporary information. [MISC
] Changed all CarbonAuto float/integer variables to be multipliers relative to vanilla value. [MISC
] Flipped source viewer horizontal scrolling. [MISC
] Made suggestive chat command messages lang configurable. [MISC
] Preload covalence on sleeping players when the server initializes. [REMOVED
] Removedc.fetchhooks
until more thorough testing is done whenever using it. [REMOVED
] Removedc.unitystacktrace
config and enabled it by default. [REMOVED
] RemovedColumn
from Failed plugins section underc.plugins
and merged it with Line (line:column
format).
[
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
] Addedc.harmonymods
printing a full list of mods and patches created by the mods. [NEW
] Addedc.harmonywatchers
(enabled by default). [NEW
] Addedc.whymodded
andc.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 whenserver.autouploadmap
is disabled. [FIXED
] Fixed conflicting issue withBaseHookable.Type
by renaming it toBaseHookable.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
] RenamedBaseModule.GetEnabled()
toBaseModule.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
] Removedo.
andoxide.
filtering and config. [REMOVED
] Removedo.
command analytics. [REMOVED
] Removed unused Carbon updater.
[
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
] Addedadminmodule.profiler.use
,adminmodule.profiler.startstop
andadminmodule.profiler.sourceviewer
permissions. [NEW
] Addedc.safezonerecycletick
CarbonAuto ConVar. [NEW
] Addedc.show perm (value)
which lists all players and groups that have that permission granted. [NEW
] [Addedc.usergroup addall|removeall group](optional-modules/added-
c-usergroup-addall|removeall-group.md): Addedc.usergroup addall|removeall group
which adds/removes all players from/to a group. [NEW
] Addedcarbon/logs/profiler
for profiler exports. [NEW
] AddedInit
,LoadDefaultMessages
,Loaded
,OnLoaded
andUnload
hook metadata. [NEW
] AddedOnServerCommand
metadata. [NEW
] AddedOnUserGroupAdded
andOnUserGroupRemoved
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
] RenamedCommunity.Runtime.CorePlugin
toCommunity.Runtime.Core
. [UPDATED
] Updated CarbonAuto to no longer force the server with the modded tag. [UPDATED
] Updated hook updater to usecarbonmod.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
] Compressedcarbon
andmodded
Steam tags. [MISC
] Disabled chart shadows by default (shadows 0). [MISC
] Improved and fixed various issues with the Profiler (timeline). [MISC
] Made tweakingc.defaultserverchatname
,c.defaultserverchatcolor
andc.defaultserverchatid
to no longer mark the server modded. [MISC
] Observe Task exceptions (prints exceptions on GC collections). [REMOVED
] Removedc.plugintrackingtime
(obsolete). [REMOVED
] Removed HarmonyInstance-related replacers from all parsers. [REMOVED
] Removed TimeAverageGeneric (obsolete).
[
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
] Addedc.unloadonfailure
Compiler configuration. [NEW
] Added partial searching toc.plugininfo
,c.moduleinfo
& other instance specific commands. [FIXED
] Admin Module: Fixed Codefling verification and spam. [FIXED
] Fixed CallHook NRE when usingCallHook<T>
with the return of a null value. [FIXED
] Fixed CompatGetMessage
(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
] Updatedc.hooks
to include various more information regarding its hooks and overall performance. [UPDATED
] Updatedc.savemodulecfg
andc.loadmodulecfg
(previously 'config'). [UPDATED
] Updatedc.version
(include Rust build date),c.build
,c.commit
andc.protocol
(and exposed them for auth level 0). [UPDATED
] UpdatedOnCompilationFail(ModLoader.FailedCompilation
parameters. [UPDATED
] Updated and cleaned upc.plugins
andc.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
] Disabledc.reloadextensions
andc.reloadmodules
. [REMOVED
] Removedc.filenamecheck
and implementation. [REMOVED
] Removed base module shutdown debug message.
[
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
] Addedc.commit
(prints information about the Git commit of the runtime Carbon build). [NEW
] [Addedc.debughook (hookid|name) duration](optional-modules/added-
c-debughook-(hookid|name)-duration.md): Addedc.debughook (hookid|name) duration
(helps identifying what plugins fire a specific hook and logs each time it fires) debug build only. [NEW
] Addedc.openplugin PluginName
which opens the.cs
file of the plugin. [NEW
] Addedc.resethooks
which clears all progerss on all of the current hooks (hook time, fires, memory usage and lag spikes). [NEW
] [AddedOnCompilationFail150731668](optional-modules/added-
oncompilationfail150731668.md): AddedOnCompilationFail150731668
(string filePath, Trace errors, Trace warnings) Engine hook. [NEW
] [AddedOnConstructorFail937285752](optional-modules/added-
onconstructorfail937285752.md): AddedOnConstructorFail937285752
(RustPlugin plugin, Exception exception) Engine hook. [NEW
] AddedPermissions
instance in CarbonModule. [NEW
] Added appropriate response when executingc.grant
orc.revoke
and the parameter is inexistent. [NEW
] [Added boolCanAcceptBackpackItem2803314817](optional-modules/added-bool-
canacceptbackpackitem2803314817.md): Added boolCanAcceptBackpackItem2803314817
(Item backpack, Item item) (Item hook). [NEW
] Added cached hook lag spike processing. [NEW
] Added Carbon patch which fixesc.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 thec.plugins
command. [FIXED
] Admin Module: Fixed 'Hide plugin icons' config option. [FIXED
] FixedBuild.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: Runmodule.Reload
instead ofmodule.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 inc.plugins
,c.plugininfo
,c.modules
andc.moduleinfo
. [UPDATED
] Revamped overall code quality inModLoader
(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 thecarbon/reports
folder on preload. [REMOVED
] No longer include version in the name of the DLL binaries (breaks referencing). [REMOVED
] Removedc.report
,carbon/reports
folder and overall implementation (obsolete).
[
NEW
] Admin Module: Added configurations tab to Admin module (gear button next to X). [NEW
] AddedConVarSnapshots
(takes a snapshot of all default Rust ConVar values). [NEW
] Addedimagedb.loaddefaults
command. [NEW
] Added gear and new close icon. [FIXED
] Admin Module: Fixed dead players appearing twice in the Players tab. [FIXED
] FixedCuiHelper.AddUi
occasionally breaking things when plugins provide null players to it. [FIXED
] Fixed various timing issues within modules. [UPDATED
] Updated shutdown process to runShutdown()
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
] RemovedOnServerInitialized
hook from modules.
[
NEW
] Admin Module: Addedadminmodule.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
] AddedImageDatabase.HasImage
. [NEW
] AddedIModule.HasOSI
. [NEW
] AddedRcon
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
] FixedBaseHookable.ToString
formatting. [FIXED
] Fixedglobal.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
] ImplementedIOnRconInitialize
andIOnRunCommandLine
. [UPDATED
] Renamedcarbonauto.cfg
toconfig.auto.cfg
(it gets auto-renamed). [UPDATED
] Renamedconfig_client.json
toconfig.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 inc.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
] Replacedpowershell
topwsh
in the Windows deployment process. [MISC
] Revamped entire Carbon config.
[
NEW
] Admin Module: Added Admin module Plugins tab HidePluginIcons config. [NEW
] AddedGetConfigPath()
andGetDataPath()
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 likeHookMethod(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 likeHookMethod(nameof(Namespace.Type.Member))
. [FIXED
] Print correct information if an user/group couldn't be found when usingc.grant
andc.revoke
. [UPDATED
] [Expanded onc.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 onc.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 allparam 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.
[
NEW
] Admin Module: Added module permissions in the Permissions tab. [NEW
] AddedGroupExists
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
] Fixedc.grant
andc.revoke
logic when detecting if a group has a permission. [FIXED
] Fixed return metadata value forCanClientLogin
andCanUserLogin
. [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
] CallOnServerShutdown
when server shuts down. [MISC
] Call OnServerInit and OnPostServerInit when usingc.setmodule
(thanks Kulltero!). [MISC
] [Expanded onc.plugininfo
andc.moduleinfo
-c.plugininfo PluginName -t|m|f](optional-modules/expanded-on-
c-plugininfo-and-
c-moduleinfo---
c-plugininfo-pluginname--t|m|f.md): Expanded onc.plugininfo
andc.moduleinfo
-c.plugininfo PluginName -t|m|f -asc
, sorts hooks based on time (-t), memory use (-m) and fired times (-f). [REMOVED
] No longer injectSystem.Memory
into plugins as it uses mscorlib redirected types.
[
NEW
] Addedc.fetchhooks
which will update hooks at runtime. [NEW
] Addedc.harmonyload
andc.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
] FixedBaseHookable.ToString()
overrides. [FIXED
] Fixed Oxide compatibility with Covalence - adding IServer.SaveInfo. [FIXED
] RemovedCommandVar
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 toc.moduleinfo
andc.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.
[
NEW
] Admin Module: Added Environment tab. [FIXED
] Corrected C4C log information showing C4C enabled when it wasn't. [FIXED
] Fixedc.mixingspeedmultiplier
not working properly. [FIXED
] Fixed module internal call hook overriden. [FIXED
] Fixed other occasional CUI related client-side NREs. [FIXED
] Madeglobal.skipassetwarmup_crashes 1
possible, now works in C4C and normal modes. [UPDATED
] Admin Module: Order groups based on rank (Permissions tab). [MISC
] Disableserver.secure
convar if Carbon client mode is enabled.
[
NEW
] Admin Module: AddedSpectatingInfoOverlay
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
] Addedc.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 (hidcarbon.
commands fromc.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
] Madec.plugininfo
be case insensitive as well asc.reloadconfig
. [MISC
] Ensure not caching hook method duplicates. [MISC
] Return bool inOxideMod.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.
[
NEW
] Admin Module: Added ability to change entity skin to the Entities tab. [NEW
] Addedc.reloadmodule
. [NEW
] Added module Reload and Unload overridable methods. [NEW
] Added permissions inc.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: Addedc.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
] Fixedc.moduleinfo
to include async and override method counts. [FIXED
] Fixedglobal.skipassetwarmup_crashes 1
behavior. [FIXED
] FixedHookMethod
not being processed by the codegen. [FIXED
] Fixed modules not executingOnServerInitialized
. [UPDATED
] Admin Module: Don't display update options in the Local tab, under Plugins. [UPDATED
] CallOnUserPermissionGranted
for every permission granted (when using wildcards). [UPDATED
] CallOnUserPermissionRevoked
for every permission granted (when using wildcards). [UPDATED
] Rewrote the entire Timer system to be more lightweight. [MISC
] Madec.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.
[
NEW
] Image Database Module: Added multithread error handling. [NEW
] AddedLastAccess
flag in windows builds in our base processor's watcher. [NEW
] AddedTemporaryArray
. [NEW
] Added in-use script checking and waiting for writing availability. [FIXED
] Admin Module: Fixed spectate CUI not showing up. [FIXED
] Fixedc.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
] Madec.load
,c.reload
andc.unload
be case insensitive. [UPDATED
] Only display IP address without port inIPlayer.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
] Allowunsafe
keyword in plugins. [MISC
] Conflict and result priority fixes. [REMOVED
] RemovedHigherPriorityHookWarns
config.
[
NEW
] AddedCarbon.Cache
- contains boxed values and defaults, meant to be used to reduce GC by plugins. [NEW
] AddedCovalencePlugin.game
- compatibility. [NEW
] AddedLibraryFunction
attribute - compatibility. [NEW
] AddedSTAGING
,AUX01
andAUX02
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.
[
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
] Addedasync 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
] AddedBuild.Git.Tag
. [NEW
] Addedc.plugininfo
andc.moduleinfo
displaying extensive information about runtime plugins. [NEW
] AddedStringBuilder
pooling inPoolEx
. [NEW
] Added wildcard support for plugin exclusion inc.load
,c.unload
andc.reload
(eg.c.reload * Plugin1 Plugin2..
to unload everything except named plugins). [FIXED
] FixedAutoPatch
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 byc.wipeui
admin command. [FIXED
] Properly manage Carbon patches w/out identifiers. [UPDATED
] Include memory usage in hook warn analytics. [UPDATED
] Removed all uses ofEnvironment.TickCount
and instead using pooled Stopwatches. [UPDATED
] Updatedc.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
] RemovedEntityMapBufferSize
option (config, admin module).
[
NEW
] Admin Module: Added ability to view players within groups in Permissions tab. [NEW
] Admin Module: Added WebRequest IP validation check. [NEW
] Debug-Only: Addedc.scriptdebugorigin
which overrides the script directory Roslyn uses for the compilation debuggers so remote debugging is possible. [NEW
] Debug-Only: AddedZipDevScriptProcessor
- acts likecszip
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 andvanish.unlock
to open locked entities while vanished. [NEW
] Added+carbon.skiphookupdates
switch. [NEW
] AddedBuild.IsDebug
. [NEW
] Addedc.plugins -abc
which prints plugins alphabetically, otherwise list them chronologically. [NEW
] AddedHookFlags.MetadataOnly
skipping processing said hooks and only used for display & documentation (Carbon.Hooks.Community). [NEW
] AddedOnInterferenceUpdate
andOnInterferenceOtherUpdate
. [NEW
] AddedOnPluginOutdated
hook. [NEW
] AddedPlugin.QueueWorkerThread
. [NEW
] AddedPluginReference
minimum version & requirement toggle. [NEW
] AddedQueueWorkerThread
. [NEW
] AddedZipScriptProcessor
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
] FixedBuild.Git.Url
containing.git
making the url invalid. [FIXED
] Fixedc.show user <nick>
not working correctly due toToLower()
and trimming. [FIXED
] Fixedc.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 inPermissions
. [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
] MadeThreadEx.MainThread
public. [UPDATED
] Updated script processor to use multiple source files per batch. [MISC
] Pretty-format internal call hook Carbon generated methods. [MISC
] RefactoredHookEx
. [MISC
] Renamed main thread name toMain
. [MISC
] Revamped the whole project and got rid ofToList
. [MISC
] Various NRE fixes acrossScriptLoader
. [REMOVED
] Vanish Module: Removed auth-level based checking. [REMOVED
] Fixed occasional hooks failing to unpatch whenc.unload *
orc.reload *
is called. [REMOVED
] Removedc.autoupdate
command. [REMOVED
] Removedc.reboot
command. [REMOVED
] Removed 'Auto-Update Ext Hooks' option from the config.
[
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
] AddedCarbon.Common.Client
which implements Carbon4Client systems. [NEW
] AddedUnityEngine.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
] FixedImageDatabase
not processing data file properly. [FIXED
] FixedScriptLoader
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
] StrippedCarbonAuto
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).
[
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
] Addedc.bypassadmincooldowns
(disabled by default) - when true, admins can spam chat|console commands. [NEW
] AddedCarbon.Hooks.Community
hooks, curated by the community through PRs. [NEW
] Added-carbon.langdir
switch. [NEW
] Addeddel
patch (stops stalling the server + be able to destroy entities based on entity type). [NEW
] AddedEntities.GetAll<>
. [NEW
] AddedFacepunch.Nexus
in references. [NEW
] Addedfixcars
patch that fixes terrible performance and server lag (has 2 FindObjectsOfType calls). [NEW
] AddedOxideMod.LoadPlugin
. [NEW
] Added hook time and memory usage toc.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 thec.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
] FixedHookValidatorRefreshed
Carbon event not triggering at the right time. [FIXED
] FixedOnPlayerUnbanned
/OnUserUnbanned
. [FIXED
] FixedScriptLoader.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
] ExposedIHook.HookFlags
,IHook.TargetType
,IHook.TargetMethod
,IHook.TargetMethods
. [REMOVED
] Removed CorePlugin internal call hook. [REMOVED
] Removed OxideRust.opj
file requests and processing.
[
NEW
] Addedapplication/x-www-form-urlencoded
by default inPOST|PUT|PATCH|DELETE
requests. [NEW
] AddedAsyncEx
extensions. [NEW
] Addedc.defaultserverchatname
,c.defaultserverchatcolor
,c.defaultserverchatid
to CarbonAuto. [NEW
] Addedc.extensions
,c.modulesmanaged
. [NEW
] Addedc.installplugin
andc.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.
[
NEW
] Added extension and module hotloading. [NEW
] Added more Covalence compatibility. [UPDATED
] Don't consider static methods hookable by the code gen. [UPDATED
] PublicizedConsoleSystem.Arg
constructor. [MISC
] Inject#if WIN
,#if UNIX
or#if MINIMAL
(in respective builds) - in the roslyn compiler. [REMOVED
] Removed hook/plugin priorities.
[
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
] Addedc.shutdown
which terminates Carbon carefully, then renders the server completely vanilla. [NEW
] Addedcarbonauto.cfg
options (extends Rust ConVar properties). [NEW
] AddedCommand.Args.IsServer
. [NEW
] AddedPoolEx.FreeDictionary<TKey, TValue>(ref Dictionary<TKey, TValue> val)
. [NEW
] AddedPoolEx.GetDictionary<TKey, TValue>
. [NEW
] AddedRust.Clans
andRust.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
] PublicizeRust.Clans.Local
pre/post production. [MISC
] PublicizedFacepunch.Nexus.dll
. [MISC
] Significant cleanup and optimisations across Carbon's extensions. [REMOVED
] RemovedHarmonyReference
property, config and command & enabled it by default. [REMOVED
] RemovedRustEdit.Ext
module.
[
NEW
] Added plugin hook call memory allocation tracking. [UPDATED
] Display plugin memory usage inc.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).
[
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
] Injectarg.cmd
property with the command installed Rust command (ConsoleSystem.Command
). [MISC
] PublicizedConsoleSystem.Index.All
.
[
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
] Addedc.grant
invalidation replies. [NEW
] Addedc.revoke
invalidation replies. [NEW
] AddedOnNativeCommandHasPermission(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
] Setc.unitystacktrace
to true by default for production builds. [UPDATED
] Updated all loggers to always expose stacktraces. [UPDATED
] Uselock
and lists instead ofQueue
for NextFrame/NextTick processing. [MISC
] Admin Module: Added Deleted flag property to Plugin.Status. [MISC
] ModerationTools Module: Warn server ifcadmin
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).
[
NEW
] Addedc.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).
[
NEW
] Admin Module: Added alpha property in color picker (CUI and implementation). [NEW
] Added safe-error handling forPlugin.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.
[
NEW
] AddedPair<string, CuiElement, CuiElement>
support (Carbon CUI). [NEW
] AddedPlugin.IsPrecompiled
indicating if a plugin's managed programmatically. [NEW
] Addedprecompiled
property to ModLoader.InitializePlugin which will process hooks, HookMethod attributes and plugin references found within the plugin type. [NEW
] Addedupdate
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 withc.
commands. [MISC
] Don't insert elements into pooled containers if they're updateable (Carbon CUI).
[
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: AddedProhibitItemConsumableContainerStacking
(eg. wo'a jugs). [NEW
] StackManager Module: AddedProhibitItemContainerStacking
(eg. weapons). [NEW
] StackManager Module: AddedProhibitItemFishableStacking
(eg. bottles). [NEW
] Vanish Module: AddedBroadcastVanishSounds
config to Vanish (disabled by default). [NEW
] Added(bool)newConfig
and(bool)newData
toBaseModule.PreLoadShouldSave()
. [NEW
] Added more Oxide compatibility (Event, PluginManagerEvent). [NEW
] Allow modules to overrideInternalCallHook
, 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 clearharmony.log
fromcarbon/logs
(from both debug & release builds). [MISC
] Render IPlayer as 'connected' when IsServer is true. [MISC
] SwappedBaseHookable.Name
from a field to a property. [REMOVED
] Removed legacyHookValidation
convar (from Admin module as well) as it's now entirely obsolete.
[
NEW
] Fixed issue where some players do not get added to the user database. [NEW
] Fixed script loader and watcher occasional issue.
[
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
] AddedDataFileSystem.DeleteDataFile
andDynamicConfigFile.Delete
. [UPDATED
] Fixed CUIdestroyUi
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.
[
MISC
] Rust optional update patch for pooling changes.
[
NEW
] Added backc.version
,c.protocol
andc.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 underc.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
] WhitelistedIonic.Zip.Reduced
.
[
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.
[
NEW
] Admin Module: Added multi-selection support in the Entities tab. [UPDATED
] Vanish Module: Made Bradley ignore vanished players. [UPDATED
] Legacy code cleanup.
[
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.