MixMods Creator Directory

← MiX Server Pack

Check report MiX Server Pack v0.9.54

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 · 29.2 MB · 54 source files · 71149 lines
StatusChecked, 453 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.

BagTimer.cs

No hot-path hooks registered.

Walks every entity on the server: 1 place.

FreeBuild.cs

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

HookLineDoes
OnPlayerSleepEnded459nothing heavy found
OnEntitySpawned660nothing heavy found
CanLootEntity1206nothing heavy found
CanLootEntity1229nothing heavy found
CanLootEntity1232nothing heavy found

Walks every entity on the server: 5 places.

MiniMapRound.cs

No hot-path hooks registered.

MixAdminMove.cs

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

HookLineDoes
OnPlayerInput287nothing heavy found

MixAngler.cs

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

HookLineDoes
OnPlayerDeath272nothing heavy found

MixApartmentHome.cs

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

HookLineDoes
OnLootEntity2343nothing heavy found
OnEntitySpawned2430server entity scan
CanBuild2468nothing heavy found
OnPlayerAttack3489nothing heavy found

Walks every entity on the server: 8 places.

MixAsk.cs

No hot-path hooks registered.

MixAutoDoor.cs

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

HookLineDoes
OnEntityKill142nothing heavy found

MixBoatHelm.cs

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

HookLineDoes
OnPlayerInput196nothing heavy found

MixBounty.cs

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

HookLineDoes
OnPlayerDeath553nothing heavy found

MixCarbonLeakGuard.cs

No hot-path hooks registered.

Walks every entity on the server: 1 place.

MixCommerce.cs

No hot-path hooks registered.

MixCompanionFix.cs

No hot-path hooks registered.

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

MixEntityScale.cs

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

HookLineDoes
OnEntityKill327file write
OnLootEntity342nothing heavy found

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.

MixExtract.cs

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

HookLineDoes
OnEntityTakeDamage212nothing 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.

MixGrid.cs

No hot-path hooks registered.

MixHeadlamp.cs

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

HookLineDoes
OnItemAddedToContainer163nothing heavy found
OnItemRemovedFromContainer196nothing heavy found

MixHorde.cs

No hot-path hooks registered.

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.

MixImages.cs

No hot-path hooks registered.

MixInstantBases.cs

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

HookLineDoes
OnPlayerDeath237nothing heavy found
OnPlayerInput251nothing heavy found

Walks every entity on the server: 1 place.

MixMenuKit.cs

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

HookLineDoes
OnLootEntity334nothing heavy found

MixModsConnectUI.cs

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

HookLineDoes
OnPlayerDeath660nothing heavy found
OnPlayerSleepEnded668nothing heavy found

MixMyMini.cs

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

HookLineDoes
OnEntityKill133nothing heavy found

MixNotices.cs

No hot-path hooks registered.

MixPackAssetsShim.cs

No hot-path hooks registered.

MixPlace.cs

No hot-path hooks registered.

MixQuarry.cs

No hot-path hooks registered.

Walks every entity on the server: 1 place.

MixRackKit.cs

No hot-path hooks registered.

Walks every entity on the server: 1 place.

MixRaidBases.cs

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

HookLineDoes
OnTurretTarget781nothing heavy found
CanBeTargeted811nothing heavy found
OnEntityTakeDamage841nothing heavy found
OnLootEntity3229LINQ
OnEntityDeath3247string interpolation
OnEntityKill3537nothing heavy found

Walks every entity on the server: 1 place.

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.

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.

MixShowcase.cs

No hot-path hooks registered.

MixSignboard.cs

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

HookLineDoes
OnEntityKill400nothing heavy found
OnLootEntity411nothing heavy found

MixSiloRaid.cs

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

HookLineDoes
OnTurretTarget278nothing heavy found
CanBeTargeted300nothing heavy found
OnEntityTakeDamage320nothing heavy found

Walks every entity on the server: 1 place.

MixSkinOwnership.cs

No hot-path hooks registered.

MixSkinsLight.cs

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

HookLineDoes
OnPlayerDeath658nothing heavy found

Repeating timers under one second: 0.05 s.

Walks every entity on the server: 1 place.

MixSprint.cs

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

HookLineDoes
OnPlayerDeath265nothing heavy found
OnPlayerInput330nothing heavy found

MixSuitSlots.cs

No hot-path hooks registered.

MixThirdPerson.cs

No hot-path hooks registered.

MixTrophies.cs

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

HookLineDoes
OnPlayerDeath466nothing heavy found
OnEntityTakeDamage476nothing heavy found
OnEntityTakeDamage478nothing heavy found
OnEntityDeath480nothing heavy found
OnEntityDeath482nothing heavy found
OnEntityDeath526nothing heavy found
OnDispenserGather538nothing heavy found

MixUiFix.cs

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

HookLineDoes
OnPlayerSleepEnded128nothing heavy found
OnLootEntity134nothing heavy found

MixVote.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.

OSAutoTurrets.cs

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

HookLineDoes
CanLootEntity1487nothing heavy found
CanMoveItem1506nothing heavy found
CanBuild1923plugin call

RescueSurface.cs

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

HookLineDoes
OnPlayerSleepEnded128nothing heavy found
OnEntityTakeDamage140nothing heavy found

Salvo.cs

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

HookLineDoes
OnItemAddedToContainer1178nothing heavy found
OnPlayerAttack1308nothing heavy found
OnEntityTakeDamage1372nothing heavy found
OnActiveItemChanged1559nothing heavy found

SimpleFurnaces.cs

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

HookLineDoes
OnEntityKill64nothing heavy found
CanMoveItem72nothing heavy found

TimeOfDay.cs

No hot-path hooks registered.

TwinBarrel.cs

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

HookLineDoes
OnWeaponFired108nothing heavy found
OnPlayerAttack126nothing heavy found

SHA-256 of this file

8cbd203facef704fdbeffb274e0d8d69e5ca2041e80166805e96997664488431

Hooks it registers 77

