RustTip

InitOxide

OxideServer
void InitOxide()
Method changed — check — the game method differs from the one the hook is recorded for in Oxide. The hook is still called, but its place may have shifted — worth checking after an update.

Parameters

No parameters.

Return value

voidBehaviour is not described.

Example

private void InitOxide()
{
    Puts("InitOxide");
}

Works in both Oxide and Carbon: Carbon loads Oxide plugins as is.

Injection point

Rust.opj (Oxide)
void Bootstrap.Init_Tier0()

Passes: —

Method changed — checkAssembly-CSharp.dll

Where it is called (this branch's game code)

// …
{
	NetworkInitRaknet();
}
AI.useUnityNavmesh = CommandLine.HasSwitch("-useOldNavmesh");
AI.checkTileValid = CommandLine.HasSwitch("-checkTileValid");
if (!UnityEngine.Application.isEditor)
{
	string text = CommandLine.Full.Replace(CommandLine.GetSwitch("-rcon.password", CommandLine.GetSwitch("+rcon.password", "RCONPASSWORD")), "******");
	Interface.CallHook("InitOxide");
	WriteToLog("Command Line: " + text);
}
int parentProcessId = CommandLine.GetSwitchInt("-parent-pid", 0);
if (parentProcessId != 0)
{
	try
	{
		SynchronizationContext syncContext = SynchronizationContext.Current;
// …

Sources: Rust.opj from OxideMod/Oxide.Rust (MIT) and hook metadata of the Carbon documentation (MIT). Method code is decompiled from this branch's server.