Check report MiX Server Pack v0.9.59
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.
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
- With Carbon's shims: compiles
- Without shims: compiles
No hot-path hooks registered.
Walks every entity on the server: 1 place.
FreeBuild.cs
- With Carbon's shims: compiles
- Without shims: compiles
Hot-path hooks (these run very often; what each one does inside):
| Hook | Line | Does |
|---|---|---|
OnPlayerSleepEnded | 467 | nothing heavy found |
OnEntitySpawned | 668 | nothing heavy found |
CanLootEntity | 1214 | nothing heavy found |
CanLootEntity | 1237 | nothing heavy found |
CanLootEntity | 1240 | nothing heavy found |
Walks every entity on the server: 5 places.
MiniMapRound.cs
- With Carbon's shims: compiles
- Without shims: compiles
No hot-path hooks registered.
MixAdminMove.cs
- With Carbon's shims: compiles
- Without shims: compiles
Hot-path hooks (these run very often; what each one does inside):
| Hook | Line | Does |
|---|---|---|
OnPlayerInput | 288 | nothing heavy found |
MixAngler.cs
- With Carbon's shims: compiles
- Without shims: compiles
Hot-path hooks (these run very often; what each one does inside):
| Hook | Line | Does |
|---|---|---|
OnPlayerDeath | 280 | nothing heavy found |
MixApartmentHome.cs
- With Carbon's shims: compiles
- Without shims: compiles
Hot-path hooks (these run very often; what each one does inside):
| Hook | Line | Does |
|---|---|---|
OnLootEntity | 2323 | nothing heavy found |
OnEntitySpawned | 2410 | server entity scan |
CanBuild | 2448 | nothing heavy found |
OnPlayerAttack | 3469 | nothing heavy found |
Walks every entity on the server: 8 places.
MixAsk.cs
- With Carbon's shims: compiles
- Without shims: compiles
No hot-path hooks registered.
MixAutoDoor.cs
- With Carbon's shims: compiles
- Without shims: compiles
Hot-path hooks (these run very often; what each one does inside):
| Hook | Line | Does |
|---|---|---|
OnEntityKill | 142 | nothing heavy found |
MixBoatHelm.cs
- With Carbon's shims: compiles
- Without shims: compiles
Hot-path hooks (these run very often; what each one does inside):
| Hook | Line | Does |
|---|---|---|
OnPlayerInput | 248 | nothing heavy found |
Walks every entity on the server: 1 place.
MixBounty.cs
- With Carbon's shims: compiles
- Without shims: compiles
Hot-path hooks (these run very often; what each one does inside):
| Hook | Line | Does |
|---|---|---|
OnPlayerDeath | 553 | nothing heavy found |
MixBusStops.cs
- With Carbon's shims: compiles
- Without shims: compiles
Hot-path hooks (these run very often; what each one does inside):
| Hook | Line | Does |
|---|---|---|
OnEntityTakeDamage | 1314 | nothing heavy found |
OnPlayerAttack | 1328 | nothing heavy found |
OnNpcTarget | 1333 | nothing heavy found |
CanBeTargeted | 1339 | nothing heavy found |
Walks every entity on the server: 1 place.
MixCarbonLeakGuard.cs
- With Carbon's shims: compiles
- Without shims: compiles
No hot-path hooks registered.
Walks every entity on the server: 1 place.
MixCommerce.cs
- With Carbon's shims: compiles
- Without shims: compiles
No hot-path hooks registered.
MixCompanionFix.cs
- With Carbon's shims: compiles
- Without shims: compiles
No hot-path hooks registered.
MixCore.cs
- With Carbon's shims: compiles
- Without shims: compiles
Hot-path hooks (these run very often; what each one does inside):
| Hook | Line | Does |
|---|---|---|
OnLootEntity | 3922 | nothing heavy found |
OnPlayerDeath | 3928 | nothing heavy found |
OnEntityDeath | 5903 | nothing heavy found |
OnEntityDeath | 5925 | nothing heavy found |
OnDispenserGather | 5942 | nothing heavy found |
MixEntityScale.cs
- With Carbon's shims: compiles
- Without shims: compiles
Hot-path hooks (these run very often; what each one does inside):
| Hook | Line | Does |
|---|---|---|
OnEntityKill | 335 | file write |
OnLootEntity | 350 | nothing heavy found |
MixEvents.cs
- With Carbon's shims: compiles
- Without shims: compiles
Hot-path hooks (these run very often; what each one does inside):
| Hook | Line | Does |
|---|---|---|
OnEntityTakeDamage | 595 | nothing heavy found |
OnEntityTakeDamage | 597 | nothing heavy found |
OnEntityDeath | 918 | nothing heavy found |
OnLootEntity | 940 | nothing heavy found |
Walks every entity on the server: 1 place.
MixExtract.cs
- With Carbon's shims: compiles
- Without shims: compiles
Hot-path hooks (these run very often; what each one does inside):
| Hook | Line | Does |
|---|---|---|
OnEntityTakeDamage | 220 | nothing heavy found |
MixGovern.cs
- With Carbon's shims: compiles
- Without shims: compiles
Hot-path hooks (these run very often; what each one does inside):
| Hook | Line | Does |
|---|---|---|
OnPlayerDeath | 794 | nothing heavy found |
OnPlayerInput | 841 | nothing heavy found |
OnEntityTakeDamage | 1575 | nothing heavy found |
Walks every entity on the server: 1 place.
MixGrid.cs
- With Carbon's shims: compiles
- Without shims: compiles
No hot-path hooks registered.
MixHeadlamp.cs
- With Carbon's shims: compiles
- Without shims: compiles
Hot-path hooks (these run very often; what each one does inside):
| Hook | Line | Does |
|---|---|---|
OnItemAddedToContainer | 194 | nothing heavy found |
OnItemRemovedFromContainer | 227 | nothing heavy found |
MixHorde.cs
- With Carbon's shims: compiles
- Without shims: compiles
No hot-path hooks registered.
MixHud.cs
- With Carbon's shims: compiles
- Without shims: compiles
Hot-path hooks (these run very often; what each one does inside):
| Hook | Line | Does |
|---|---|---|
OnEntitySpawned | 381 | nothing heavy found |
OnEntitySpawned | 382 | nothing heavy found |
OnEntitySpawned | 383 | nothing heavy found |
OnEntitySpawned | 384 | nothing heavy found |
OnEntitySpawned | 385 | nothing heavy found |
OnEntityKill | 386 | nothing heavy found |
OnEntityKill | 387 | nothing heavy found |
OnEntityKill | 388 | nothing heavy found |
OnEntityKill | 389 | nothing heavy found |
OnEntityKill | 390 | nothing heavy found |
Walks every entity on the server: 2 places.
MixImages.cs
- With Carbon's shims: compiles
- Without shims: compiles
No hot-path hooks registered.
MixInstantBases.cs
- With Carbon's shims: compiles
- Without shims: compiles
Hot-path hooks (these run very often; what each one does inside):
| Hook | Line | Does |
|---|---|---|
OnPlayerDeath | 245 | nothing heavy found |
OnPlayerInput | 259 | nothing heavy found |
Walks every entity on the server: 1 place.
MixMenuKit.cs
- With Carbon's shims: compiles
- Without shims: compiles
Hot-path hooks (these run very often; what each one does inside):
| Hook | Line | Does |
|---|---|---|
OnLootEntity | 370 | nothing heavy found |
OnPlayerDeath | 384 | nothing heavy found |
OnPlayerSleepEnded | 392 | nothing heavy found |
OnPlayerInput | 394 | nothing heavy found |
MixModsConnectUI.cs
- With Carbon's shims: compiles
- Without shims: compiles
Hot-path hooks (these run very often; what each one does inside):
| Hook | Line | Does |
|---|---|---|
OnPlayerDeath | 668 | nothing heavy found |
OnPlayerSleepEnded | 676 | nothing heavy found |
MixMyMini.cs
- With Carbon's shims: compiles
- Without shims: compiles
Hot-path hooks (these run very often; what each one does inside):
| Hook | Line | Does |
|---|---|---|
OnEntityKill | 133 | nothing heavy found |
MixNotices.cs
- With Carbon's shims: compiles
- Without shims: compiles
No hot-path hooks registered.
MixPackAssetsShim.cs
- With Carbon's shims: compiles
- Without shims: compiles
No hot-path hooks registered.
MixPlace.cs
- With Carbon's shims: compiles
- Without shims: compiles
No hot-path hooks registered.
MixQuarry.cs
- With Carbon's shims: compiles
- Without shims: compiles
No hot-path hooks registered.
Walks every entity on the server: 1 place.
MixRackKit.cs
- With Carbon's shims: compiles
- Without shims: compiles
Hot-path hooks (these run very often; what each one does inside):
| Hook | Line | Does |
|---|---|---|
OnEntityDeath | 554 | nothing heavy found |
MixRaidBases.cs
- With Carbon's shims: compiles
- Without shims: compiles
Hot-path hooks (these run very often; what each one does inside):
| Hook | Line | Does |
|---|---|---|
OnTurretTarget | 781 | nothing heavy found |
CanBeTargeted | 811 | nothing heavy found |
OnEntityTakeDamage | 841 | nothing heavy found |
OnLootEntity | 3231 | LINQ |
OnEntityDeath | 3249 | string interpolation |
OnEntityKill | 3539 | nothing heavy found |
Walks every entity on the server: 1 place.
MixSettlers.cs
- With Carbon's shims: compiles
- Without shims: compiles
Hot-path hooks (these run very often; what each one does inside):
| Hook | Line | Does |
|---|---|---|
OnEntityDeath | 337 | nothing heavy found |
OnEntityKill | 348 | nothing heavy found |
Repeating timers under one second: 0.25 s.
MixShopfront.cs
- With Carbon's shims: compiles
- Without shims: compiles
Hot-path hooks (these run very often; what each one does inside):
| Hook | Line | Does |
|---|---|---|
OnEntityTakeDamage | 839 | nothing heavy found |
Walks every entity on the server: 1 place.
MixShowcase.cs
- With Carbon's shims: compiles
- Without shims: compiles
No hot-path hooks registered.
MixSignboard.cs
- With Carbon's shims: compiles
- Without shims: compiles
Hot-path hooks (these run very often; what each one does inside):
| Hook | Line | Does |
|---|---|---|
OnEntityKill | 409 | nothing heavy found |
OnLootEntity | 420 | nothing heavy found |
MixSiloRaid.cs
- With Carbon's shims: compiles
- Without shims: compiles
Hot-path hooks (these run very often; what each one does inside):
| Hook | Line | Does |
|---|---|---|
OnTurretTarget | 279 | nothing heavy found |
CanBeTargeted | 301 | nothing heavy found |
OnEntityTakeDamage | 321 | nothing heavy found |
Walks every entity on the server: 1 place.
MixSkillTree.cs
- With Carbon's shims: compiles
- Without shims: compiles
Hot-path hooks (these run very often; what each one does inside):
| Hook | Line | Does |
|---|---|---|
OnDispenserGather | 195 | nothing heavy found |
OnDispenserBonus | 200 | nothing heavy found |
OnCollectiblePickup | 205 | nothing heavy found |
OnEntityDeath | 221 | nothing heavy found |
MixSkinOwnership.cs
- With Carbon's shims: compiles
- Without shims: compiles
No hot-path hooks registered.
MixSkinsLight.cs
- With Carbon's shims: compiles
- Without shims: compiles
Hot-path hooks (these run very often; what each one does inside):
| Hook | Line | Does |
|---|---|---|
OnPlayerDeath | 658 | nothing heavy found |
Repeating timers under one second: 0.05 s.
Walks every entity on the server: 1 place.
MixSprint.cs
- With Carbon's shims: compiles
- Without shims: compiles
Hot-path hooks (these run very often; what each one does inside):
| Hook | Line | Does |
|---|---|---|
OnPlayerDeath | 273 | nothing heavy found |
OnPlayerInput | 338 | nothing heavy found |
MixSuitSlots.cs
- With Carbon's shims: compiles
- Without shims: compiles
No hot-path hooks registered.
MixThirdPerson.cs
- With Carbon's shims: compiles
- Without shims: compiles
No hot-path hooks registered.
MixTrophies.cs
- With Carbon's shims: compiles
- Without shims: compiles
Hot-path hooks (these run very often; what each one does inside):
| Hook | Line | Does |
|---|---|---|
OnPlayerDeath | 473 | nothing heavy found |
OnEntityTakeDamage | 483 | nothing heavy found |
OnEntityTakeDamage | 485 | nothing heavy found |
OnEntityDeath | 487 | nothing heavy found |
OnEntityDeath | 489 | nothing heavy found |
OnEntityDeath | 533 | nothing heavy found |
OnDispenserGather | 545 | nothing heavy found |
MixUiFix.cs
- With Carbon's shims: compiles
- Without shims: compiles
Hot-path hooks (these run very often; what each one does inside):
| Hook | Line | Does |
|---|---|---|
OnPlayerSleepEnded | 124 | nothing heavy found |
OnLootEntity | 130 | nothing heavy found |
MixVote.cs
- With Carbon's shims: compiles
- Without shims: compiles
No hot-path hooks registered.
MixWorld.cs
- With Carbon's shims: compiles
- Without shims: compiles
Hot-path hooks (these run very often; what each one does inside):
| Hook | Line | Does |
|---|---|---|
OnEntityKill | 191 | nothing heavy found |
OnLootEntity | 616 | nothing heavy found |
OnPlayerDeath | 955 | nothing heavy found |
Walks every entity on the server: 1 place.
MixWorldTune.cs
- With Carbon's shims: compiles
- Without shims: compiles
Hot-path hooks (these run very often; what each one does inside):
| Hook | Line | Does |
|---|---|---|
OnEntitySpawned | 484 | nothing heavy found |
OnDispenserGather | 568 | nothing heavy found |
OnDispenserBonus | 576 | nothing heavy found |
OnCollectiblePickup | 584 | nothing heavy found |
OnEntityKill | 611 | nothing heavy found |
OnEntityKill | 612 | nothing heavy found |
Walks every entity on the server: 2 places.
OSAutoTurrets.cs
- With Carbon's shims: compiles
- Without shims: compiles
Hot-path hooks (these run very often; what each one does inside):
| Hook | Line | Does |
|---|---|---|
CanLootEntity | 1505 | nothing heavy found |
CanMoveItem | 1524 | nothing heavy found |
CanBuild | 1943 | plugin call |
RescueSurface.cs
- With Carbon's shims: compiles
- Without shims: compiles
Hot-path hooks (these run very often; what each one does inside):
| Hook | Line | Does |
|---|---|---|
OnPlayerSleepEnded | 115 | nothing heavy found |
OnEntityTakeDamage | 127 | nothing heavy found |
Salvo.cs
- With Carbon's shims: compiles
- Without shims: compiles
Hot-path hooks (these run very often; what each one does inside):
| Hook | Line | Does |
|---|---|---|
OnItemAddedToContainer | 1188 | nothing heavy found |
OnPlayerAttack | 1318 | nothing heavy found |
OnEntityTakeDamage | 1382 | nothing heavy found |
OnActiveItemChanged | 1587 | nothing heavy found |
SimpleFurnaces.cs
- With Carbon's shims: compiles
- Without shims: compiles
Hot-path hooks (these run very often; what each one does inside):
| Hook | Line | Does |
|---|---|---|
OnEntityKill | 64 | nothing heavy found |
CanMoveItem | 72 | nothing heavy found |
Stockyard.cs
- With Carbon's shims: compiles
- Without shims: compiles
Hot-path hooks (these run very often; what each one does inside):
| Hook | Line | Does |
|---|---|---|
OnPlayerDeath | 564 | nothing heavy found |
Walks every entity on the server: 1 place.
TimeOfDay.cs
- With Carbon's shims: compiles
- Without shims: compiles
No hot-path hooks registered.
TwinBarrel.cs
- With Carbon's shims: compiles
- Without shims: compiles
Hot-path hooks (these run very often; what each one does inside):
| Hook | Line | Does |
|---|---|---|
OnWeaponFired | 109 | nothing heavy found |
OnPlayerAttack | 127 | nothing heavy found |
SHA-256 of this file
389fe1651334ab1806ba439adcb40cafbe4a238cd50028587168eac8f92e9fcb
Hooks it registers 88
Findings 478
Network 34
| Level | What | Where | Line |
|---|---|---|---|
| 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:7444 | public const string UiKitCdn = "https://mixapps.store/assets/img/mixdev/cui"; |
| note | URL in source | plugins/MixApartmentHome.cs:7445 | 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:5856 | 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:32 | private readonly Dictionary<string, UnityWebRequest> _requests = new(); |
| look | outbound network use | plugins/MixImages.cs:267 | /// Fetches one image and stores it as a png. UnityWebRequest is used instead of webrequest.Enqueue on purpose: |
| look | outbound network use | plugins/MixImages.cs:279 | var www = UnityWebRequest.Get(url); |
| look | outbound network use | plugins/MixImages.cs:294 | var failed = www.result != UnityWebRequest.Result.Success; |
| note | Oxide/Carbon web request | plugins/MixImages.cs:267 | /// Fetches one image and stores it as a png. UnityWebRequest is used instead of webrequest.Enqueue on purpose: |
| note | URL in source | plugins/MixInstantBases.cs:1961 | public const string UiKitCdn = "https://mixapps.store/assets/img/mixdev/cui"; |
| note | URL in source | plugins/MixInstantBases.cs:1962 | 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:34 | private const string BrandCdn = "https://mixapps.store/assets/img/mixdev/brand"; |
| note | URL in source | plugins/Stockyard.cs:33 | private const string DefaultArtUrl = "https://directory.mixapps.store/static/mods/stockyard/ui/"; |
| note | Oxide/Carbon web request | plugins/Stockyard.cs:1317 | webrequest.Enqueue(url, body, DiscordCallback, this, RequestMethod.POST, DiscordHeaders); |
Steam IDs and admin 252
| Level | What | Where | Line |
|---|---|---|---|
| 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:394 | if (arg != null && arg.Connection != null && arg.Connection.authLevel < 2) return null; |
| note | changes or checks admin status | plugins/FreeBuild.cs:479 | player != null && (player.net?.connection?.authLevel ?? 0) >= 2; |
| note | changes or checks admin status | plugins/FreeBuild.cs:1252 | if ((player.net?.connection?.authLevel ?? 0) >= 2) return true; |
| 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/MixAngler.cs:304 | p != null && (p.IsAdmin || permission.UserHasPermission(p.UserIDString, PermUse) |
| note | changes or checks admin status | plugins/MixApartmentHome.cs:5678 | player != null && (player.IsAdmin || permission.UserHasPermission(player.UserIDString, PermAdmin)); |
| note | changes or checks admin status | plugins/MixBoatHelm.cs:635 | if (player.IsAdmin) return true; |
| note | changes or checks admin status | plugins/MixBoatHelm.cs:1366 | 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/MixBusStops.cs:1560 | player != null && (player.IsAdmin || permission.UserHasPermission(player.UserIDString, Perm)); |
| 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:2716 | player != null && (player.IsAdmin |
| note | changes or checks admin status | plugins/MixCommerce.cs:2717 | || (player.net?.connection?.authLevel ?? 0) >= 2 |
| note | changes or checks admin status | plugins/MixCore.cs:116 | if (!IsAdmin(player)) { player.ChatMessage("<color=#f87171>MixCore</color>: mixcore.sfxtest is staff only"); return; } |
| note | changes or checks admin status | plugins/MixCore.cs:746 | 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:783 | 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:904 | if (IsAdmin(player)) |
| note | changes or checks admin status | plugins/MixCore.cs:1386 | if (!IsAdmin(requestingAdmin)) |
| note | changes or checks admin status | plugins/MixCore.cs:1406 | player.SetPlayerFlag(BasePlayer.PlayerFlags.IsAdmin, true); |
| note | changes or checks admin status | plugins/MixCore.cs:1407 | player.net.connection.authLevel = 2; |
| note | changes or checks admin status | plugins/MixCore.cs:2648 | if (pluginName == "MixCommerce" && IsAdmin(player)) |
| note | changes or checks admin status | plugins/MixCore.cs:2958 | if (!IsAdmin(player)) |
| note | changes or checks admin status | plugins/MixCore.cs:3076 | if (!IsAdmin(player)) |
| note | changes or checks admin status | plugins/MixCore.cs:3443 | var admin = IsAdmin(player); |
| note | changes or checks admin status | plugins/MixCore.cs:3445 | var auth = player.net?.connection?.authLevel ?? 0; |
| note | changes or checks admin status | plugins/MixCore.cs:3465 | if (!IsAdmin(player)) { player.ChatMessage("<color=#f87171>MixPack</color>: debug is staff only"); return; } |
| note | changes or checks admin status | plugins/MixCore.cs:3486 | var admin = IsAdmin(player); |
| note | changes or checks admin status | plugins/MixCore.cs:3487 | 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:3500 | if (!IsAdmin(player)) { player.ChatMessage("<color=#f87171>MixPack</color>: debug is staff only"); return; } |
| note | changes or checks admin status | plugins/MixCore.cs:3507 | var admin = IsAdmin(player); |
| note | changes or checks admin status | plugins/MixCore.cs:3508 | 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:3517 | if (!IsAdmin(player)) |
| note | changes or checks admin status | plugins/MixCore.cs:3802 | if (player == null || !IsAdmin(player)) return; |
| note | changes or checks admin status | plugins/MixCore.cs:3945 | "tune" => IsAdmin(player) ? "tune.main" : null, |
| note | changes or checks admin status | plugins/MixCore.cs:3951 | "world" => IsAdmin(player) ? "world.admin" : "world.guide", |
| note | changes or checks admin status | plugins/MixCore.cs:3952 | "arena" => IsAdmin(player) ? "arena.admin" : "arena.events", |
| note | changes or checks admin status | plugins/MixCore.cs:3968 | else if (!IsAdmin(player)) |
| note | changes or checks admin status | plugins/MixCore.cs:3978 | else if (!IsAdmin(player)) |
| note | changes or checks admin status | plugins/MixCore.cs:3986 | if (mod is "govern" or "tune" && !IsAdmin(player) && !(mod == "govern" && GovernStaff(player))) |
| note | changes or checks admin status | plugins/MixCore.cs:4044 | public bool API_IsPackStaff(BasePlayer player) => IsAdmin(player); |
| note | changes or checks admin status | plugins/MixCore.cs:4143 | if (!playerPack && !IsAdmin(player) && !(packKey == "govern" && GovernStaff(player))) |
| note | changes or checks admin status | plugins/MixCore.cs:4155 | "world" => IsAdmin(player) ? "world.admin" : "world.guide", |
| note | changes or checks admin status | plugins/MixCore.cs:4166 | private bool IsAdmin(BasePlayer player) => |
| note | changes or checks admin status | plugins/MixCore.cs:4169 | || (!_noclipElevated.Contains(player.userID) && (player.IsAdmin || (player.net?.connection?.authLevel ?? 0) >= 2)) |
| note | changes or checks admin status | plugins/MixCore.cs:4200 | IsAdmin(player) || plugins.Find("MixGovern")?.Call("API_IsStaff", player) is true; |
| note | changes or checks admin status | plugins/MixCore.cs:4320 | player != null && (IsAdmin(player) || permission.UserHasPermission(player.UserIDString, PermUse)); |
| note | changes or checks admin status | plugins/MixCore.cs:4335 | ("tune", "Tune", IsPluginLoaded("MixWorldTune") && IsAdmin(player)) |
| note | changes or checks admin status | plugins/MixCore.cs:4350 | if (_config.ModManager.Enabled && IsAdmin(player)) |
| note | changes or checks admin status | plugins/MixCore.cs:4427 | if (!IsAdmin(player)) |
| note | changes or checks admin status | plugins/MixCore.cs:4477 | .Where(t => t.IsEnabled(player) && (!t.AdminOnly || IsAdmin(player))) |
| note | changes or checks admin status | plugins/MixCore.cs:4520 | var admin = IsAdmin(player); |
| note | changes or checks admin status | plugins/MixCore.cs:4597 | var admin = IsAdmin(player); |
| note | changes or checks admin status | plugins/MixCore.cs:4804 | var admin = IsAdmin(player); |
| note | changes or checks admin status | plugins/MixCore.cs:5328 | var admin = IsAdmin(player); |
| note | changes or checks admin status | plugins/MixEntityScale.cs:666 | 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:151 | p != null && (p.IsAdmin || permission.UserHasPermission(p.UserIDString, PermUse) |
| note | changes or checks admin status | plugins/MixExtract.cs:154 | private bool IsAdmin(BasePlayer p) => |
| note | changes or checks admin status | plugins/MixExtract.cs:155 | p != null && (p.IsAdmin || permission.UserHasPermission(p.UserIDString, PermAdmin)); |
| note | changes or checks admin status | plugins/MixExtract.cs:244 | var admin = IsAdmin(player); |
| note | changes or checks admin status | plugins/MixGovern.cs:51 | private readonly Dictionary<ulong, (bool hadAdmin, uint authLevel)> _noclipRestore = new(); |
| note | changes or checks admin status | plugins/MixGovern.cs:1204 | return player.IsAdmin || (player.net?.connection?.authLevel ?? 0) >= 2; |
| note | changes or checks admin status | plugins/MixGovern.cs:1212 | _noclipRestore[player.userID] = (player.IsAdmin, conn.authLevel); |
| note | changes or checks admin status | plugins/MixGovern.cs:1215 | player.SetPlayerFlag(BasePlayer.PlayerFlags.IsAdmin, true); |
| note | changes or checks admin status | plugins/MixGovern.cs:1216 | conn.authLevel = 2; |
| note | changes or checks admin status | plugins/MixGovern.cs:1228 | conn.authLevel = restore.authLevel; |
| note | changes or checks admin status | plugins/MixGovern.cs:1229 | player.SetPlayerFlag(BasePlayer.PlayerFlags.IsAdmin, restore.hadAdmin); |
| note | changes or checks admin status | plugins/MixGovern.cs:1368 | var auth = _noclipRestore.TryGetValue(userId, out var before) ? before.authLevel : target.net.connection.authLevel; |
| note | changes or checks admin status | plugins/MixGovern.cs:1371 | if (target.IsDeveloper) |
| note | changes or checks admin status | plugins/MixGovern.cs:3179 | if (_noclipRestore.TryGetValue(player.userID, out var before)) return before.hadAdmin || before.authLevel >= 2; |
| note | changes or checks admin status | plugins/MixGovern.cs:3180 | return player.IsAdmin || (player.net?.connection?.authLevel ?? 0) >= 2; |
| note | changes or checks admin status | plugins/MixGrid.cs:88 | p != null && (p.IsAdmin || permission.UserHasPermission(p.UserIDString, PermUse) |
| note | changes or checks admin status | plugins/MixGrid.cs:91 | private bool IsAdmin(BasePlayer p) => |
| note | changes or checks admin status | plugins/MixGrid.cs:92 | p != null && (p.IsAdmin || permission.UserHasPermission(p.UserIDString, PermAdmin)); |
| note | changes or checks admin status | plugins/MixGrid.cs:106 | if (IsAdmin(p) || !_config.OwnerOnly) return true; |
| note | changes or checks admin status | plugins/MixHorde.cs:111 | private bool IsAdmin(BasePlayer p) => |
| note | changes or checks admin status | plugins/MixHorde.cs:112 | p != null && (p.IsAdmin || permission.UserHasPermission(p.UserIDString, PermAdmin)); |
| note | changes or checks admin status | plugins/MixHorde.cs:178 | if (!permission.UserHasPermission(p.UserIDString, PermUse) && !p.IsAdmin) continue; |
| note | changes or checks admin status | plugins/MixHorde.cs:209 | var admin = server || IsAdmin(player); |
| note | changes or checks admin status | plugins/MixHorde.cs:303 | 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:287 | if (!_config.Enabled && !IsAdmin(player)) { player.ChatMessage("<color=#f87171>Instant Bases</color>: disabled."); return; } |
| note | changes or checks admin status | plugins/MixInstantBases.cs:300 | if (!IsAdmin(player)) return; |
| note | changes or checks admin status | plugins/MixInstantBases.cs:304 | 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:325 | 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:337 | if (!IsAdmin(player)) return; |
| note | changes or checks admin status | plugins/MixInstantBases.cs:1723 | if (action == "grant" && IsAdmin(player) && parts.Length >= 3 |
| note | changes or checks admin status | plugins/MixInstantBases.cs:1733 | if (action == "select" && IsAdmin(player) && parts.Length >= 2 && ulong.TryParse(parts[1], out var sel)) |
| note | changes or checks admin status | plugins/MixInstantBases.cs:1740 | if (action == "enabled" && IsAdmin(player)) |
| note | changes or checks admin status | plugins/MixInstantBases.cs:1789 | var levelZone = IsAdmin(player) ? "panelTop" : "panel"; |
| note | changes or checks admin status | plugins/MixInstantBases.cs:1804 | if (!IsAdmin(player)) return; |
| note | changes or checks admin status | plugins/MixInstantBases.cs:1852 | if (caller != null && !IsAdmin(caller)) return; |
| note | changes or checks admin status | plugins/MixInstantBases.cs:1916 | private bool IsAdmin(BasePlayer player) => |
| note | changes or checks admin status | plugins/MixInstantBases.cs:1920 | || player.IsAdmin); |
| note | changes or checks admin status | plugins/MixInstantBases.cs:1925 | if (IsAdmin(player)) return true; |
| note | changes or checks admin status | plugins/MixMenuKit.cs:1938 | p != null && (p.IsAdmin || permission.UserHasPermission(p.UserIDString, PermUse)); |
| note | changes or checks admin status | plugins/MixMenuKit.cs:1943 | p != null && (p.IsAdmin || permission.UserHasPermission(p.UserIDString, PermEdit)); |
| note | changes or checks admin status | plugins/MixModsConnectUI.cs:646 | 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:100 | p != null && (p.IsAdmin || permission.UserHasPermission(p.UserIDString, PermUse) |
| note | changes or checks admin status | plugins/MixPlace.cs:103 | private bool IsAdmin(BasePlayer p) => |
| note | changes or checks admin status | plugins/MixPlace.cs:104 | p != null && (p.IsAdmin || permission.UserHasPermission(p.UserIDString, PermAdmin)); |
| note | changes or checks admin status | plugins/MixPlace.cs:130 | if (IsAdmin(p) || !_config.OwnerOnly) return true; |
| note | changes or checks admin status | plugins/MixQuarry.cs:120 | p != null && (p.IsAdmin || permission.UserHasPermission(p.UserIDString, PermUse) |
| note | changes or checks admin status | plugins/MixQuarry.cs:123 | private bool IsAdmin(BasePlayer p) => |
| note | changes or checks admin status | plugins/MixQuarry.cs:124 | p != null && (p.IsAdmin || permission.UserHasPermission(p.UserIDString, PermAdmin)); |
| note | changes or checks admin status | plugins/MixQuarry.cs:149 | if (IsAdmin(p)) return true; |
| note | changes or checks admin status | plugins/MixQuarry.cs:248 | if (!q.isStatic && !IsAdmin(player)) |
| note | changes or checks admin status | plugins/MixQuarry.cs:253 | if (_data.Claims.TryGetValue(Qid(q), out var existing) && existing.Owner != player.userID && !IsAdmin(player)) |
| note | changes or checks admin status | plugins/MixRackKit.cs:628 | if (!arg.IsAdmin) return; |
| note | changes or checks admin status | plugins/MixRackKit.cs:648 | if (!arg.IsAdmin) return; |
| note | changes or checks admin status | plugins/MixRackKit.cs:655 | if (!arg.IsAdmin) return; |
| note | changes or checks admin status | plugins/MixRackKit.cs:755 | 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:3662 | if (player == null || !IsAdmin(player) || arg.Args == null || arg.Args.Length == 0) return; |
| note | changes or checks admin status | plugins/MixShopfront.cs:937 | private bool IsAdmin(BasePlayer player) => |
| note | changes or checks admin status | plugins/MixShopfront.cs:938 | player != null && (player.IsAdmin || permission.UserHasPermission(player.UserIDString, PermAdmin)); |
| note | changes or checks admin status | plugins/MixShopfront.cs:943 | if (!IsAdmin(player)) { player.ChatMessage("Shopfront: admin only."); return; } |
| note | changes or checks admin status | plugins/MixShopfront.cs:1026 | if (arg.Player() != null && !IsAdmin(arg.Player())) { arg.ReplyWith("Shopfront: admin only"); return; } |
| note | changes or checks admin status | plugins/MixShopfront.cs:1032 | if (arg.Player() != null && !IsAdmin(arg.Player())) { arg.ReplyWith("Shopfront: admin only"); return; } |
| note | changes or checks admin status | plugins/MixShopfront.cs:1079 | 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:447 | if (!IsAdmin(player)) |
| note | changes or checks admin status | plugins/MixSignboard.cs:483 | if (!IsAdmin(player)) |
| note | changes or checks admin status | plugins/MixSignboard.cs:1814 | if (!IsAdmin(player) || arg.Args == null || arg.Args.Length == 0) return; |
| note | changes or checks admin status | plugins/MixSignboard.cs:2012 | private bool IsAdmin(BasePlayer player) => |
| note | changes or checks admin status | plugins/MixSignboard.cs:2014 | || (player.net?.connection?.authLevel ?? 0) >= 2 |
| note | changes or checks admin status | plugins/MixSiloRaid.cs:409 | private bool IsAdmin(BasePlayer player) |
| note | changes or checks admin status | plugins/MixSiloRaid.cs:413 | return (player.net?.connection?.authLevel ?? 0) >= 2; |
| note | changes or checks admin status | plugins/MixSiloRaid.cs:419 | if (!IsAdmin(player)) |
| note | changes or checks admin status | plugins/MixSiloRaid.cs:552 | if (player == null || !IsAdmin(player)) return; |
| note | changes or checks admin status | plugins/MixSiloRaid.cs:648 | if (player == null || !IsAdmin(player)) return; |
| note | changes or checks admin status | plugins/MixSiloRaid.cs:1275 | if (!IsAdmin(p)) return; |
| note | changes or checks admin status | plugins/MixSiloRaid.cs:1328 | if (arg.Player() != null && !IsAdmin(arg.Player())) return; |
| note | changes or checks admin status | plugins/MixSiloRaid.cs:1340 | if (arg.Player() != null && !IsAdmin(arg.Player())) return; |
| note | changes or checks admin status | plugins/MixSiloRaid.cs:1349 | if (!IsAdmin(p)) return; |
| note | changes or checks admin status | plugins/MixSiloRaid.cs:1362 | if (arg.Player() != null && !IsAdmin(arg.Player())) return; |
| note | changes or checks admin status | plugins/MixSiloRaid.cs:2300 | if (!IsAdmin(p)) return; |
| note | changes or checks admin status | plugins/MixSiloRaid.cs:2368 | if (p == null || !IsAdmin(p)) { Puts("need player"); return; } |
| note | changes or checks admin status | plugins/MixSiloRaid.cs:2378 | if (!IsAdmin(p)) return; |
| note | changes or checks admin status | plugins/MixSiloRaid.cs:2430 | 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:411 | rt.Admin = IsAdmin(player); |
| note | changes or checks admin status | plugins/MixSprint.cs:704 | if (!_config.Enabled && !IsAdmin(player)) |
| note | changes or checks admin status | plugins/MixSprint.cs:721 | if (!IsAdmin(player)) |
| note | changes or checks admin status | plugins/MixSprint.cs:786 | if (!IsAdmin(player)) return; |
| note | changes or checks admin status | plugins/MixSprint.cs:892 | if (target != null && !IsAdmin(target)) |
| note | changes or checks admin status | plugins/MixSprint.cs:964 | var adminNote = IsAdmin(player) ? $" · unlimited {(unlimited ? "on" : "off")}" : ""; |
| note | changes or checks admin status | plugins/MixSprint.cs:1028 | if (IsAdmin(player)) DrawAdminRows(c, player, rec, y); |
| note | changes or checks admin status | plugins/MixSprint.cs:1104 | if (target != null && IsAdmin(target)) |
| note | changes or checks admin status | plugins/MixSprint.cs:1123 | _config.Enabled && player != null && !rec.Revoked && (rec.Granted || HasPerm(player) || IsAdmin(player)); |
| note | changes or checks admin status | plugins/MixSprint.cs:1125 | private bool HasUnlimited(BasePlayer player, PlayerRecord rec) => rec.UnlimitedStamina && IsAdmin(player); |
| note | changes or checks admin status | plugins/MixSprint.cs:1136 | private bool IsAdmin(BasePlayer player) => |
| note | changes or checks admin status | plugins/MixSprint.cs:1138 | || (player.net?.connection?.authLevel ?? 0) >= 2 |
| note | changes or checks admin status | plugins/MixThirdPerson.cs:290 | if (!_config.Enabled && !IsAdmin(player)) |
| note | changes or checks admin status | plugins/MixThirdPerson.cs:335 | if (player != null && !IsAdmin(player)) |
| note | changes or checks admin status | plugins/MixThirdPerson.cs:502 | var wasAdmin = player.IsAdmin || (player.net?.connection?.authLevel ?? 0) >= 2; |
| note | changes or checks admin status | plugins/MixThirdPerson.cs:508 | player.SetPlayerFlag(BasePlayer.PlayerFlags.IsAdmin, true); |
| note | changes or checks admin status | plugins/MixThirdPerson.cs:522 | player.SetPlayerFlag(BasePlayer.PlayerFlags.IsAdmin, false); |
| note | changes or checks admin status | plugins/MixThirdPerson.cs:603 | player != null && (player.IsAdmin || permission.UserHasPermission(player.UserIDString, PermUse)); |
| note | changes or checks admin status | plugins/MixThirdPerson.cs:605 | private bool IsAdmin(BasePlayer player) => |
| note | changes or checks admin status | plugins/MixThirdPerson.cs:606 | player != null && (player.IsAdmin || permission.UserHasPermission(player.UserIDString, PermAdmin)); |
| note | changes or checks admin status | plugins/MixTrophies.cs:424 | p != null && (p.IsAdmin || permission.UserHasPermission(p.UserIDString, PermUse) |
| note | changes or checks admin status | plugins/MixTrophies.cs:579 | !(player.IsAdmin || permission.UserHasPermission(player.UserIDString, PermAdmin))) |
| note | changes or checks admin status | plugins/MixTrophies.cs:949 | if (caller != null && !caller.IsAdmin && !permission.UserHasPermission(caller.UserIDString, PermAdmin)) |
| note | changes or checks admin status | plugins/MixUiFix.cs:160 | var notes = RestoreControls(player, blind: player.IsAdmin); |
| note | changes or checks admin status | plugins/MixUiFix.cs:176 | var notes = RestoreControls(player, blind: player.IsAdmin); |
| note | changes or checks admin status | plugins/MixUiFix.cs:187 | 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:274 | if (!quiet && player.IsAdmin) ReleaseGovernState(player, notes); |
| note | changes or checks admin status | plugins/MixWorld.cs:285 | if (!IsAdmin(player)) { DenyAdmin(player); return; } |
| note | changes or checks admin status | plugins/MixWorld.cs:330 | if (!IsAdmin(player)) |
| note | changes or checks admin status | plugins/MixWorld.cs:369 | if (!IsAdmin(player)) { DenyAdmin(player); return; } |
| note | changes or checks admin status | plugins/MixWorld.cs:377 | private bool MayQuicksort(BasePlayer player) => player != null && (permission.UserHasPermission(player.UserIDString, PermUse) || IsAdmin(player)); |
| note | changes or checks admin status | plugins/MixWorld.cs:380 | player != null && (permission.UserHasPermission(player.UserIDString, PermUse) || IsAdmin(player)); |
| note | changes or checks admin status | plugins/MixWorld.cs:384 | private bool IsAdmin(BasePlayer player) |
| note | changes or checks admin status | plugins/MixWorld.cs:387 | if (player.IsAdmin || (player.net?.connection?.authLevel ?? 0) >= 2) return true; |
| note | changes or checks admin status | plugins/MixWorld.cs:414 | if (IsAdmin(player)) |
| note | changes or checks admin status | plugins/MixWorld.cs:505 | if (IsAdmin(player)) |
| note | changes or checks admin status | plugins/MixWorld.cs:513 | if (!IsAdmin(player)) { DenyAdmin(player); return; } |
| note | changes or checks admin status | plugins/MixWorld.cs:550 | if (!IsAdmin(player)) { DenyAdmin(player); return; } |
| note | changes or checks admin status | plugins/MixWorldTune.cs:1024 | if (player.IsAdmin || (player.net?.connection?.authLevel ?? 0) >= 2) return true; |
| note | changes or checks admin status | plugins/OSAutoTurrets.cs:524 | player != null && (player.net?.connection?.authLevel ?? 0) >= 2; |
| note | changes or checks admin status | plugins/OSAutoTurrets.cs:526 | private bool IsAdmin(BasePlayer player) => |
| note | changes or checks admin status | plugins/OSAutoTurrets.cs:531 | player != null && (IsVanillaAdmin(player) || IsAdmin(player) || GetEffectiveRank(player) == "admin"); |
| note | changes or checks admin status | plugins/OSAutoTurrets.cs:538 | if (IsVanillaAdmin(player) || IsAdmin(player) || IsTurretOwner(player, turret) || turret.IsAuthed(player)) return true; |
| note | changes or checks admin status | plugins/OSAutoTurrets.cs:545 | && (IsAdmin(player) || (_config.AllowAuthedPickup && turret.IsAuthed(player))); |
| note | changes or checks admin status | plugins/OSAutoTurrets.cs:678 | if (!IsAdmin(player)) |
| note | changes or checks admin status | plugins/OSAutoTurrets.cs:776 | if (!turret.IsAuthed(player) && !IsAdmin(player)) |
| note | changes or checks admin status | plugins/OSAutoTurrets.cs:793 | if (!IsAdmin(player) && !turret.IsAuthed(player) && turret.OwnerID != player.userID) |
| note | changes or checks admin status | plugins/OSAutoTurrets.cs:842 | if (IsAdmin(player) || IsVanillaAdmin(player)) |
| note | changes or checks admin status | plugins/OSAutoTurrets.cs:1370 | if (player == null || !IsAdmin(player) || arg.Args == null || arg.Args.Length == 0) return; |
| note | changes or checks admin status | plugins/OSAutoTurrets.cs:1509 | if (IsVanillaAdmin(player) || IsAdmin(player) || IsTurretOwner(player, turret) || turret.IsAuthed(player)) |
| note | changes or checks admin status | plugins/OSAutoTurrets.cs:2027 | var skipProbe = IsVanillaAdmin(player) || IsAdmin(player); |
| note | changes or checks admin status | plugins/RescueSurface.cs:282 | player != null && (player.IsAdmin || (player.net?.connection?.authLevel ?? 0) >= 1 |
| note | changes or checks admin status | plugins/Salvo.cs:744 | player != null && (player.IsAdmin || (player.net?.connection?.authLevel ?? 0) >= 2); |
| note | changes or checks admin status | plugins/Salvo.cs:960 | private bool IsAdmin(BasePlayer player) |
| note | changes or checks admin status | plugins/Salvo.cs:1520 | if (!IsAdmin(player)) |
| note | changes or checks admin status | plugins/Salvo.cs:1560 | if (!IsAdmin(player) && _data.KitClaims.TryGetValue(player.userID, out var taken) && taken == claim) |
| note | changes or checks admin status | plugins/Salvo.cs:1871 | if (player == null || !IsAdmin(player)) return; |
| note | changes or checks admin status | plugins/Stockyard.cs:1365 | private bool IsAdmin(BasePlayer player) => player.IsAdmin || permission.UserHasPermission(player.UserIDString, PermAdmin); |
| note | changes or checks admin status | plugins/Stockyard.cs:1367 | private bool Allowed(ConsoleSystem.Arg arg) => arg.Connection == null || arg.Player() != null && IsAdmin(arg.Player()); |
| note | changes or checks admin status | plugins/Stockyard.cs:1621 | if (IsAdmin(player)) |
| note | changes or checks admin status | plugins/Stockyard.cs:1851 | bool admin = IsAdmin(player); |
| note | changes or checks admin status | plugins/Stockyard.cs:1890 | if (!IsAdmin(player)) return; |
| note | changes or checks admin status | plugins/Stockyard.cs:1909 | bool admin = IsAdmin(player); |
| 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:93 | player != null && (player.IsAdmin || (player.net?.connection?.authLevel ?? 0) >= 1); |
| note | changes or checks admin status | plugins/TwinBarrel.cs:100 | private bool IsAdmin(BasePlayer player) => |
| note | changes or checks admin status | plugins/TwinBarrel.cs:148 | if (!IsAdmin(player)) |
| note | changes or checks admin status | plugins/TwinBarrel.cs:150 | player.ChatMessage("<color=#4ade80>TwinBarrel</color>: need <color=#f87171>twinbarrel.admin</color> (or authLevel)"); |
| note | changes or checks admin status | plugins/TwinBarrel.cs:158 | if (!IsAdmin(player) && !permission.UserHasPermission(player.UserIDString, PermKit)) |
| note | changes or checks admin status | plugins/TwinBarrel.cs:222 | if (player == null || !IsAdmin(player) || arg.Args == null || arg.Args.Length == 0) return; |
Config writes 91
| Level | What | Where | Line |
|---|---|---|---|
| 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:347 | SaveConfig(); |
| note | writes the config file | plugins/MixAngler.cs:224 | SaveConfig(); |
| note | writes the config file | plugins/MixApartmentHome.cs:319 | SaveConfig(); |
| note | writes the config file | plugins/MixApartmentHome.cs:5400 | SaveConfig(); |
| note | writes the config file | plugins/MixApartmentHome.cs:5409 | SaveConfig(); |
| note | writes the config file | plugins/MixBoatHelm.cs:91 | SaveConfig(); |
| note | writes the config file | plugins/MixCommerce.cs:1620 | SaveConfig(); |
| note | writes the config file | plugins/MixCompanionFix.cs:40 | SaveConfig(); |
| note | writes the config file | plugins/MixCore.cs:753 | SaveConfig(); |
| note | writes the config file | plugins/MixCore.cs:1319 | SaveConfig(); |
| note | writes the config file | plugins/MixEntityScale.cs:255 | 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:82 | SaveConfig(); |
| note | writes the config file | plugins/MixGovern.cs:1767 | SaveConfig(); |
| note | writes the config file | plugins/MixGovern.cs:3790 | if (apply && changed > 0) SaveConfig(); |
| note | writes the config file | plugins/MixGrid.cs:46 | SaveConfig(); |
| note | writes the config file | plugins/MixHeadlamp.cs:72 | SaveConfig(); |
| note | writes the config file | plugins/MixHorde.cs:68 | SaveConfig(); |
| note | writes the config file | plugins/MixHorde.cs:228 | SaveConfig(); |
| note | writes the config file | plugins/MixHud.cs:1505 | else if (changed) SaveConfig(); |
| note | writes the config file | plugins/MixInstantBases.cs:144 | SaveConfig(); |
| note | writes the config file | plugins/MixInstantBases.cs:392 | SaveConfig(); |
| note | writes the config file | plugins/MixInstantBases.cs:1855 | SaveConfig(); |
| note | writes the config file | plugins/MixMenuKit.cs:272 | SaveConfig(); |
| note | writes the config file | plugins/MixMenuKit.cs:328 | private void OnServerSave() => SaveConfig(); |
| note | writes the config file | plugins/MixMenuKit.cs:333 | SaveConfig(); |
| note | writes the config file | plugins/MixMenuKit.cs:358 | if (CanEdit(player)) SaveConfig(); |
| note | writes the config file | plugins/MixMenuKit.cs:692 | if (CanEdit(p)) SaveConfig(); |
| note | writes the config file | plugins/MixMenuKit.cs:794 | SaveConfig(); |
| note | writes the config file | plugins/MixMenuKit.cs:806 | SaveConfig(); |
| note | writes the config file | plugins/MixMenuKit.cs:842 | SaveConfig(); |
| note | writes the config file | plugins/MixMenuKit.cs:863 | SaveConfig(); |
| note | writes the config file | plugins/MixMenuKit.cs:878 | SaveConfig(); |
| note | writes the config file | plugins/MixMenuKit.cs:890 | SaveConfig(); |
| note | writes the config file | plugins/MixMenuKit.cs:967 | SaveConfig(); |
| note | writes the config file | plugins/MixMenuKit.cs:983 | SaveConfig(); |
| note | writes the config file | plugins/MixMenuKit.cs:1005 | SaveConfig(); |
| note | writes the config file | plugins/MixMenuKit.cs:1010 | SaveConfig(); |
| note | writes the config file | plugins/MixMenuKit.cs:1037 | SaveConfig(); |
| note | writes the config file | plugins/MixMenuKit.cs:1050 | SaveConfig(); |
| note | writes the config file | plugins/MixMenuKit.cs:1066 | SaveConfig(); |
| note | writes the config file | plugins/MixMenuKit.cs:1082 | SaveConfig(); |
| note | writes the config file | plugins/MixMenuKit.cs:1096 | SaveConfig(); |
| note | writes the config file | plugins/MixMenuKit.cs:1109 | SaveConfig(); |
| note | writes the config file | plugins/MixMenuKit.cs:1122 | SaveConfig(); |
| note | writes the config file | plugins/MixPlace.cs:59 | SaveConfig(); |
| note | writes the config file | plugins/MixQuarry.cs:60 | 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:217 | SaveConfig(); |
| note | writes the config file | plugins/MixSiloRaid.cs:201 | SaveConfig(); |
| note | writes the config file | plugins/MixSiloRaid.cs:544 | SaveConfig(); |
| note | writes the config file | plugins/MixSkillTree.cs:83 | SaveConfig(); |
| note | writes the config file | plugins/MixSkillTree.cs:89 | 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:137 | SaveConfig(); |
| note | writes the config file | plugins/MixSuitSlots.cs:101 | SaveConfig(); |
| note | writes the config file | plugins/MixThirdPerson.cs:85 | SaveConfig(); |
| note | writes the config file | plugins/MixThirdPerson.cs:351 | SaveConfig(); |
| note | writes the config file | plugins/MixThirdPerson.cs:402 | SaveConfig(); |
| note | writes the config file | plugins/MixTrophies.cs:149 | 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:557 | SaveConfig(); |
| note | writes the config file | plugins/OSAutoTurrets.cs:158 | SaveConfig(); |
| note | writes the config file | plugins/OSAutoTurrets.cs:476 | SaveConfig(); |
| note | writes the config file | plugins/OSAutoTurrets.cs:484 | SaveConfig(); |
| note | writes the config file | plugins/OSAutoTurrets.cs:1384 | SaveConfig(); |
| note | writes the config file | plugins/RescueSurface.cs:49 | SaveConfig(); |
| note | writes the config file | plugins/Salvo.cs:544 | SaveConfig(); |
| note | writes the config file | plugins/Salvo.cs:1931 | SaveConfig(); |
| note | writes the config file | plugins/Salvo.cs:1943 | SaveConfig(); |
| note | writes the config file | plugins/Salvo.cs:1952 | SaveConfig(); |
| note | writes the config file | plugins/Stockyard.cs:1719 | 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:47 | SaveConfig(); |
| note | writes the config file | plugins/TwinBarrel.cs:230 | SaveConfig(); |
Game control 80
| Level | What | Where | Line |
|---|---|---|---|
| note | runs console commands or stops the server | plugins/FreeBuild.cs:420 | ConsoleSystem.Run(ConsoleSystem.Option.Server.Quiet(), "creative.freeplacement", "true"); |
| note | runs console commands or stops the server | plugins/FreeBuild.cs:422 | ConsoleSystem.Run(ConsoleSystem.Option.Server.Quiet(), "creative.freebuild", "true"); |
| note | runs console commands or stops the server | plugins/FreeBuild.cs:424 | ConsoleSystem.Run(ConsoleSystem.Option.Server.Quiet(), "creative.unlimitedio", "true"); |
| note | runs console commands or stops the server | plugins/FreeBuild.cs:426 | ConsoleSystem.Run(ConsoleSystem.Option.Server.Quiet(), "ioentity.infiniteiopower", "true"); |
| note | runs console commands or stops the server | plugins/FreeBuild.cs:528 | 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:541 | ConsoleSystem.Run(ConsoleSystem.Option.Server.Quiet(), "creative.togglecreativemodeuser", |
| note | runs console commands or stops the server | plugins/FreeBuild.cs:558 | ConsoleSystem.Run(ConsoleSystem.Option.Server.Quiet(), "creative.togglecreativemodeuser", |
| note | repeating timer | plugins/FreeBuild.cs:411 | timer.Every(30f, ResyncCreativePlayers); |
| note | repeating timer | plugins/FreeBuild.cs:412 | timer.Every(30f, FlushData); |
| note | repeating timer | plugins/MiniMapRound.cs:233 | _timer = timer.Every(_config.Refresh, Refresh); |
| note | repeating timer | plugins/MixAngler.cs:555 | _panelTick[id] = timer.Every(1f, () => |
| note | Harmony patch | plugins/MixApartmentHome.cs:483 | [HarmonyPatch(typeof(ApartmentRoom), nameof(ApartmentRoom.StartRentingRoom))] |
| 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:177 | try { ConsoleSystem.Run(ConsoleSystem.Option.Server, $"{name} {text}"); } catch { } |
| note | repeating timer | plugins/MixBoatHelm.cs:132 | _fuelTimer = timer.Every(Mathf.Clamp(_config.FuelBalanceSeconds, 1f, 15f), BalanceAllActiveBoats); |
| note | repeating timer | plugins/MixBoatHelm.cs:133 | _refreshTimer = timer.Every(1.25f, RefreshOpenPanels); |
| note | repeating timer | plugins/MixBounty.cs:251 | timer.Every(300f, ExpireSweep); |
| note | uses the server manager | plugins/MixBusStops.cs:292 | if (_job != null) ServerMgr.Instance.StopCoroutine(_job); |
| note | uses the server manager | plugins/MixBusStops.cs:293 | if (_boot != null) ServerMgr.Instance.StopCoroutine(_boot); |
| note | uses the server manager | plugins/MixBusStops.cs:294 | if (_artJob != null) ServerMgr.Instance.StopCoroutine(_artJob); |
| note | uses the server manager | plugins/MixBusStops.cs:316 | if (_boot != null) ServerMgr.Instance.StopCoroutine(_boot); |
| note | uses the server manager | plugins/MixBusStops.cs:317 | _boot = ServerMgr.Instance.StartCoroutine(Boot(force)); |
| note | uses the server manager | plugins/MixBusStops.cs:689 | if (_job != null) ServerMgr.Instance.StopCoroutine(_job); |
| note | uses the server manager | plugins/MixBusStops.cs:690 | _job = ServerMgr.Instance.StartCoroutine(Work()); |
| note | uses the server manager | plugins/MixBusStops.cs:2059 | _artJob = ServerMgr.Instance.StartCoroutine(StoreArt(files, root)); |
| note | repeating timer | plugins/MixBusStops.cs:1239 | if (_ticker == null || _ticker.Destroyed) _ticker = timer.Every(1f, Tick); |
| note | repeating timer | plugins/MixCarbonLeakGuard.cs:69 | _sweepTimer = timer.Every(_config.IntervalSeconds, RunSweeps); |
| note | Harmony patch | plugins/MixCompanionFix.cs:63 | [HarmonyPatch(typeof(Util), nameof(Util.SendDeathNotification))] |
| note | Harmony patch | plugins/MixCompanionFix.cs:71 | [HarmonyPatch(typeof(Util), nameof(Util.SendSignedInNotification))] |
| note | runs console commands or stops the server | plugins/MixCore.cs:1402 | ConsoleSystem.Run(ConsoleSystem.Option.Server.Quiet(), $"ownerid {userId} \"{name}\" \"Owner\""); |
| note | repeating timer | plugins/MixCore.cs:812 | timer.Every(60f, AccruePlaytimePoints); |
| note | repeating timer | plugins/MixCore.cs:3253 | _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:104 | _watch = timer.Every(1f, WatchPads); |
| note | repeating timer | plugins/MixGovern.cs:678 | timer.Every(60f, OnScheduleTick); |
| note | repeating timer | plugins/MixGovern.cs:679 | timer.Every(120f, PurgeExpiredModeration); |
| note | repeating timer | plugins/MixGovern.cs:1128 | _godTimer = timer.Every(1f, TopUpGods); |
| note | repeating timer | plugins/MixHeadlamp.cs:170 | timer.Every(_config.RefreshIntervalSeconds, RefreshHeadlamps); |
| note | repeating timer | plugins/MixHorde.cs:87 | _tick = timer.Every(15f, Tick); |
| note | uses the server manager | 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 | uses the server manager | plugins/MixImages.cs:83 | if (routine != null && ServerMgr.Instance != null) ServerMgr.Instance.StopCoroutine(routine); |
| note | uses the server manager | plugins/MixImages.cs:263 | _downloads[slot] = ServerMgr.Instance.StartCoroutine(DownloadAndStore(url, key, skinId, slot)); |
| note | runs console commands or stops the server | plugins/MixInstantBases.cs:1859 | timer.Once(0.5f, () => ConsoleSystem.Run(ConsoleSystem.Option.Server.Quiet(), $"o.reload {Name}")); |
| note | repeating timer | plugins/MixInstantBases.cs:444 | 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:221 | _refillTimer = timer.Every(secs, RefillAllBound); |
| note | repeating timer | plugins/MixRaidBases.cs:755 | _watchTimer = timer.Every(30f, WatchEvents); |
| note | repeating timer | plugins/MixSettlers.cs:140 | timer.Repeat(0.25f, queue.Count, () => RespawnNext(queue)); |
| note | repeating timer | plugins/MixSettlers.cs:142 | timer.Every(GrowSeconds, Grow); |
| note | repeating timer | plugins/MixShowcase.cs:154 | _refillTimer = timer.Every(secs, RestockAll); |
| note | repeating timer | plugins/MixSignboard.cs:612 | _restoreTimer = timer.Every(RestoreStepSeconds, RestoreStep); |
| note | repeating timer | plugins/MixSignboard.cs:723 | _timers[id] = timer.Every(Mathf.Max(MinIntervalSeconds, interval), () => |
| note | repeating timer | plugins/MixSignboard.cs:873 | _warmTimer ??= timer.Every(WarmStepSeconds, WarmStep); |
| note | runs console commands or stops the server | plugins/MixSiloRaid.cs:265 | try { ConsoleSystem.Run(ConsoleSystem.Option.Server, "mixsilo.paste", _config.DefaultTemplate); } |
| note | runs console commands or stops the server | plugins/MixSiloRaid.cs:669 | try { ConsoleSystem.Run(ConsoleSystem.Option.Server, "server.save"); } catch { /* ok */ } |
| note | runs console commands or stops the server | plugins/MixSiloRaid.cs:1703 | try { ConsoleSystem.Run(ConsoleSystem.Option.Server, "server.save"); } catch { /* ok */ } |
| note | repeating timer | plugins/MixSkillTree.cs:111 | _timer = timer.Every(2f, Flush); |
| note | repeating timer | plugins/MixSkillTree.cs:112 | _saver = timer.Every(60f, SaveIfChanged); |
| note | repeating timer | plugins/MixSkinsLight.cs:2008 | timer.Repeat(0.05f, list.Count, () => |
| note | repeating timer | plugins/MixSprint.cs:234 | timer.Every(TickSeconds, TickAllPlayers); |
| note | repeating timer | plugins/MixSprint.cs:235 | 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:490 | [HarmonyPatch(typeof(Recycler), nameof(Recycler.GetRecyclerStats))] |
| note | Harmony patch | plugins/MixWorldTune.cs:551 | [HarmonyPatch(typeof(ItemCrafter), nameof(ItemCrafter.GetScaledDuration))] |
| note | repeating timer | plugins/OSAutoTurrets.cs:411 | timer.Every(30f, FlushData); |
| note | repeating timer | plugins/RescueSurface.cs:63 | _sweepTimer = timer.Every(600f, SweepStaleEntries); |
| note | repeating timer | plugins/Salvo.cs:890 | timer.Every(30f, FlushData); |
| note | Harmony patch | plugins/Stockyard.cs:1403 | [HarmonyPatch(typeof(LivestockVendor), nameof(LivestockVendor.PickItems))] |
| note | Harmony patch | plugins/Stockyard.cs:1428 | [HarmonyPatch(typeof(LivestockVendor), nameof(LivestockVendor.Server_SelectAnimal))] |
| note | Harmony patch | plugins/Stockyard.cs:1465 | [HarmonyPatch(typeof(LivestockVendor), nameof(LivestockVendor.Server_SelectWool))] |
| note | Harmony patch | plugins/Stockyard.cs:1486 | [HarmonyPatch(typeof(LivestockVendor), nameof(LivestockVendor.Server_AcceptOffer))] |
| note | Harmony patch | plugins/Stockyard.cs:1511 | [HarmonyPatch(typeof(LivestockVendor), nameof(LivestockVendor.ProcessAnimalTransaction))] |
Files and server config 20
| Level | What | Where | Line |
|---|---|---|---|
| note | file system write or delete | plugins/MixApartmentHome.cs:2057 | Directory.CreateDirectory(dir); |
| note | file system write or delete | plugins/MixApartmentHome.cs:2075 | File.WriteAllText(path, JsonConvert.SerializeObject(payload, Formatting.Indented)); |
| note | file system write or delete | plugins/MixApartmentHome.cs:3248 | Directory.CreateDirectory(dir); |
| note | file system write or delete | plugins/MixApartmentHome.cs:3250 | File.WriteAllText(path, JsonConvert.SerializeObject(bp, Formatting.Indented)); |
| note | file system write or delete | plugins/MixApartmentHome.cs:3265 | Directory.CreateDirectory(dir); |
| note | file system write or delete | plugins/MixCommerce.cs:1634 | Directory.CreateDirectory(dir); |
| note | file system write or delete | plugins/MixCommerce.cs:1636 | File.Copy(live, dest, true); |
| note | file system write or delete | plugins/MixCore.cs:769 | Directory.CreateDirectory(dir); |
| note | file system write or delete | plugins/MixCore.cs:771 | File.Copy(live, dest, true); |
| note | file system write or delete | plugins/MixGovern.cs:1781 | Directory.CreateDirectory(dir); |
| note | file system write or delete | plugins/MixGovern.cs:1783 | File.Copy(live, dest, true); |
| note | file system write or delete | plugins/MixInstantBases.cs:1869 | Directory.CreateDirectory(dir); |
| note | file system write or delete | plugins/MixInstantBases.cs:1871 | 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:1355 | try { Directory.CreateDirectory(root); } catch (Exception) { } |
| note | file system write or delete | plugins/MixSiloRaid.cs:259 | Directory.CreateDirectory(_templatesDir); |
| note | file system write or delete | plugins/MixSiloRaid.cs:926 | File.WriteAllText(path, JsonConvert.SerializeObject(tpl, Formatting.Indented)); |
| note | file system write or delete | plugins/MixSiloRaid.cs:1683 | File.WriteAllText(snapPath, JsonConvert.SerializeObject(tpl, Formatting.Indented)); |
| note | file system write or delete | plugins/MixSiloRaid.cs:1692 | File.WriteAllText(path, JsonConvert.SerializeObject(tpl, Formatting.Indented)); |
| note | file system write or delete | plugins/MixTrophies.cs:362 | File.Move(path, aside); |
Processes and native code 1
| Level | What | Where | Line |
|---|---|---|---|
| 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
| Version | Kind | Size | Findings | Status | Uploaded |
|---|---|---|---|---|---|
| 0.9.59 current | upload | 47.9 MB | 478 | checked | 2026-10-02 (6 days ago) |
| 0.9.56 | upload | 33.2 MB | 462 | checked | 2026-09-28 (10 days ago) |
| 0.9.54.1 | upload | 29.2 MB | 453 | checked | 2026-09-26 (12 days ago) |
| 0.9.54 | upload | 29.2 MB | 453 | checked | 2026-09-25 (13 days ago) |
| 0.9.53.3 | upload | 6.0 MB | 148 | checked | 2026-09-25 (13 days ago) |
| 0.9.53.2 | upload | 6.0 MB | 147 | checked | 2026-09-25 (13 days ago) |
| 0.9.53 | upload | 6.0 MB | 146 | checked | 2026-09-24 (14 days ago) |
| 0.9.50 | upload | 6.0 MB | 144 | checked | 2026-09-23 (15 days ago) |
| 0.9.50 | upload | 6.0 MB | 143 | checked | 2026-09-23 (15 days ago) |