InitLoadedOnActiveItemChangedOnApartmentMasterKeyPurchaseOnAskReplyOnCollectiblePickupOnCooldownOnCorpsePopulateOnDispenserBonusOnDispenserGatherOnDoorClosedOnDoorOpenedOnEntityBuiltOnEntityDeathOnEntityDismountedOnEntityFlagsNetworkUpdateOnEntityGroundMissingOnEntityKillOnEntityMountedOnEntitySavedOnEntitySpawnedOnEntityTakeDamageOnFishCatchOnGroupPermissionGrantedOnGroupPermissionRevokedOnHammerHitOnItemAddedToContainerOnItemDeployedOnItemRemovedFromContainerOnItemUseOnLookupResultOnLootEntityOnLootEntityEndOnLootSpawnOnMagazineReloadOnNewSaveOnOffOnPlayerAttackOnPlayerChatOnPlayerConnectedOnPlayerDeathOnPlayerDisconnectedOnPlayerInputOnPlayerLootEndOnPlayerRespawnedOnPlayerSleepEndedOnPluginLoadedOnPluginUnloadedOnQuarryGatherOnQuarryToggleOnRackedWeaponSwapOnRackedWeaponTakeOnRocketLaunchedOnScheduleTickOnServerInitializedOnServerSaveOnSkyServerDayOnSkyServerHourOnSwitchToggleOnTeamKickOnTeamLeaveOnTrapTriggerOnTurretTargetOnUserApproveOnUserConnectedOnUserDisconnectedOnUserGroupAddedOnUserGroupRemovedOnUserPermissionGrantedOnUserPermissionRevokedOnVendingShopOpenOnWeaponFiredOnWeaponReloadOnWindowOnWireClearOnWireConnectUnload

Findings 453

Network 29

