MixMods Creator Directory

← MiX Server Pack

Check report MiX Server Pack v0.9.50

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 · 27457 lines
StatusChecked, 143 findings
Uploaded2026-09-23 (15 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
OnLootEntity3617nothing heavy found
OnPlayerDeath3623nothing heavy found
OnEntityDeath5254nothing heavy found
OnDispenserGather5294nothing 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
OnLootEntity584nothing heavy found
OnPlayerDeath918LINQ

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
OnEntitySpawned395nothing heavy found
OnEntitySpawned397nothing heavy found
OnEntitySpawned399nothing heavy found
OnEntitySpawned401nothing heavy found
OnEntitySpawned403nothing heavy found
OnEntityKill405nothing heavy found
OnEntityKill407nothing heavy found
OnEntityKill409nothing heavy found
OnEntityKill411nothing heavy found
OnEntityKill413nothing 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
OnPlayerDeath656nothing heavy found
OnPlayerSleepEnded664nothing 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
OnPlayerInput288nothing 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
OnEntityDeath914string interpolation
OnLootEntity931nothing 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

72f608f94959cba415bfc79ed2b5c4ee2cc7bae30266db01466fa5a6b5f528ea

Hooks it registers 42

InitOnAskReplyOnCollectiblePickupOnCooldownOnCorpsePopulateOnDispenserBonusOnDispenserGatherOnDoorClosedOnDoorOpenedOnEntityBuiltOnEntityDeathOnEntityKillOnEntitySpawnedOnEntityTakeDamageOnHammerHitOnLootEntityOnLootEntityEndOnLootSpawnOnNewSaveOnOffOnPlayerChatOnPlayerConnectedOnPlayerDeathOnPlayerDisconnectedOnPlayerInputOnPlayerLootEndOnPlayerRespawnedOnPlayerSleepEndedOnPluginLoadedOnPluginUnloadedOnRunPlayerMetabolismOnScheduleTickOnServerInitializedOnSkyServerDayOnSkyServerHourOnTeamKickOnTeamLeaveOnUserApproveOnUserConnectedOnUserDisconnectedOnVendingShopOpenUnload

Findings 143

Network 14

LevelWhatWhereLine
note Oxide/Carbon web request plugins/MixCore.cs:5229 webrequest.Enqueue(url, payload, (code, response) =>
note URL in source plugins/MixHud.cs:1469 Field(s, "mixhud.admin website", _config.WebsiteUrl, "MixHud.Admin.Website", 120, "https://yourserver.com");
note URL in source plugins/MixHud.cs:1473 Field(s, "mixhud.admin discord", _config.DiscordInvite, "MixHud.Admin.Discord", 120, "https://discord.gg/yourserver", "0.66");
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:1252 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 86

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:2386 if (pluginName == "MixCommerce" && IsAdmin(player))
note changes or checks admin status plugins/MixCore.cs:3149 var admin = IsAdmin(player);
note changes or checks admin status plugins/MixCore.cs:3151 var auth = player.net?.connection?.authLevel ?? 0;
note changes or checks admin status plugins/MixCore.cs:3171 if (!IsAdmin(player)) { player.ChatMessage("<color=#f87171>MixPack</color>: debug is staff only"); return; }
note changes or checks admin status plugins/MixCore.cs:3192 var admin = IsAdmin(player);
note changes or checks admin status plugins/MixCore.cs:3193 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:3206 if (!IsAdmin(player)) { player.ChatMessage("<color=#f87171>MixPack</color>: debug is staff only"); return; }
note changes or checks admin status plugins/MixCore.cs:3213 var admin = IsAdmin(player);
note changes or checks admin status plugins/MixCore.cs:3214 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:3497 if (player == null || !IsAdmin(player)) return;
note changes or checks admin status plugins/MixCore.cs:3638 "tune" => IsAdmin(player) ? "tune.main" : null,
note changes or checks admin status plugins/MixCore.cs:3644 "world" => IsAdmin(player) ? "world.admin" : "world.guide",
note changes or checks admin status plugins/MixCore.cs:3645 "arena" => IsAdmin(player) ? "arena.admin" : "arena.events",
note changes or checks admin status plugins/MixCore.cs:3661 else if (!IsAdmin(player))
note changes or checks admin status plugins/MixCore.cs:3671 else if (!IsAdmin(player))
note changes or checks admin status plugins/MixCore.cs:3679 if (mod is "govern" or "tune" && !IsAdmin(player) && !(mod == "govern" && GovernStaff(player)))
note changes or checks admin status plugins/MixCore.cs:3734 public bool API_IsPackStaff(BasePlayer player) => IsAdmin(player);
note changes or checks admin status plugins/MixCore.cs:3828 if (!playerPack && !IsAdmin(player) && !(packKey == "govern" && GovernStaff(player)))
note changes or checks admin status plugins/MixCore.cs:3840 "world" => IsAdmin(player) ? "world.admin" : "world.guide",
note changes or checks admin status plugins/MixCore.cs:3851 private bool IsAdmin(BasePlayer player) =>
note changes or checks admin status plugins/MixCore.cs:3854 || (!_noclipElevated.Contains(player.userID) && (player.IsAdmin || (player.net?.connection?.authLevel ?? 0) >= 2))
note changes or checks admin status plugins/MixCore.cs:3859 if (IsAdmin(player)) return true;
note changes or checks admin status plugins/MixCore.cs:3889 IsAdmin(player) || plugins.Find("MixGovern")?.Call("API_IsStaff", player) is true;
note changes or checks admin status plugins/MixCore.cs:3987 player != null && (IsAdmin(player) || permission.UserHasPermission(player.UserIDString, PermUse));
note changes or checks admin status plugins/MixCore.cs:4002 ("tune", "Tune", IsPluginLoaded("MixWorldTune") && IsAdmin(player))
note changes or checks admin status plugins/MixCore.cs:4017 if (_config.ModManager.Enabled && IsAdmin(player))
note changes or checks admin status plugins/MixCore.cs:4094 if (!IsAdmin(player))
note changes or checks admin status plugins/MixCore.cs:4144 .Where(t => t.IsEnabled(player) && (!t.AdminOnly || IsAdmin(player)))
note changes or checks admin status plugins/MixCore.cs:4187 var admin = IsAdmin(player);
note changes or checks admin status plugins/MixCore.cs:4265 var admin = IsAdmin(player);
note changes or checks admin status plugins/MixCore.cs:4428 var admin = IsAdmin(player);
note changes or checks admin status plugins/MixCore.cs:4701 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:300 if (!IsAdmin(player))
note changes or checks admin status plugins/MixWorld.cs:344 private bool MayQuicksort(BasePlayer player) => player != null && (permission.UserHasPermission(player.UserIDString, PermUse) || IsAdmin(player));
note changes or checks admin status plugins/MixWorld.cs:349 if (permission.UserHasPermission(player.UserIDString, PermUse) || IsAdmin(player)) return true;
note changes or checks admin status plugins/MixWorld.cs:354 private bool IsAdmin(BasePlayer player)
note changes or checks admin status plugins/MixWorld.cs:357 if (player.IsAdmin || (player.net?.connection?.authLevel ?? 0) >= 2) return true;
note changes or checks admin status plugins/MixWorld.cs:366 if (IsAdmin(player)) return true;
note changes or checks admin status plugins/MixWorld.cs:388 if (IsAdmin(player))
note changes or checks admin status plugins/MixWorld.cs:476 if (IsAdmin(player))
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:653 && (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:635 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:151 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:968 return permission.UserHasPermission(id, PermAdmin) || permission.UserHasPermission(id, "mixpack.admin") || (BasePlayer.FindByID(userId)?.IsAdmin ?? false);
note changes or checks admin status plugins/MixEvents.cs:1267 private bool IsAdmin(BasePlayer player) =>
note changes or checks admin status plugins/MixEvents.cs:1268 player != null && (player.IsAdmin || permission.UserHasPermission(player.UserIDString, PermAdmin));
note changes or checks admin status plugins/MixEvents.cs:1287 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:2989 _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:669 _queue = ServerMgr.Instance?.connectionQueue?.Queued ?? 0;
note repeating timer plugins/MixHud.cs:349 _timer = timer.Every(_refresh, Tick);
note repeating timer plugins/MixHud.cs:690 _tipTimer = _config.Enabled && _config.ShowTips && _config.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:3708 if (apply && changed > 0) SaveConfig();
note writes the config file plugins/MixCommerce.cs:1612 SaveConfig();
note writes the config file plugins/MixWorld.cs:525 SaveConfig();
note writes the config file plugins/MixHud.cs:1253 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:1308 SaveConfig();
note writes the config file plugins/MixEvents.cs:1318 SaveConfig();
note writes the config file plugins/MixEvents.cs:1386 SaveConfig();
note writes the config file plugins/MixEvents.cs:1408 SaveConfig();

Processes and native code 1

LevelWhatWhereLine
starts a process 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)