MixMods Creator Directory

← MiX Server Pack

Check report MiX Server Pack v0.9.53.2

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 · 27582 lines
StatusChecked, 147 findings
Uploaded2026-09-25 (13 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
OnPlayerDeath793nothing heavy found
OnPlayerInput840nothing heavy found
OnEntityTakeDamage1530nothing 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
OnEntityKill190nothing heavy found
OnLootEntity595nothing heavy found
OnPlayerDeath932nothing 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
OnEntitySpawned501nothing heavy found
OnDispenserGather557nothing heavy found
OnDispenserBonus565nothing heavy found
OnCollectiblePickup573nothing heavy found
OnEntityKill600nothing heavy found
OnEntityKill601nothing 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
OnEntitySpawned381nothing heavy found
OnEntitySpawned382nothing heavy found
OnEntitySpawned383nothing heavy found
OnEntitySpawned384nothing heavy found
OnEntitySpawned385nothing heavy found
OnEntityKill386nothing heavy found
OnEntityKill387nothing heavy found
OnEntityKill388nothing heavy found
OnEntityKill389nothing heavy found
OnEntityKill390nothing 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
OnEntityKill133nothing 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
OnEntityTakeDamage597nothing heavy found
OnEntityDeath918nothing heavy found
OnLootEntity940nothing 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
OnEntityDeath338nothing heavy found
OnEntityKill349nothing heavy found

Repeating timers under one second: 0.25 s.

SHA-256 of this file

ae2ff660cd770f9b2cf36eae009a04b5e09d646f6ce335efe5ba6221aa5f1c55

Hooks it registers 42

InitOnAskReplyOnCollectiblePickupOnCooldownOnCorpsePopulateOnDispenserBonusOnDispenserGatherOnDoorClosedOnDoorOpenedOnEntityBuiltOnEntityDeathOnEntityKillOnEntitySpawnedOnEntityTakeDamageOnHammerHitOnLootEntityOnLootEntityEndOnLootSpawnOnNewSaveOnOffOnPlayerChatOnPlayerConnectedOnPlayerDeathOnPlayerDisconnectedOnPlayerInputOnPlayerLootEndOnPlayerRespawnedOnPlayerSleepEndedOnPluginLoadedOnPluginUnloadedOnScheduleTickOnServerInitializedOnServerSaveOnSkyServerDayOnSkyServerHourOnTeamKickOnTeamLeaveOnUserApproveOnUserConnectedOnUserDisconnectedOnVendingShopOpenUnload

Findings 147

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:1261 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:1736 Directory.CreateDirectory(dir);
note file system write or delete plugins/MixGovern.cs:1738 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:1159 return player.IsAdmin || (player.net?.connection?.authLevel ?? 0) >= 2;
note changes or checks admin status plugins/MixGovern.cs:1167 _noclipRestore[player.userID] = (player.IsAdmin, conn.authLevel);
note changes or checks admin status plugins/MixGovern.cs:1170 player.SetPlayerFlag(BasePlayer.PlayerFlags.IsAdmin, true);
note changes or checks admin status plugins/MixGovern.cs:1171 conn.authLevel = 2;
note changes or checks admin status plugins/MixGovern.cs:1183 conn.authLevel = restore.authLevel;
note changes or checks admin status plugins/MixGovern.cs:1184 player.SetPlayerFlag(BasePlayer.PlayerFlags.IsAdmin, restore.hadAdmin);
note changes or checks admin status plugins/MixGovern.cs:1323 var auth = _noclipRestore.TryGetValue(userId, out var before) ? before.authLevel : target.net.connection.authLevel;
note changes or checks admin status plugins/MixGovern.cs:1326 if (target.IsDeveloper)
note changes or checks admin status plugins/MixGovern.cs:3128 if (_noclipRestore.TryGetValue(player.userID, out var before)) return before.hadAdmin || before.authLevel >= 2;
note changes or checks admin status plugins/MixGovern.cs:3129 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:282 if (!IsAdmin(player)) { DenyAdmin(player); return; }
note changes or checks admin status plugins/MixWorld.cs:318 if (!IsAdmin(player))
note changes or checks admin status plugins/MixWorld.cs:354 if (!IsAdmin(player)) { DenyAdmin(player); return; }
note changes or checks admin status plugins/MixWorld.cs:362 private bool MayQuicksort(BasePlayer player) => player != null && (permission.UserHasPermission(player.UserIDString, PermUse) || IsAdmin(player));
note changes or checks admin status plugins/MixWorld.cs:365 player != null && (permission.UserHasPermission(player.UserIDString, PermUse) || IsAdmin(player));
note changes or checks admin status plugins/MixWorld.cs:369 private bool IsAdmin(BasePlayer player)
note changes or checks admin status plugins/MixWorld.cs:372 if (player.IsAdmin || (player.net?.connection?.authLevel ?? 0) >= 2) return true;
note changes or checks admin status plugins/MixWorld.cs:399 if (IsAdmin(player))
note changes or checks admin status plugins/MixWorld.cs:487 if (IsAdmin(player))
note changes or checks admin status plugins/MixWorld.cs:495 if (!IsAdmin(player)) { DenyAdmin(player); return; }
note changes or checks admin status plugins/MixWorld.cs:529 if (!IsAdmin(player)) { DenyAdmin(player); return; }
note changes or checks admin status plugins/MixWorldTune.cs:1008 if (player.IsAdmin || (player.net?.connection?.authLevel ?? 0) >= 2) return true;
note changes or checks admin status plugins/MixHud.cs:476 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:977 return permission.UserHasPermission(id, PermAdmin) || permission.UserHasPermission(id, "mixpack.admin") || (BasePlayer.FindByID(userId)?.IsAdmin ?? false);
note changes or checks admin status plugins/MixEvents.cs:1276 private bool IsAdmin(BasePlayer player) =>
note changes or checks admin status plugins/MixEvents.cs:1277 player != null && (player.IsAdmin || permission.UserHasPermission(player.UserIDString, PermAdmin));
note changes or checks admin status plugins/MixEvents.cs:1296 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 22

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:677 timer.Every(60f, OnScheduleTick);
note repeating timer plugins/MixGovern.cs:678 timer.Every(120f, PurgeExpiredModeration);
note repeating timer plugins/MixGovern.cs:1087 _godTimer = timer.Every(1f, TopUpGods);
note Harmony patch plugins/MixWorldTune.cs:31 private Harmony _harmony;
note Harmony patch plugins/MixWorldTune.cs:98 _harmony = new Harmony(HarmonyId);
note Harmony patch plugins/MixWorldTune.cs:104 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:631 _queued = ServerMgr.Instance?.connectionQueue?.Queued ?? 0;
note repeating timer plugins/MixHud.cs:345 _drawTimer = timer.Every(_refresh, () => Redraw(false));
note repeating timer plugins/MixHud.cs:653 _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:1722 SaveConfig();
note writes the config file plugins/MixGovern.cs:3736 if (apply && changed > 0) SaveConfig();
note writes the config file plugins/MixCommerce.cs:1612 SaveConfig();
note writes the config file plugins/MixWorld.cs:536 SaveConfig();
note writes the config file plugins/MixHud.cs:1496 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:1317 SaveConfig();
note writes the config file plugins/MixEvents.cs:1327 SaveConfig();
note writes the config file plugins/MixEvents.cs:1395 SaveConfig();
note writes the config file plugins/MixEvents.cs:1417 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)