Oxide Porting
An in-depth understanding of the necessary changes that are done when you're willing to transfer your Oxide server to Carbon.
Feature | Carbon | Oxide |
---|---|---|
Dynamic Patching With the sheer amount of roughly 800+ Oxide hooks and patches, Carbon only fires and executes them when plugins need them, keeping things fully vanilla otherwise. On Oxide, all of these hooks fire at all times regardless if there are loaded plugins needing them, adding overhead. Learn more. | ✅ Present | 🚫 Absent |
Self Updating Carbon automatically updates the edition it's running (production, staging, etc.) without requiring any additional work. For example, on Rust wipe day, all you have to do is ensure that your Rust server is validated and updated, then booting it, Carbon will automatically self-patch for that Rust version. | ✅ Present | 🚫 Absent |
Remote Hook Updates On server boot, Carbon is looking to download the most recent updates for Oxide and Community hooks without requiring a full Carbon update. If there are hook failure patches (which usually doesn't happen), look for announcements in our Discord server, then just reboot the server to get the hook updates. | ✅ Present | 🚫 Absent |
Profiler Carbon has a built in profiler designed to profile performance of anything you wanna track (Rust, Unity, System, plugins, modules, extensions, you name it). Learn more. | ✅ Present | 🚫 Absent |
Harmony 2.0 For the longest time, Rust used the outdated Harmony 1.0 which meant that Oxide was also using that outdated version in plugins. Carbon has always ran Harmony 2.0, then only fairly recently Facepunch updated Rust's Harmony version to 2.0, by proxy on Oxide also. | ✅ Present | ✅ Present |
Regular Updates Since the birth of Carbon (27th of August 2022), we've consistently released updates addressing issues, compatibility, QoL and implemented great ideas the community has contributed to the project with. Learn more. | ✅ Present | 🚫 Absent |
Regularly Maintained Carbon and Oxide have at least one thing in common; making sure the framework functions when Rust releases updates. | ✅ Present | ✅ Present |
Automatic
Carbon has a built-in process which detects an existent Oxide installation and upon clean Carbon install (patch unzipped in the server root directory), will appropriately move all extensions found in RustDedicated_Data/Managed
previously used with Oxide, in Carbon's dedicated directory.
Carbon also copies all config, data, lang, user & group data files and migrates it all at launch of the server, after files have been validated with Steam, since they're still patched with Oxide.
TIP
Ensure you validate all server files before initially starting up the server with Carbon for a clean boot. If things don't update, delete steamapps
directory from the root of the folder first.
Manual
To understand changes necessary for handling things manually, follow the following instructions.
Config Folder
The <root>/oxide/config
folder becomes <root>/carbon/configs
. This is because early in the development of Carbon, we've named it that way since it makes more sense.
Extensions
The Oxide extensions, which in Oxide (for some reason) you place then in the brain folder of your Rust server, aka RustDedicated_Data/Managed
, in Carbon it goes in its own dedicated directory, namely <root>/carbon/extensions
.
If you need help to identify what an Oxide extension looks like in your files, any file with Oxide.Ext.*.dll
format would be found in the Managed folder of an Oxide server.
Oxide (o.*) Commands
They don't work, this is Carbon. It might be difficult to get used to it, but all our commands are prefixed with c.*. Although you may create aliases which reflect commands.
Look for alias
in the Commands page. Read more here.
Successful Transfer
There's a requirement where you must delete all Oxide.*.dll
from your <root>/RustDedicated_Data/Managed
folder, as well as verifying and re-updating your Rust server so files like Assembly-CSharp.dll
get redownloaded, since Oxide processes them.
Take all extensions out of your <root>/RustDedicated_Data/Managed
directory, and putting them in the respective Carbon extensions folder, removing Managed folder altogether, then performing an update & validation with steamcmd. This ensures that your server is cleansed and vanilla.