What's New in Version 0.24.0520 See changelog
Released
New Features
- Admin Module: Added Items tab to Carbon's configuration page, allowing the creation of custom items.
- Admin Module: Added a Reload button on installed Plugins for easier management.
- Admin Module: Introduced Rust backpack looting hooks and logic with user-friendly on-screen instructions.
- Added c.commit command to print information about the Git commit of the runtime Carbon build.
- Introduced c.debughook (hookid|name) duration for identifying which plugins trigger a specific hook and log each occurrence. This feature is available in the debug build only.
- Added c.openplugin PluginName to open the .cs file of the specified plugin directly from the console.
- Introduced c.resethooks to clear all progress on current hooks including hook time, fires, memory usage, and lag spikes.
- Added Permissions instance in CarbonModule for enhanced permission management.
- Improved error handling for c.grant and c.revoke commands when the parameter is non-existent.
- Introduced a boolean hook CanAcceptBackpackItem2803314817 to determine if a backpack can accept a specific item.
- Added cached hook lag spike processing for better performance monitoring.
- Implemented a Carbon patch to fix c.defaultserverchatid, allowing it to override the user ID Rust uses for server chat messages.
- Implemented a Carbon patch to remove the Rust 'Bump' log in HotAirBalloon, reducing unnecessary log entries.
- Added LineType support to the InputField Carbon CUI component, enhancing UI customization.
- Introduced OS commands for opening various Carbon folders, such as c.openconfigs, c.opendata, c.openroot, and more for easier access to Carbon's filesystem.
- Added a feature to display unloaded and compilation-failed plugins at the bottom of the c.plugins command for better plugin management.
Fixes
- Admin Module: Fixed the 'Hide plugin icons' configuration option to work as intended.
- Resolved an issue where Build.IsDebug was not accessible due to it being static, improving debuggability.
- Fixed errors in CarbonPlugin's built-in harmony patches not displaying the exception stack trace, making debugging more straightforward.
- Addressed a limitation in covalence's FindPlayerById method, which now looks for player data files instead of only active player bodies on the server.
- Enhanced error handling for IDelFix to prevent failures, with special thanks to Tryhard for the contribution.
- Updated Permission's UserHasPermission to utilize a runtime dictionary, optimizing cache filling as needed by plugins.
Updates
- Admin Module: Changed the behavior to run module.Reload instead of module.Load when saving module config in the config editor, ensuring the module is properly restarted.
- Refined the Plugins tab to use IEnumerables instead of arrays for a more efficient data handling.
- Removed the display of compile time for precompiled hookables to streamline the interface.
- Enhanced the display of plugin and hook lag spike information in commands like c.plugins, c.plugininfo, c.modules, and c.moduleinfo for better monitoring.
- Overhauled the code quality in ModLoader, aiming to reduce heap allocations for improved performance.
Miscellaneous
- Admin Module: Implemented caching for the Configuration tab to regenerate it each time it's initially displayed, enhancing UI responsiveness.
- Introduced a command and configuration for hook lag spike thresholds, allowing for finer control over performance monitoring.
- Removed automatic cleanup of the carbon/reports folder on preload to prevent loss of potentially useful debugging information.
- Removed the inclusion of version numbers in DLL binary names to avoid issues with referencing.
- Discontinued the c.report command, the carbon/reports folder, and its underlying implementation as they have become obsolete.