MixMods Creator Directory

← MiX Server Pack

Check report MiX Server Pack v0.9.53

What an automated read of this exact file found. It is a list of facts about the code, not a safety verdict. Read it, then read the config, then test on a throwaway server.

FileMixServerPack.zip · 6.0 MB · 23 source files · 27443 lines
StatusChecked, 146 findings
Uploaded2026-09-24 (14 days ago)
Compile checkCompiles on Carbon · compiles without Carbon's compat shims

Compile check

Compiled on the live game box against Rust build 25670169 (game files dated 2026-10-02, Carbon files dated 2026-10-01), 2026-10-02 (6 days ago). "Without shims" means the plugin does not lean on Carbon's compatibility layer for APIs the game has removed, which is the version most likely to keep working after the next Rust update and to run on Oxide.

MixCore.cs

Hot-path hooks (these run very often; what each one does inside):

HookLineDoes
OnLootEntity3647nothing heavy found
OnPlayerDeath3653nothing heavy found
OnEntityDeath5302nothing heavy found
OnEntityDeath5324nothing heavy found
OnDispenserGather5341nothing heavy found

MixGovern.cs

Hot-path hooks (these run very often; what each one does inside):

HookLineDoes
OnPlayerDeath794nothing heavy found
OnPlayerInput841nothing heavy found
OnRunPlayerMetabolism1129nothing heavy found
OnEntityTakeDamage1510nothing heavy found

Walks every entity on the server: 1 place.

MixCommerce.cs

No hot-path hooks registered.

MixWorld.cs

Hot-path hooks (these run very often; what each one does inside):

HookLineDoes
OnEntityKill178nothing heavy found
OnLootEntity579nothing heavy found
OnPlayerDeath915nothing heavy found

Walks every entity on the server: 1 place.

MixWorldTune.cs

Hot-path hooks (these run very often; what each one does inside):

HookLineDoes
OnEntitySpawned488nothing heavy found
OnDispenserGather544nothing heavy found
OnDispenserBonus552nothing heavy found
OnCollectiblePickup560nothing heavy found
OnEntityKill587nothing heavy found
OnEntityKill588nothing heavy found

Walks every entity on the server: 2 places.

MixHud.cs

Hot-path hooks (these run very often; what each one does inside):

HookLineDoes
OnEntitySpawned380nothing heavy found
OnEntitySpawned381nothing heavy found
OnEntitySpawned382nothing heavy found
OnEntitySpawned383nothing heavy found
OnEntitySpawned384nothing heavy found
OnEntityKill385nothing heavy found
OnEntityKill386nothing heavy found
OnEntityKill387nothing heavy found
OnEntityKill388nothing heavy found
OnEntityKill389nothing heavy found

Walks every entity on the server: 2 places.

MixUiFix.cs

Hot-path hooks (these run very often; what each one does inside):

HookLineDoes
OnPlayerSleepEnded128nothing heavy found
OnLootEntity134nothing heavy found

MixImages.cs

No hot-path hooks registered.

MixPackAssetsShim.cs

No hot-path hooks registered.

MixModsConnectUI.cs

Hot-path hooks (these run very often; what each one does inside):

HookLineDoes
OnPlayerDeath660nothing heavy found
OnPlayerSleepEnded668nothing heavy found

TimeOfDay.cs

No hot-path hooks registered.

SimpleFurnaces.cs

Hot-path hooks (these run very often; what each one does inside):

HookLineDoes
OnEntityKill64nothing heavy found
CanMoveItem72nothing heavy found

MixAdminMove.cs

Hot-path hooks (these run very often; what each one does inside):

HookLineDoes
OnPlayerInput287nothing heavy found

MixCarbonLeakGuard.cs

No hot-path hooks registered.

Walks every entity on the server: 1 place.

MixShopfront.cs

Hot-path hooks (these run very often; what each one does inside):

HookLineDoes
OnEntityTakeDamage837nothing heavy found

Walks every entity on the server: 1 place.