LevelWhatWhereLine
note URL in source plugins/BagTimer.cs:409 public const string UiKitCdn = "https://mixapps.store/assets/img/mixdev/cui";
note URL in source plugins/BagTimer.cs:410 public const string GuiBtnCdn = "https://mixapps.store/assets/img/mixdev/gui-buttons/default/1x";
note URL in source plugins/MixApartmentHome.cs:8011 public const string UiKitCdn = "https://mixapps.store/assets/img/mixdev/cui";
note URL in source plugins/MixApartmentHome.cs:8012 public const string GuiBtnCdn = "https://mixapps.store/assets/img/mixdev/gui-buttons/default/1x";
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 Oxide/Carbon web request plugins/MixCore.cs:5255 webrequest.Enqueue(url, payload, (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) =>
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/MixInstantBases.cs:1953 public const string UiKitCdn = "https://mixapps.store/assets/img/mixdev/cui";
note URL in source plugins/MixInstantBases.cs:1954 public const string GuiBtnCdn = "https://mixapps.store/assets/img/mixdev/gui-buttons/default/1x";
note URL in source plugins/MixModsConnectUI.cs:23 private const string CdnBase = "https://mixapps.store";
note URL in source plugins/MixSkinsLight.cs:2183 var url = "https://api.steampowered.com/IPublishedFileService/GetUserFiles/v1/" +
note URL in source plugins/MixSkinsLight.cs:2324 webrequest.Enqueue("https://api.steampowered.com/ISteamRemoteStorage/GetCollectionDetails/v1/", body, (code, response) =>
note URL in source plugins/MixSkinsLight.cs:2370 webrequest.Enqueue("https://api.steampowered.com/ISteamRemoteStorage/GetPublishedFileDetails/v1/", body, (code, response) =>
note URL in source plugins/MixSkinsLight.cs:2466 var url = "https://api.steampowered.com/ISteamUser/ResolveVanityURL/v0001/" +
note URL in source plugins/MixSkinsLight.cs:2505 webrequest.Enqueue("https://api.steampowered.com/ISteamRemoteStorage/GetPublishedFileDetails/v1/", body, (code, response) =>
note Oxide/Carbon web request plugins/MixSkinsLight.cs:2187 webrequest.Enqueue(url, null, (code, response) =>
note Oxide/Carbon web request plugins/MixSkinsLight.cs:2324 webrequest.Enqueue("https://api.steampowered.com/ISteamRemoteStorage/GetCollectionDetails/v1/", body, (code, response) =>
note Oxide/Carbon web request plugins/MixSkinsLight.cs:2370 webrequest.Enqueue("https://api.steampowered.com/ISteamRemoteStorage/GetPublishedFileDetails/v1/", body, (code, response) =>
note Oxide/Carbon web request plugins/MixSkinsLight.cs:2468 webrequest.Enqueue(url, null, (code, response) =>
note Oxide/Carbon web request plugins/MixSkinsLight.cs:2505 webrequest.Enqueue("https://api.steampowered.com/ISteamRemoteStorage/GetPublishedFileDetails/v1/", body, (code, response) =>
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/OSAutoTurrets.cs:33 private const string BrandCdn = "https://mixapps.store/assets/img/mixdev/brand";

Steam IDs and admin 245

LevelWhatWhereLine
note changes or checks admin status plugins/BagTimer.cs:81 player != null && (player.net?.connection?.authLevel ?? 0) >= 2;
note changes or checks admin status plugins/BagTimer.cs:83 private bool IsAdmin(BasePlayer player) =>
note changes or checks admin status plugins/BagTimer.cs:95 if (sub == "reset" && IsAdmin(player))
note changes or checks admin status plugins/BagTimer.cs:115 if (!IsAdmin(player)) { CmdStatus(player); return; }
note changes or checks admin status plugins/BagTimer.cs:304 if (!arg.IsAdmin && arg.Connection != null) return;
note changes or checks admin status plugins/BagTimer.cs:328 if (player == null || !IsAdmin(player) || arg.Args == null || arg.Args.Length == 0) return;
note changes or checks admin status plugins/FreeBuild.cs:386 if (arg != null && arg.Connection != null && arg.Connection.authLevel < 2) return null;
note changes or checks admin status plugins/FreeBuild.cs:471 player != null && (player.net?.connection?.authLevel ?? 0) >= 2;
note changes or checks admin status plugins/FreeBuild.cs:1244 if ((player.net?.connection?.authLevel ?? 0) >= 2) return true;
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/MixAngler.cs:296 p != null && (p.IsAdmin || permission.UserHasPermission(p.UserIDString, PermUse)
note changes or checks admin status plugins/MixApartmentHome.cs:5699 player != null && (player.IsAdmin || permission.UserHasPermission(player.UserIDString, PermAdmin));
note changes or checks admin status plugins/MixBoatHelm.cs:583 if (player.IsAdmin) return true;
note changes or checks admin status plugins/MixBoatHelm.cs:1430 player != null && (player.IsAdmin
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/MixCarbonLeakGuard.cs:217 if (arg.Connection?.player is not BasePlayer caller || caller.IsAdmin) return true;
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/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/MixEntityScale.cs:658 if (player.IsAdmin || (player.net?.connection?.authLevel ?? 0) >= 2) return true;
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/MixExtract.cs:143 p != null && (p.IsAdmin || permission.UserHasPermission(p.UserIDString, PermUse)
note changes or checks admin status plugins/MixExtract.cs:146 private bool IsAdmin(BasePlayer p) =>
note changes or checks admin status plugins/MixExtract.cs:147 p != null && (p.IsAdmin || permission.UserHasPermission(p.UserIDString, PermAdmin));
note changes or checks admin status plugins/MixExtract.cs:236 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/MixGrid.cs:80 p != null && (p.IsAdmin || permission.UserHasPermission(p.UserIDString, PermUse)
note changes or checks admin status plugins/MixGrid.cs:83 private bool IsAdmin(BasePlayer p) =>
note changes or checks admin status plugins/MixGrid.cs:84 p != null && (p.IsAdmin || permission.UserHasPermission(p.UserIDString, PermAdmin));
note changes or checks admin status plugins/MixGrid.cs:98 if (IsAdmin(p) || !_config.OwnerOnly) return true;
note changes or checks admin status plugins/MixHorde.cs:103 private bool IsAdmin(BasePlayer p) =>
note changes or checks admin status plugins/MixHorde.cs:104 p != null && (p.IsAdmin || permission.UserHasPermission(p.UserIDString, PermAdmin));
note changes or checks admin status plugins/MixHorde.cs:170 if (!permission.UserHasPermission(p.UserIDString, PermUse) && !p.IsAdmin) continue;
note changes or checks admin status plugins/MixHorde.cs:197 if (!IsAdmin(player)) { Msg(player, $"need {PermAdmin}"); return; }
note changes or checks admin status plugins/MixHorde.cs:205 if (!IsAdmin(player)) { Msg(player, $"need {PermAdmin}"); return; }
note changes or checks admin status plugins/MixHorde.cs:213 if (!IsAdmin(player)) { Msg(player, $"need {PermAdmin}"); return; }
note changes or checks admin status plugins/MixHorde.cs:286 if (!IsAdmin(player)) { Msg(player, $"need {PermAdmin}"); return; }
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/MixInstantBases.cs:279 if (!_config.Enabled && !IsAdmin(player)) { player.ChatMessage("<color=#f87171>Instant Bases</color>: disabled."); return; }
note changes or checks admin status plugins/MixInstantBases.cs:292 if (!IsAdmin(player)) return;
note changes or checks admin status plugins/MixInstantBases.cs:296 if (!IsAdmin(player)) return;
note changes or checks admin status plugins/MixInstantBases.cs:313 if (!IsAdmin(player)) return;
note changes or checks admin status plugins/MixInstantBases.cs:317 if (!IsAdmin(player)) return;
note changes or checks admin status plugins/MixInstantBases.cs:321 if (!IsAdmin(player)) return;
note changes or checks admin status plugins/MixInstantBases.cs:329 if (!IsAdmin(player)) return;
note changes or checks admin status plugins/MixInstantBases.cs:1715 if (action == "grant" && IsAdmin(player) && parts.Length >= 3
note changes or checks admin status plugins/MixInstantBases.cs:1725 if (action == "select" && IsAdmin(player) && parts.Length >= 2 && ulong.TryParse(parts[1], out var sel))
note changes or checks admin status plugins/MixInstantBases.cs:1732 if (action == "enabled" && IsAdmin(player))
note changes or checks admin status plugins/MixInstantBases.cs:1781 var levelZone = IsAdmin(player) ? "panelTop" : "panel";
note changes or checks admin status plugins/MixInstantBases.cs:1796 if (!IsAdmin(player)) return;
note changes or checks admin status plugins/MixInstantBases.cs:1844 if (caller != null && !IsAdmin(caller)) return;
note changes or checks admin status plugins/MixInstantBases.cs:1908 private bool IsAdmin(BasePlayer player) =>
note changes or checks admin status plugins/MixInstantBases.cs:1912 || player.IsAdmin);
note changes or checks admin status plugins/MixInstantBases.cs:1917 if (IsAdmin(player)) return true;
note changes or checks admin status plugins/MixMenuKit.cs:1757 p != null && (p.IsAdmin || permission.UserHasPermission(p.UserIDString, PermUse));
note changes or checks admin status plugins/MixMenuKit.cs:1760 p != null && (p.IsAdmin || permission.UserHasPermission(p.UserIDString, PermEdit));
note changes or checks admin status plugins/MixModsConnectUI.cs:638 if (player.IsAdmin && !string.IsNullOrWhiteSpace(_config.AdminConnectHint))
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; }
note changes or checks admin status plugins/MixPlace.cs:92 p != null && (p.IsAdmin || permission.UserHasPermission(p.UserIDString, PermUse)
note changes or checks admin status plugins/MixPlace.cs:95 private bool IsAdmin(BasePlayer p) =>
note changes or checks admin status plugins/MixPlace.cs:96 p != null && (p.IsAdmin || permission.UserHasPermission(p.UserIDString, PermAdmin));
note changes or checks admin status plugins/MixPlace.cs:122 if (IsAdmin(p) || !_config.OwnerOnly) return true;
note changes or checks admin status plugins/MixQuarry.cs:115 p != null && (p.IsAdmin || permission.UserHasPermission(p.UserIDString, PermUse)
note changes or checks admin status plugins/MixQuarry.cs:118 private bool IsAdmin(BasePlayer p) =>
note changes or checks admin status plugins/MixQuarry.cs:119 p != null && (p.IsAdmin || permission.UserHasPermission(p.UserIDString, PermAdmin));
note changes or checks admin status plugins/MixQuarry.cs:144 if (IsAdmin(p)) return true;
note changes or checks admin status plugins/MixQuarry.cs:246 if (!q.isStatic && !IsAdmin(player))
note changes or checks admin status plugins/MixQuarry.cs:251 if (_data.Claims.TryGetValue(Qid(q), out var existing) && existing.Owner != player.userID && !IsAdmin(player))
note changes or checks admin status plugins/MixRackKit.cs:562 if (!arg.IsAdmin) return;
note changes or checks admin status plugins/MixRackKit.cs:582 if (!arg.IsAdmin) return;
note changes or checks admin status plugins/MixRackKit.cs:589 if (!arg.IsAdmin) return;
note changes or checks admin status plugins/MixRackKit.cs:623 player != null && (player.IsAdmin || permission.UserHasPermission(player.UserIDString, PermAdmin));
note changes or checks admin status plugins/MixRaidBases.cs:948 private bool IsAdmin(BasePlayer player) =>
note changes or checks admin status plugins/MixRaidBases.cs:950 ((player.net?.connection?.authLevel ?? 0) >= 2 ||
note changes or checks admin status plugins/MixRaidBases.cs:994 if (player != null && !IsAdmin(player))
note changes or checks admin status plugins/MixRaidBases.cs:1018 if (!IsAdmin(player))
note changes or checks admin status plugins/MixRaidBases.cs:3652 if (player == null || !IsAdmin(player) || arg.Args == null || arg.Args.Length == 0) return;
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/MixShowcase.cs:413 if (!arg.IsAdmin) return;
note changes or checks admin status plugins/MixShowcase.cs:424 if (!arg.IsAdmin) return;
note changes or checks admin status plugins/MixSignboard.cs:436 if (!IsAdmin(player))
note changes or checks admin status plugins/MixSignboard.cs:472 if (!IsAdmin(player))
note changes or checks admin status plugins/MixSignboard.cs:1803 if (!IsAdmin(player) || arg.Args == null || arg.Args.Length == 0) return;
note changes or checks admin status plugins/MixSignboard.cs:2001 private bool IsAdmin(BasePlayer player) =>
note changes or checks admin status plugins/MixSignboard.cs:2003 || (player.net?.connection?.authLevel ?? 0) >= 2
note changes or checks admin status plugins/MixSiloRaid.cs:408 private bool IsAdmin(BasePlayer player)
note changes or checks admin status plugins/MixSiloRaid.cs:412 return (player.net?.connection?.authLevel ?? 0) >= 2;
note changes or checks admin status plugins/MixSiloRaid.cs:418 if (!IsAdmin(player))
note changes or checks admin status plugins/MixSiloRaid.cs:551 if (player == null || !IsAdmin(player)) return;
note changes or checks admin status plugins/MixSiloRaid.cs:647 if (player == null || !IsAdmin(player)) return;
note changes or checks admin status plugins/MixSiloRaid.cs:1274 if (!IsAdmin(p)) return;
note changes or checks admin status plugins/MixSiloRaid.cs:1327 if (arg.Player() != null && !IsAdmin(arg.Player())) return;
note changes or checks admin status plugins/MixSiloRaid.cs:1339 if (arg.Player() != null && !IsAdmin(arg.Player())) return;
note changes or checks admin status plugins/MixSiloRaid.cs:1348 if (!IsAdmin(p)) return;
note changes or checks admin status plugins/MixSiloRaid.cs:1361 if (arg.Player() != null && !IsAdmin(arg.Player())) return;
note changes or checks admin status plugins/MixSiloRaid.cs:2339 if (!IsAdmin(p)) return;
note changes or checks admin status plugins/MixSiloRaid.cs:2407 if (p == null || !IsAdmin(p)) { Puts("need player"); return; }
note changes or checks admin status plugins/MixSiloRaid.cs:2417 if (!IsAdmin(p)) return;
note changes or checks admin status plugins/MixSiloRaid.cs:2469 if (p != null && IsAdmin(p))
note changes or checks admin status plugins/MixSkinsLight.cs:447 if (arg.Player() != null && !arg.IsAdmin && !HasConsolePerm(arg, PermAdmin)) { SendReply(arg, "mixskinslight.admin required"); return; }
note changes or checks admin status plugins/MixSkinsLight.cs:559 if (_config.BypassOwnershipForAdmins && IsAdmin(player))
note changes or checks admin status plugins/MixSkinsLight.cs:668 || IsAdmin(player));
note changes or checks admin status plugins/MixSkinsLight.cs:670 private bool IsAdmin(BasePlayer player) =>
note changes or checks admin status plugins/MixSkinsLight.cs:671 player != null && (player.IsAdmin
note changes or checks admin status plugins/MixSkinsLight.cs:1300 if (IsAdmin(player) && !mismatchedTarget && TryGiveSkinnedItem(player, entry))
note changes or checks admin status plugins/MixSkinsLight.cs:1955 if (!IsAdmin(player))
note changes or checks admin status plugins/MixSkinsLight.cs:2027 if (!arg.IsAdmin && !HasConsolePerm(arg, PermAdmin))
note changes or checks admin status plugins/MixSkinsLight.cs:2040 if (!IsAdmin(player))
note changes or checks admin status plugins/MixSkinsLight.cs:2079 if (!arg.IsAdmin && !HasConsolePerm(arg, PermAdmin))
note changes or checks admin status plugins/MixSkinsLight.cs:2132 if (!IsAdmin(player))
note changes or checks admin status plugins/MixSkinsLight.cs:2240 if (arg.Player() != null && !arg.IsAdmin && !HasConsolePerm(arg, PermAdmin)) { SendReply(arg, "mixskinslight.admin required"); return; }
note changes or checks admin status plugins/MixSkinsLight.cs:2293 if (arg.Player() != null && !arg.IsAdmin && !HasConsolePerm(arg, PermAdmin)) { SendReply(arg, "mixskinslight.admin required"); return; }
note changes or checks admin status plugins/MixSkinsLight.cs:2306 if (pl != null && IsAdmin(pl)) Reply(pl, summary);
note changes or checks admin status plugins/MixSkinsLight.cs:2871 if (player == null || !IsAdmin(player)) return;
note changes or checks admin status plugins/MixSkinsLight.cs:3180 if (player == null || !IsAdmin(player)) return;
note changes or checks admin status plugins/MixSkinsLight.cs:3189 if (player == null || !IsAdmin(player)) return;
note changes or checks admin status plugins/MixSkinsLight.cs:3198 if (player == null || !IsAdmin(player)) return;
note changes or checks admin status plugins/MixSkinsLight.cs:3207 if (player == null || !IsAdmin(player)) return;
note changes or checks admin status plugins/MixSkinsLight.cs:3274 if (!arg.IsAdmin && !HasConsolePerm(arg, PermAdmin))
note changes or checks admin status plugins/MixSkinsLight.cs:3293 if (!arg.IsAdmin && !HasConsolePerm(arg, PermAdmin) && !HasConsolePerm(arg, PermUse))
note changes or checks admin status plugins/MixSkinsLight.cs:3332 if (arg.Player() != null && !IsAdmin(arg.Player())) return;
note changes or checks admin status plugins/MixSprint.cs:403 rt.Admin = IsAdmin(player);
note changes or checks admin status plugins/MixSprint.cs:696 if (!_config.Enabled && !IsAdmin(player))
note changes or checks admin status plugins/MixSprint.cs:713 if (!IsAdmin(player))
note changes or checks admin status plugins/MixSprint.cs:778 if (!IsAdmin(player)) return;
note changes or checks admin status plugins/MixSprint.cs:884 if (target != null && !IsAdmin(target))
note changes or checks admin status plugins/MixSprint.cs:956 var adminNote = IsAdmin(player) ? $" · unlimited {(unlimited ? "on" : "off")}" : "";
note changes or checks admin status plugins/MixSprint.cs:1020 if (IsAdmin(player)) DrawAdminRows(c, player, rec, y);
note changes or checks admin status plugins/MixSprint.cs:1096 if (target != null && IsAdmin(target))
note changes or checks admin status plugins/MixSprint.cs:1115 _config.Enabled && player != null && !rec.Revoked && (rec.Granted || HasPerm(player) || IsAdmin(player));
note changes or checks admin status plugins/MixSprint.cs:1117 private bool HasUnlimited(BasePlayer player, PlayerRecord rec) => rec.UnlimitedStamina && IsAdmin(player);
note changes or checks admin status plugins/MixSprint.cs:1128 private bool IsAdmin(BasePlayer player) =>
note changes or checks admin status plugins/MixSprint.cs:1130 || (player.net?.connection?.authLevel ?? 0) >= 2
note changes or checks admin status plugins/MixThirdPerson.cs:301 if (!_config.Enabled && !IsAdmin(player))
note changes or checks admin status plugins/MixThirdPerson.cs:346 if (player != null && !IsAdmin(player))
note changes or checks admin status plugins/MixThirdPerson.cs:513 // authLevel counts as admin too: a genuine admin whose IsAdmin flag isn't set yet (the
note changes or checks admin status plugins/MixThirdPerson.cs:516 var wasAdmin = player.IsAdmin || (player.net?.connection?.authLevel ?? 0) >= 2;
note changes or checks admin status plugins/MixThirdPerson.cs:522 player.SetPlayerFlag(BasePlayer.PlayerFlags.IsAdmin, true);
note changes or checks admin status plugins/MixThirdPerson.cs:536 player.SetPlayerFlag(BasePlayer.PlayerFlags.IsAdmin, false);
note changes or checks admin status plugins/MixThirdPerson.cs:617 player != null && (player.IsAdmin || permission.UserHasPermission(player.UserIDString, PermUse));
note changes or checks admin status plugins/MixThirdPerson.cs:619 private bool IsAdmin(BasePlayer player) =>
note changes or checks admin status plugins/MixThirdPerson.cs:620 player != null && (player.IsAdmin || permission.UserHasPermission(player.UserIDString, PermAdmin));
note changes or checks admin status plugins/MixTrophies.cs:416 p != null && (p.IsAdmin || permission.UserHasPermission(p.UserIDString, PermUse)
note changes or checks admin status plugins/MixTrophies.cs:572 !(player.IsAdmin || permission.UserHasPermission(player.UserIDString, PermAdmin)))
note changes or checks admin status plugins/MixTrophies.cs:942 if (caller != null && !caller.IsAdmin && !permission.UserHasPermission(caller.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/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/OSAutoTurrets.cs:515 player != null && (player.net?.connection?.authLevel ?? 0) >= 2;
note changes or checks admin status plugins/OSAutoTurrets.cs:517 private bool IsAdmin(BasePlayer player) =>
note changes or checks admin status plugins/OSAutoTurrets.cs:522 player != null && (IsVanillaAdmin(player) || IsAdmin(player) || GetEffectiveRank(player) == "admin");
note changes or checks admin status plugins/OSAutoTurrets.cs:528 && (IsAdmin(player) || (_config.AllowAuthedPickup && turret.IsAuthed(player)));
note changes or checks admin status plugins/OSAutoTurrets.cs:661 if (!IsAdmin(player))
note changes or checks admin status plugins/OSAutoTurrets.cs:759 if (!turret.IsAuthed(player) && !IsAdmin(player))
note changes or checks admin status plugins/OSAutoTurrets.cs:776 if (!IsAdmin(player) && !turret.IsAuthed(player) && turret.OwnerID != player.userID)
note changes or checks admin status plugins/OSAutoTurrets.cs:825 if (IsAdmin(player) || IsVanillaAdmin(player))
note changes or checks admin status plugins/OSAutoTurrets.cs:1352 if (player == null || !IsAdmin(player) || arg.Args == null || arg.Args.Length == 0) return;
note changes or checks admin status plugins/OSAutoTurrets.cs:1491 if (IsVanillaAdmin(player) || IsAdmin(player) || IsTurretOwner(player, turret) || turret.IsAuthed(player))
note changes or checks admin status plugins/OSAutoTurrets.cs:2007 var skipProbe = IsVanillaAdmin(player) || IsAdmin(player);
note changes or checks admin status plugins/RescueSurface.cs:288 player != null && (player.IsAdmin || (player.net?.connection?.authLevel ?? 0) >= 1
note changes or checks admin status plugins/Salvo.cs:734 player != null && (player.IsAdmin || (player.net?.connection?.authLevel ?? 0) >= 2);
note changes or checks admin status plugins/Salvo.cs:950 private bool IsAdmin(BasePlayer player)
note changes or checks admin status plugins/Salvo.cs:1510 if (!IsAdmin(player))
note changes or checks admin status plugins/Salvo.cs:1843 if (player == null || !IsAdmin(player)) return;
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/TwinBarrel.cs:92 player != null && (player.IsAdmin || (player.net?.connection?.authLevel ?? 0) >= 1);
note changes or checks admin status plugins/TwinBarrel.cs:99 private bool IsAdmin(BasePlayer player) =>
note changes or checks admin status plugins/TwinBarrel.cs:147 if (!IsAdmin(player))
note changes or checks admin status plugins/TwinBarrel.cs:149 player.ChatMessage("<color=#4ade80>TwinBarrel</color>: need <color=#f87171>twinbarrel.admin</color> (or authLevel)");
note changes or checks admin status plugins/TwinBarrel.cs:221 if (player == null || !IsAdmin(player) || arg.Args == null || arg.Args.Length == 0) return;

Config writes 88

LevelWhatWhereLine
note writes the config file plugins/BagTimer.cs:51 SaveConfig();
note writes the config file plugins/BagTimer.cs:332 if (action == "save") { ClampConfig(); SaveConfig(); player.ChatMessage("<color=#00d4ff>BagTimer</color>: saved."); RefreshPanel(player); return; }
note writes the config file plugins/BagTimer.cs:388 SaveConfig();
note writes the config file plugins/FreeBuild.cs:339 SaveConfig();
note writes the config file plugins/MixAngler.cs:216 SaveConfig();
note writes the config file plugins/MixApartmentHome.cs:319 SaveConfig();
note writes the config file plugins/MixApartmentHome.cs:5420 SaveConfig();
note writes the config file plugins/MixApartmentHome.cs:5429 SaveConfig();
note writes the config file plugins/MixBoatHelm.cs:82 SaveConfig();
note writes the config file plugins/MixCommerce.cs:1612 SaveConfig();
note writes the config file plugins/MixCompanionFix.cs:46 SaveConfig();
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/MixEntityScale.cs:247 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();
note writes the config file plugins/MixExtract.cs:74 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/MixGrid.cs:38 SaveConfig();
note writes the config file plugins/MixHeadlamp.cs:62 SaveConfig();
note writes the config file plugins/MixHorde.cs:60 SaveConfig();
note writes the config file plugins/MixHorde.cs:215 SaveConfig();
note writes the config file plugins/MixHud.cs:1496 else if (changed) SaveConfig();
note writes the config file plugins/MixInstantBases.cs:136 SaveConfig();
note writes the config file plugins/MixInstantBases.cs:384 SaveConfig();
note writes the config file plugins/MixInstantBases.cs:1847 SaveConfig();
note writes the config file plugins/MixMenuKit.cs:244 SaveConfig();
note writes the config file plugins/MixMenuKit.cs:298 private void OnServerSave() => SaveConfig();
note writes the config file plugins/MixMenuKit.cs:303 SaveConfig();
note writes the config file plugins/MixMenuKit.cs:326 if (CanEdit(player)) SaveConfig();
note writes the config file plugins/MixMenuKit.cs:522 if (CanEdit(p)) SaveConfig();
note writes the config file plugins/MixMenuKit.cs:624 SaveConfig();
note writes the config file plugins/MixMenuKit.cs:636 SaveConfig();
note writes the config file plugins/MixMenuKit.cs:672 SaveConfig();
note writes the config file plugins/MixMenuKit.cs:693 SaveConfig();
note writes the config file plugins/MixMenuKit.cs:708 SaveConfig();
note writes the config file plugins/MixMenuKit.cs:720 SaveConfig();
note writes the config file plugins/MixMenuKit.cs:797 SaveConfig();
note writes the config file plugins/MixMenuKit.cs:813 SaveConfig();
note writes the config file plugins/MixMenuKit.cs:835 SaveConfig();
note writes the config file plugins/MixMenuKit.cs:840 SaveConfig();
note writes the config file plugins/MixMenuKit.cs:867 SaveConfig();
note writes the config file plugins/MixMenuKit.cs:880 SaveConfig();
note writes the config file plugins/MixMenuKit.cs:896 SaveConfig();
note writes the config file plugins/MixMenuKit.cs:912 SaveConfig();
note writes the config file plugins/MixMenuKit.cs:926 SaveConfig();
note writes the config file plugins/MixMenuKit.cs:939 SaveConfig();
note writes the config file plugins/MixMenuKit.cs:952 SaveConfig();
note writes the config file plugins/MixPlace.cs:51 SaveConfig();
note writes the config file plugins/MixQuarry.cs:54 SaveConfig();
note writes the config file plugins/MixRackKit.cs:88 SaveConfig();
note writes the config file plugins/MixRackKit.cs:103 SaveConfig();
note writes the config file plugins/MixRaidBases.cs:725 SaveConfig();
note writes the config file plugins/MixRaidBases.cs:1034 SaveConfig();
note writes the config file plugins/MixShowcase.cs:99 SaveConfig();
note writes the config file plugins/MixShowcase.cs:470 SaveConfig();
note writes the config file plugins/MixSignboard.cs:208 SaveConfig();
note writes the config file plugins/MixSiloRaid.cs:200 SaveConfig();
note writes the config file plugins/MixSiloRaid.cs:543 SaveConfig();
note writes the config file plugins/MixSkinsLight.cs:177 SaveConfig();
note writes the config file plugins/MixSkinsLight.cs:2120 SaveConfig();
note writes the config file plugins/MixSkinsLight.cs:2252 SaveConfig();
note writes the config file plugins/MixSkinsLight.cs:3287 SaveConfig();
note writes the config file plugins/MixSprint.cs:129 SaveConfig();
note writes the config file plugins/MixSuitSlots.cs:97 SaveConfig();
note writes the config file plugins/MixThirdPerson.cs:92 SaveConfig();
note writes the config file plugins/MixThirdPerson.cs:362 SaveConfig();
note writes the config file plugins/MixThirdPerson.cs:413 SaveConfig();
note writes the config file plugins/MixTrophies.cs:141 SaveConfig();
note writes the config file plugins/MixVote.cs:51 protected override void LoadDefaultConfig() { _config = new VoteConfig(); SaveConfig(); }
note writes the config file plugins/MixWorld.cs:536 SaveConfig();
note writes the config file plugins/OSAutoTurrets.cs:149 SaveConfig();
note writes the config file plugins/OSAutoTurrets.cs:467 SaveConfig();
note writes the config file plugins/OSAutoTurrets.cs:475 SaveConfig();
note writes the config file plugins/OSAutoTurrets.cs:1366 SaveConfig();
note writes the config file plugins/RescueSurface.cs:53 SaveConfig();
note writes the config file plugins/Salvo.cs:534 SaveConfig();
note writes the config file plugins/Salvo.cs:1903 SaveConfig();
note writes the config file plugins/Salvo.cs:1915 SaveConfig();
note writes the config file plugins/Salvo.cs:1924 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/TwinBarrel.cs:46 SaveConfig();
note writes the config file plugins/TwinBarrel.cs:229 SaveConfig();

Game control 70

LevelWhatWhereLine
note runs console commands or stops the server plugins/FreeBuild.cs:412 ConsoleSystem.Run(ConsoleSystem.Option.Server.Quiet(), "creative.freeplacement", "true");
note runs console commands or stops the server plugins/FreeBuild.cs:414 ConsoleSystem.Run(ConsoleSystem.Option.Server.Quiet(), "creative.freebuild", "true");
note runs console commands or stops the server plugins/FreeBuild.cs:416 ConsoleSystem.Run(ConsoleSystem.Option.Server.Quiet(), "creative.unlimitedio", "true");
note runs console commands or stops the server plugins/FreeBuild.cs:418 ConsoleSystem.Run(ConsoleSystem.Option.Server.Quiet(), "ioentity.infiniteiopower", "true");
note runs console commands or stops the server plugins/FreeBuild.cs:520 ConsoleSystem.Run(ConsoleSystem.Option.Server.Quiet(), "creative.togglecreativemodeuser",
note runs console commands or stops the server plugins/FreeBuild.cs:525 ConsoleSystem.Run(ConsoleSystem.Option.Server.Quiet(), "creative.togglecreativemodeuser",
note runs console commands or stops the server plugins/FreeBuild.cs:533 ConsoleSystem.Run(ConsoleSystem.Option.Server.Quiet(), "creative.togglecreativemodeuser",
note runs console commands or stops the server plugins/FreeBuild.cs:550 ConsoleSystem.Run(ConsoleSystem.Option.Server.Quiet(), "creative.togglecreativemodeuser",
note repeating timer plugins/FreeBuild.cs:403 timer.Every(30f, ResyncCreativePlayers);
note repeating timer plugins/FreeBuild.cs:404 timer.Every(30f, FlushData);
note repeating timer plugins/MiniMapRound.cs:211 _timer = timer.Every(_config.Refresh, Refresh);
note repeating timer plugins/MixAngler.cs:547 _panelTick[id] = timer.Every(1f, () =>
note Harmony patch plugins/MixApartmentHome.cs:475 #region Bare room on rent (Harmony postfix on ApartmentRoom.StartRentingRoom)
note Harmony patch plugins/MixApartmentHome.cs:479 private Harmony _harmony;
note Harmony patch plugins/MixApartmentHome.cs:495 _harmony = new Harmony(HarmonyId);
note repeating timer plugins/MixApartmentHome.cs:403 timer.Every(roomCacheEvery, () =>
note repeating timer plugins/MixApartmentHome.cs:417 timer.Every(powerEvery, () =>
note repeating timer plugins/MixApartmentHome.cs:436 _leasePollTimer = timer.Every(leaseEvery, PollApartmentLeases);
note repeating timer plugins/MixApartmentHome.cs:439 timer.Every(300f, PruneDeadTrackedEntities);
note runs console commands or stops the server plugins/MixBoatHelm.cs:121 try { ConsoleSystem.Run(ConsoleSystem.Option.Server, "playerboat.velocitymax 15"); } catch { }
note runs console commands or stops the server plugins/MixBoatHelm.cs:124 ConsoleSystem.Run(ConsoleSystem.Option.Server, "playerboat.dragbyangle_maxdrag 2.2");
note runs console commands or stops the server plugins/MixBoatHelm.cs:125 ConsoleSystem.Run(ConsoleSystem.Option.Server, "playerboat.dragbyangle_mindrag 0.65");
note runs console commands or stops the server plugins/MixBoatHelm.cs:126 ConsoleSystem.Run(ConsoleSystem.Option.Server, "playerboat.dragbyangle_maxcontrib 50");
note runs console commands or stops the server plugins/MixBoatHelm.cs:144 try { ConsoleSystem.Run(ConsoleSystem.Option.Server, "playerboat.velocitymax 15"); } catch { }
note repeating timer plugins/MixBoatHelm.cs:130 _fuelTimer = timer.Every(Mathf.Clamp(_config.FuelBalanceSeconds, 1f, 15f), BalanceAllActiveBoats);
note repeating timer plugins/MixBoatHelm.cs:131 _refreshTimer = timer.Every(1.25f, RefreshOpenPanels);
note repeating timer plugins/MixBounty.cs:251 timer.Every(300f, ExpireSweep);
note repeating timer plugins/MixCarbonLeakGuard.cs:69 _sweepTimer = timer.Every(_config.IntervalSeconds, RunSweeps);
note Harmony patch plugins/MixCompanionFix.cs:24 private Harmony _harmony;
note Harmony patch plugins/MixCompanionFix.cs:60 _harmony = new Harmony(HarmonyId);
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/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/MixExtract.cs:96 _watch = timer.Every(1f, WatchPads);
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 repeating timer plugins/MixHeadlamp.cs:140 timer.Every(_config.RefreshIntervalSeconds, RefreshHeadlamps);
note repeating timer plugins/MixHorde.cs:79 _tick = timer.Every(15f, Tick);
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 runs console commands or stops the server plugins/MixInstantBases.cs:1851 timer.Once(0.5f, () => ConsoleSystem.Run(ConsoleSystem.Option.Server.Quiet(), $"o.reload {Name}"));
note repeating timer plugins/MixInstantBases.cs:436 session.PreviewTimer = timer.Every(PreviewStepSeconds, () => TickPreview(player.userID));
note repeating timer plugins/MixNotices.cs:66 _ticker = timer.Every(_config.IntervalMinutes * 60f, Tick);
note repeating timer plugins/MixRackKit.cs:203 _refillTimer = timer.Every(secs, RefillAllBound);
note repeating timer plugins/MixRaidBases.cs:755 _watchTimer = timer.Every(30f, WatchEvents);
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);
note repeating timer plugins/MixShowcase.cs:154 _refillTimer = timer.Every(secs, RestockAll);
note repeating timer plugins/MixSignboard.cs:601 _restoreTimer = timer.Every(RestoreStepSeconds, RestoreStep);
note repeating timer plugins/MixSignboard.cs:712 _timers[id] = timer.Every(Mathf.Max(MinIntervalSeconds, interval), () =>
note repeating timer plugins/MixSignboard.cs:862 _warmTimer ??= timer.Every(WarmStepSeconds, WarmStep);
note runs console commands or stops the server plugins/MixSiloRaid.cs:264 try { ConsoleSystem.Run(ConsoleSystem.Option.Server, "mixsilo.paste", _config.DefaultTemplate); }
note runs console commands or stops the server plugins/MixSiloRaid.cs:668 try { ConsoleSystem.Run(ConsoleSystem.Option.Server, "server.save"); } catch { /* ok */ }
note runs console commands or stops the server plugins/MixSiloRaid.cs:1712 try { ConsoleSystem.Run(ConsoleSystem.Option.Server, "server.save"); } catch { /* ok */ }
note repeating timer plugins/MixSkinsLight.cs:2008 timer.Repeat(0.05f, list.Count, () =>
note repeating timer plugins/MixSprint.cs:226 timer.Every(TickSeconds, TickAllPlayers);
note repeating timer plugins/MixSprint.cs:227 timer.Every(60f, FlushData);
note repeating timer plugins/MixVote.cs:100 timer.Every(_config.ReminderIntervalMinutes * 60f, () => { foreach (var p in players.Connected) CheckAll(p, false, remind: true); });
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 repeating timer plugins/OSAutoTurrets.cs:402 timer.Every(30f, FlushData);
note repeating timer plugins/RescueSurface.cs:75 _sweepTimer = timer.Every(600f, SweepStaleEntries);
note repeating timer plugins/Salvo.cs:880 timer.Every(30f, FlushData);

Files and server config 20

LevelWhatWhereLine
note file system write or delete plugins/MixApartmentHome.cs:2075 Directory.CreateDirectory(dir);
note file system write or delete plugins/MixApartmentHome.cs:2093 File.WriteAllText(path, JsonConvert.SerializeObject(payload, Formatting.Indented));
note file system write or delete plugins/MixApartmentHome.cs:3268 Directory.CreateDirectory(dir);
note file system write or delete plugins/MixApartmentHome.cs:3270 File.WriteAllText(path, JsonConvert.SerializeObject(bp, Formatting.Indented));
note file system write or delete plugins/MixApartmentHome.cs:3285 Directory.CreateDirectory(dir);
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);
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/MixInstantBases.cs:1861 Directory.CreateDirectory(dir);
note file system write or delete plugins/MixInstantBases.cs:1863 File.Copy(live, dest, true);
note file system write or delete plugins/MixRaidBases.cs:752 Directory.CreateDirectory(_kitsDir);
note file system write or delete plugins/MixSignboard.cs:1344 try { Directory.CreateDirectory(root); } catch (Exception) { }
note file system write or delete plugins/MixSiloRaid.cs:258 Directory.CreateDirectory(_templatesDir);
note file system write or delete plugins/MixSiloRaid.cs:925 File.WriteAllText(path, JsonConvert.SerializeObject(tpl, Formatting.Indented));
note file system write or delete plugins/MixSiloRaid.cs:1692 File.WriteAllText(snapPath, JsonConvert.SerializeObject(tpl, Formatting.Indented));
note file system write or delete plugins/MixSiloRaid.cs:1701 File.WriteAllText(path, JsonConvert.SerializeObject(tpl, Formatting.Indented));
note file system write or delete plugins/MixTrophies.cs:354 File.Move(path, aside);

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)