MixBounty.cs

Hot-path hooks (these run very often; what each one does inside):

HookLineDoes
OnPlayerDeath553nothing heavy found

MixVote.cs

No hot-path hooks registered.

MixMyMini.cs

Hot-path hooks (these run very often; what each one does inside):

HookLineDoes
OnEntityKill118nothing heavy found

MixAutoDoor.cs

Hot-path hooks (these run very often; what each one does inside):

HookLineDoes
OnEntityKill142nothing heavy found

MixAsk.cs

No hot-path hooks registered.

MixEvents.cs

Hot-path hooks (these run very often; what each one does inside):

HookLineDoes
OnEntityTakeDamage595nothing heavy found
OnEntityDeath914nothing heavy found
OnLootEntity936nothing heavy found

Walks every entity on the server: 1 place.

MixNotices.cs

No hot-path hooks registered.

MixSettlers.cs

Hot-path hooks (these run very often; what each one does inside):

HookLineDoes
OnEntityDeath332nothing heavy found
OnEntityKill343nothing heavy found

Repeating timers under one second: 0.25 s.

SHA-256 of this file

587b6dccf4b6fee175c5ed8e29eabf3eda429c7dea44bc32dcfaae8c45442a16

Hooks it registers 43

InitOnAskReplyOnCollectiblePickupOnCooldownOnCorpsePopulateOnDispenserBonusOnDispenserGatherOnDoorClosedOnDoorOpenedOnEntityBuiltOnEntityDeathOnEntityKillOnEntitySpawnedOnEntityTakeDamageOnHammerHitOnLootEntityOnLootEntityEndOnLootSpawnOnNewSaveOnOffOnPlayerChatOnPlayerConnectedOnPlayerDeathOnPlayerDisconnectedOnPlayerInputOnPlayerLootEndOnPlayerRespawnedOnPlayerSleepEndedOnPluginLoadedOnPluginUnloadedOnRunPlayerMetabolismOnScheduleTickOnServerInitializedOnServerSaveOnSkyServerDayOnSkyServerHourOnTeamKickOnTeamLeaveOnUserApproveOnUserConnectedOnUserDisconnectedOnVendingShopOpenUnload

Findings 146

Network 12

LevelWhatWhereLine
note Oxide/Carbon web request plugins/MixCore.cs:5255 webrequest.Enqueue(url, payload, (code, response) =>
look outbound network use plugins/MixImages.cs:192 using var www = UnityWebRequest.Get(url);
look outbound network use plugins/MixImages.cs:198 if (www.result != UnityWebRequest.Result.Success)
note URL in source plugins/MixModsConnectUI.cs:23 private const string CdnBase = "https://mixapps.store";
note URL in source plugins/MixVote.cs:29 public string ApiUrl = "https://rust-servers.net/api/";
note Oxide/Carbon web request plugins/MixVote.cs:218 webrequest.Enqueue(url, null, (code, body) =>
note Oxide/Carbon web request plugins/MixVote.cs:246 webrequest.Enqueue(url, null, (code, body) =>
note URL in source plugins/MixAsk.cs:30 public string ApiUrl = "https://mixapps.store/api/mixask/ask.php";
note URL in source plugins/MixAsk.cs:64 if (string.IsNullOrWhiteSpace(_config.ApiUrl)) _config.ApiUrl = "https://mixapps.store/api/mixask/ask.php";
note Oxide/Carbon web request plugins/MixAsk.cs:170 webrequest.Enqueue(_config.ApiUrl, body, (code, response) => OnAskReply(userId, question, code, response),
note URL in source plugins/MixEvents.cs:49 public string ApiUrl = "https://mixapps.store/api/mixevents/ingest.php";
note Oxide/Carbon web request plugins/MixEvents.cs:1257 webrequest.Enqueue(_config.ApiUrl, body, (code, response) =>

Files and server config 6

LevelWhatWhereLine
note file system write or delete plugins/MixCore.cs:765 Directory.CreateDirectory(dir);
note file system write or delete plugins/MixCore.cs:767 File.Copy(live, dest, true);
note file system write or delete plugins/MixGovern.cs:1713 Directory.CreateDirectory(dir);
note file system write or delete plugins/MixGovern.cs:1715 File.Copy(live, dest, true);
note file system write or delete plugins/MixCommerce.cs:1626 Directory.CreateDirectory(dir);
note file system write or delete plugins/MixCommerce.cs:1628 File.Copy(live, dest, true);

Steam IDs and admin 91

LevelWhatWhereLine
note changes or checks admin status plugins/MixCore.cs:112 if (!IsAdmin(player)) { player.ChatMessage("<color=#f87171>MixCore</color>: mixcore.sfxtest is staff only"); return; }
note changes or checks admin status plugins/MixCore.cs:742 if (arg.Connection != null && !IsAdmin(arg.Player())) { arg.ReplyWith("MixCore: mixcore.resetconfig is staff only"); return; }
note changes or checks admin status plugins/MixCore.cs:779 if (arg.Connection != null && !IsAdmin(arg.Player())) { arg.ReplyWith("MixCore: mixpack.reload is staff only"); return; }
note changes or checks admin status plugins/MixCore.cs:900 if (IsAdmin(player))
note changes or checks admin status plugins/MixCore.cs:1292 if (!IsAdmin(requestingAdmin))
note changes or checks admin status plugins/MixCore.cs:1312 player.SetPlayerFlag(BasePlayer.PlayerFlags.IsAdmin, true);
note changes or checks admin status plugins/MixCore.cs:1313 player.net.connection.authLevel = 2;
note changes or checks admin status plugins/MixCore.cs:2388 if (pluginName == "MixCommerce" && IsAdmin(player))
note changes or checks admin status plugins/MixCore.cs:2698 if (!IsAdmin(player))
note changes or checks admin status plugins/MixCore.cs:2816 if (!IsAdmin(player))
note changes or checks admin status plugins/MixCore.cs:3174 var admin = IsAdmin(player);
note changes or checks admin status plugins/MixCore.cs:3176 var auth = player.net?.connection?.authLevel ?? 0;
note changes or checks admin status plugins/MixCore.cs:3196 if (!IsAdmin(player)) { player.ChatMessage("<color=#f87171>MixPack</color>: debug is staff only"); return; }
note changes or checks admin status plugins/MixCore.cs:3217 var admin = IsAdmin(player);
note changes or checks admin status plugins/MixCore.cs:3218 player.ChatMessage($"<color=#4ade80>UI debug</color>: admin={admin} · mixpack.admin={permission.UserHasPermission(player.UserIDString, PermAdmin)} · IsAdmin={pl
note changes or checks admin status plugins/MixCore.cs:3231 if (!IsAdmin(player)) { player.ChatMessage("<color=#f87171>MixPack</color>: debug is staff only"); return; }
note changes or checks admin status plugins/MixCore.cs:3238 var admin = IsAdmin(player);
note changes or checks admin status plugins/MixCore.cs:3239 player.ChatMessage($"<color=#4ade80>UI debug</color>: {(IsUiDebug(player.userID) ? "ON" : "OFF")} · staff={admin} · perm={permission.UserHasPermission(player.Us
note changes or checks admin status plugins/MixCore.cs:3248 if (!IsAdmin(player))
note changes or checks admin status plugins/MixCore.cs:3527 if (player == null || !IsAdmin(player)) return;
note changes or checks admin status plugins/MixCore.cs:3668 "tune" => IsAdmin(player) ? "tune.main" : null,
note changes or checks admin status plugins/MixCore.cs:3674 "world" => IsAdmin(player) ? "world.admin" : "world.guide",
note changes or checks admin status plugins/MixCore.cs:3675 "arena" => IsAdmin(player) ? "arena.admin" : "arena.events",
note changes or checks admin status plugins/MixCore.cs:3691 else if (!IsAdmin(player))
note changes or checks admin status plugins/MixCore.cs:3701 else if (!IsAdmin(player))
note changes or checks admin status plugins/MixCore.cs:3709 if (mod is "govern" or "tune" && !IsAdmin(player) && !(mod == "govern" && GovernStaff(player)))
note changes or checks admin status plugins/MixCore.cs:3764 public bool API_IsPackStaff(BasePlayer player) => IsAdmin(player);
note changes or checks admin status plugins/MixCore.cs:3858 if (!playerPack && !IsAdmin(player) && !(packKey == "govern" && GovernStaff(player)))
note changes or checks admin status plugins/MixCore.cs:3870 "world" => IsAdmin(player) ? "world.admin" : "world.guide",
note changes or checks admin status plugins/MixCore.cs:3881 private bool IsAdmin(BasePlayer player) =>
note changes or checks admin status plugins/MixCore.cs:3884 || (!_noclipElevated.Contains(player.userID) && (player.IsAdmin || (player.net?.connection?.authLevel ?? 0) >= 2))
note changes or checks admin status plugins/MixCore.cs:3915 IsAdmin(player) || plugins.Find("MixGovern")?.Call("API_IsStaff", player) is true;
note changes or checks admin status plugins/MixCore.cs:4013 player != null && (IsAdmin(player) || permission.UserHasPermission(player.UserIDString, PermUse));
note changes or checks admin status plugins/MixCore.cs:4028 ("tune", "Tune", IsPluginLoaded("MixWorldTune") && IsAdmin(player))
note changes or checks admin status plugins/MixCore.cs:4043 if (_config.ModManager.Enabled && IsAdmin(player))
note changes or checks admin status plugins/MixCore.cs:4120 if (!IsAdmin(player))
note changes or checks admin status plugins/MixCore.cs:4170 .Where(t => t.IsEnabled(player) && (!t.AdminOnly || IsAdmin(player)))
note changes or checks admin status plugins/MixCore.cs:4213 var admin = IsAdmin(player);
note changes or checks admin status plugins/MixCore.cs:4291 var admin = IsAdmin(player);
note changes or checks admin status plugins/MixCore.cs:4454 var admin = IsAdmin(player);
note changes or checks admin status plugins/MixCore.cs:4727 var admin = IsAdmin(player);
note changes or checks admin status plugins/MixGovern.cs:50 private readonly Dictionary<ulong, (bool hadAdmin, uint authLevel)> _noclipRestore = new();
note changes or checks admin status plugins/MixGovern.cs:1149 return player.IsAdmin || (player.net?.connection?.authLevel ?? 0) >= 2;
note changes or checks admin status plugins/MixGovern.cs:1157 _noclipRestore[player.userID] = (player.IsAdmin, conn.authLevel);
note changes or checks admin status plugins/MixGovern.cs:1160 player.SetPlayerFlag(BasePlayer.PlayerFlags.IsAdmin, true);
note changes or checks admin status plugins/MixGovern.cs:1161 conn.authLevel = 2;
note changes or checks admin status plugins/MixGovern.cs:1173 conn.authLevel = restore.authLevel;
note changes or checks admin status plugins/MixGovern.cs:1174 player.SetPlayerFlag(BasePlayer.PlayerFlags.IsAdmin, restore.hadAdmin);
note changes or checks admin status plugins/MixGovern.cs:1313 var auth = _noclipRestore.TryGetValue(userId, out var before) ? before.authLevel : target.net.connection.authLevel;
note changes or checks admin status plugins/MixGovern.cs:1316 if (target.IsDeveloper)
note changes or checks admin status plugins/MixGovern.cs:3105 if (_noclipRestore.TryGetValue(player.userID, out var before)) return before.hadAdmin || before.authLevel >= 2;
note changes or checks admin status plugins/MixGovern.cs:3106 return player.IsAdmin || (player.net?.connection?.authLevel ?? 0) >= 2;
note changes or checks admin status plugins/MixCommerce.cs:2708 player != null && (player.IsAdmin
note changes or checks admin status plugins/MixCommerce.cs:2709 || (player.net?.connection?.authLevel ?? 0) >= 2
note changes or checks admin status plugins/MixWorld.cs:266 if (!IsAdmin(player)) { DenyAdmin(player); return; }
note changes or checks admin status plugins/MixWorld.cs:302 if (!IsAdmin(player))
note changes or checks admin status plugins/MixWorld.cs:338 if (!IsAdmin(player)) { DenyAdmin(player); return; }
note changes or checks admin status plugins/MixWorld.cs:346 private bool MayQuicksort(BasePlayer player) => player != null && (permission.UserHasPermission(player.UserIDString, PermUse) || IsAdmin(player));
note changes or checks admin status plugins/MixWorld.cs:349 player != null && (permission.UserHasPermission(player.UserIDString, PermUse) || IsAdmin(player));
note changes or checks admin status plugins/MixWorld.cs:353 private bool IsAdmin(BasePlayer player)
note changes or checks admin status plugins/MixWorld.cs:356 if (player.IsAdmin || (player.net?.connection?.authLevel ?? 0) >= 2) return true;
note changes or checks admin status plugins/MixWorld.cs:383 if (IsAdmin(player))
note changes or checks admin status plugins/MixWorld.cs:471 if (IsAdmin(player))
note changes or checks admin status plugins/MixWorld.cs:479 if (!IsAdmin(player)) { DenyAdmin(player); return; }
note changes or checks admin status plugins/MixWorld.cs:513 if (!IsAdmin(player)) { DenyAdmin(player); return; }
note changes or checks admin status plugins/MixWorldTune.cs:982 if (player.IsAdmin || (player.net?.connection?.authLevel ?? 0) >= 2) return true;
note changes or checks admin status plugins/MixHud.cs:462 p != null && (p.IsAdmin || (p.net?.connection?.authLevel ?? 0) >= 2 || permission.UserHasPermission(p.UserIDString, PermAdmin));
note changes or checks admin status plugins/MixUiFix.cs:164 var notes = RestoreControls(player, blind: player.IsAdmin);
note changes or checks admin status plugins/MixUiFix.cs:179 var notes = RestoreControls(player, blind: player.IsAdmin);
note changes or checks admin status plugins/MixUiFix.cs:190 if (arg.Player() != null && !arg.Player().IsAdmin) { arg.ReplyWith("MixUiFix: mixui.fixall is admin only"); return; }
note changes or checks admin status plugins/MixUiFix.cs:275 if (!quiet && player.IsAdmin) ReleaseGovernState(player, notes);
note changes or checks admin status plugins/MixModsConnectUI.cs:638 if (player.IsAdmin && !string.IsNullOrWhiteSpace(_config.AdminConnectHint))
note changes or checks admin status plugins/TimeOfDay.cs:171 (player.net?.connection?.authLevel ?? 0) >= authLevelThreshold);
note changes or checks admin status plugins/TimeOfDay.cs:177 return player != null ? IsStaff(player, authLevelThreshold) : arg.Connection.authLevel >= authLevelThreshold;
note changes or checks admin status plugins/MixAdminMove.cs:150 if (player.IsAdmin || (player.net?.connection?.authLevel ?? 0) >= 1) return true;
note changes or checks admin status plugins/MixCarbonLeakGuard.cs:217 if (arg.Connection?.player is not BasePlayer caller || caller.IsAdmin) return true;
note changes or checks admin status plugins/MixShopfront.cs:935 private bool IsAdmin(BasePlayer player) =>
note changes or checks admin status plugins/MixShopfront.cs:936 player != null && (player.IsAdmin || permission.UserHasPermission(player.UserIDString, PermAdmin));
note changes or checks admin status plugins/MixShopfront.cs:941 if (!IsAdmin(player)) { player.ChatMessage("Shopfront: admin only."); return; }
note changes or checks admin status plugins/MixShopfront.cs:1024 if (arg.Player() != null && !IsAdmin(arg.Player())) { arg.ReplyWith("Shopfront: admin only"); return; }
note changes or checks admin status plugins/MixShopfront.cs:1030 if (arg.Player() != null && !IsAdmin(arg.Player())) { arg.ReplyWith("Shopfront: admin only"); return; }
note changes or checks admin status plugins/MixShopfront.cs:1077 if (arg.Player() != null && !IsAdmin(arg.Player())) { arg.ReplyWith("Shopfront: admin only"); return; }
note changes or checks admin status plugins/MixBounty.cs:913 case "clear" when !IsAdmin(player):
note changes or checks admin status plugins/MixBounty.cs:914 case "expire" when !IsAdmin(player):
note changes or checks admin status plugins/MixBounty.cs:956 private bool IsAdmin(BasePlayer player) =>
note changes or checks admin status plugins/MixBounty.cs:957 player != null && (player.IsAdmin || permission.UserHasPermission(player.UserIDString, PermAdmin));
note changes or checks admin status plugins/MixEvents.cs:973 return permission.UserHasPermission(id, PermAdmin) || permission.UserHasPermission(id, "mixpack.admin") || (BasePlayer.FindByID(userId)?.IsAdmin ?? false);
note changes or checks admin status plugins/MixEvents.cs:1272 private bool IsAdmin(BasePlayer player) =>
note changes or checks admin status plugins/MixEvents.cs:1273 player != null && (player.IsAdmin || permission.UserHasPermission(player.UserIDString, PermAdmin));
note changes or checks admin status plugins/MixEvents.cs:1292 if (!IsAdmin(player)) { OpenBoard(player, "main"); return; }
note changes or checks admin status plugins/MixNotices.cs:90 if (arg.Connection?.player is BasePlayer caller && !caller.IsAdmin) { arg.ReplyWith("mixnotices.now: admin only"); return; }

Game control 21

LevelWhatWhereLine
note runs console commands or stops the server plugins/MixCore.cs:1308 ConsoleSystem.Run(ConsoleSystem.Option.Server.Quiet(), $"ownerid {userId} \"{name}\" \"Owner\"");
note repeating timer plugins/MixCore.cs:808 timer.Every(60f, AccruePlaytimePoints);
note repeating timer plugins/MixCore.cs:2993 _statusHudTimer = timer.Every(interval, RefreshStatusHudForAll);
note repeating timer plugins/MixGovern.cs:678 timer.Every(60f, OnScheduleTick);
note repeating timer plugins/MixGovern.cs:679 timer.Every(120f, PurgeExpiredModeration);
note Harmony patch plugins/MixWorldTune.cs:31 private Harmony _harmony;
note Harmony patch plugins/MixWorldTune.cs:97 _harmony = new Harmony(HarmonyId);
note Harmony patch plugins/MixWorldTune.cs:103 PrintWarning($"MixWorldTune: Harmony patching failed, recycler and craft speed settings are inactive: {ex.Message}");
note runs console commands or stops the server plugins/MixHud.cs:614 _queued = ServerMgr.Instance?.connectionQueue?.Queued ?? 0;
note repeating timer plugins/MixHud.cs:344 _drawTimer = timer.Every(_refresh, () => Redraw(false));
note repeating timer plugins/MixHud.cs:636 _tipTimer = _cfg.ShowTips && _cfg.Tips.Count > 1 ? timer.Every(_tipInterval, NextTip) : null;
note runs console commands or stops the server plugins/MixImages.cs:181 ServerMgr.Instance.StartCoroutine(DownloadAndStore(url, key, skinId, slot));
note repeating timer plugins/MixCarbonLeakGuard.cs:69 _sweepTimer = timer.Every(_config.IntervalSeconds, RunSweeps);
note repeating timer plugins/MixBounty.cs:251 timer.Every(300f, ExpireSweep);
note repeating timer plugins/MixVote.cs:100 timer.Every(_config.ReminderIntervalMinutes * 60f, () => { foreach (var p in players.Connected) CheckAll(p, false, remind: true); });
note repeating timer plugins/MixEvents.cs:318 timer.Every(1f, Tick);
note repeating timer plugins/MixEvents.cs:319 if (_config.AutoStartMinutes > 0) timer.Every(60f, AutoStart);
note repeating timer plugins/MixEvents.cs:320 timer.Every(Mathf.Max(60f, _config.SyncMinutes * 60f), () => Sync("timer"));
note repeating timer plugins/MixNotices.cs:66 _ticker = timer.Every(_config.IntervalMinutes * 60f, Tick);
note repeating timer plugins/MixSettlers.cs:141 timer.Repeat(0.25f, queue.Count, () => RespawnNext(queue));
note repeating timer plugins/MixSettlers.cs:143 timer.Every(GrowSeconds, Grow);

Config writes 15

LevelWhatWhereLine
note writes the config file plugins/MixCore.cs:749 SaveConfig();
note writes the config file plugins/MixCore.cs:1245 SaveConfig();
note writes the config file plugins/MixGovern.cs:1699 SaveConfig();
note writes the config file plugins/MixGovern.cs:3713 if (apply && changed > 0) SaveConfig();
note writes the config file plugins/MixCommerce.cs:1612 SaveConfig();
note writes the config file plugins/MixWorld.cs:520 SaveConfig();
note writes the config file plugins/MixHud.cs:1456 else if (changed) SaveConfig();
note writes the config file plugins/TimeOfDay.cs:503 SaveConfig();
note writes the config file plugins/TimeOfDay.cs:524 SaveConfig();
note writes the config file plugins/MixVote.cs:51 protected override void LoadDefaultConfig() { _config = new VoteConfig(); SaveConfig(); }
note writes the config file plugins/MixEvents.cs:537 if (changed && !_configBroken) { SaveConfig(); Puts("host spots converted to monument-relative and written to MixEvents.json"); }
note writes the config file plugins/MixEvents.cs:1313 SaveConfig();
note writes the config file plugins/MixEvents.cs:1323 SaveConfig();
note writes the config file plugins/MixEvents.cs:1391 SaveConfig();
note writes the config file plugins/MixEvents.cs:1413 SaveConfig();

Processes and native code 1

LevelWhatWhereLine
note reads process information plugins/MixCarbonLeakGuard.cs:126 using var proc = System.Diagnostics.Process.GetCurrentProcess();

"blocks": the file is not served until a person looks. "look": worth reading the line. "note": common in honest plugins (a URL, a config write); listed so you know it is there.

What was checked

Outbound network use and URLs, Discord webhooks, process and shell use, native imports, dynamic assembly loading and code generation, unsafe blocks, Base64 decoding and long encoded literals, file writes and deletes, server config and RCON references, hardcoded Steam IDs, admin flag changes, Harmony patches, console commands and server stops, repeating timers, config writes, and the hook names registered. The compile check above builds the file on the live game box against the current Rust and Carbon files, publicized the way Carbon does at boot, with Carbon's compat shims and without them. Not checked: whether the logic is correct or kind, or whether the config it ships with points anywhere.

Versions

VersionKindSizeFindingsStatusUploaded
0.9.59 currentupload47.9 MB478checked2026-10-02 (6 days ago)
0.9.56upload33.2 MB462checked2026-09-28 (10 days ago)
0.9.54.1upload29.2 MB453checked2026-09-26 (12 days ago)
0.9.54upload29.2 MB453checked2026-09-25 (13 days ago)
0.9.53.3upload6.0 MB148checked2026-09-25 (13 days ago)
0.9.53.2upload6.0 MB147checked2026-09-25 (13 days ago)
0.9.53upload6.0 MB146checked2026-09-24 (14 days ago)
0.9.50upload6.0 MB144checked2026-09-23 (15 days ago)
0.9.50upload6.0 MB143checked2026-09-23 (15 days ago)