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.
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 | 459 | nothing heavy found |
OnEntitySpawned | 660 | nothing heavy found |
CanLootEntity | 1206 | nothing heavy found |
CanLootEntity | 1229 | nothing heavy found |
CanLootEntity | 1232 | 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 | 287 | 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 | 272 | 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 | 2343 | nothing heavy found |
OnEntitySpawned | 2430 | server entity scan |
CanBuild | 2468 | nothing heavy found |
OnPlayerAttack | 3489 | 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 | 196 | nothing heavy found |
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 |
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 | 3647 | nothing heavy found |
OnPlayerDeath | 3653 | nothing heavy found |
OnEntityDeath | 5302 | nothing heavy found |
OnEntityDeath | 5324 | nothing heavy found |
OnDispenserGather | 5341 | 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 | 327 | file write |
OnLootEntity | 342 | 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 | 212 | 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 | 793 | nothing heavy found |
OnPlayerInput | 840 | nothing heavy found |
OnEntityTakeDamage | 1530 | 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 | 163 | nothing heavy found |
OnItemRemovedFromContainer | 196 | 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 | 237 | nothing heavy found |
OnPlayerInput | 251 | 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 | 334 | 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 | 660 | nothing heavy found |
OnPlayerSleepEnded | 668 | 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
No hot-path hooks registered.
Walks every entity on the server: 1 place.
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 | 3229 | LINQ |
OnEntityDeath | 3247 | string interpolation |
OnEntityKill | 3537 | 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 | 338 | nothing heavy found |
OnEntityKill | 349 | 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 | 837 | 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 | 400 | nothing heavy found |
OnLootEntity | 411 | 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 | 278 | nothing heavy found |
CanBeTargeted | 300 | nothing heavy found |
OnEntityTakeDamage | 320 | nothing heavy found |
Walks every entity on the server: 1 place.
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 | 265 | nothing heavy found |
OnPlayerInput | 330 | 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 | 466 | nothing heavy found |
OnEntityTakeDamage | 476 | nothing heavy found |
OnEntityTakeDamage | 478 | nothing heavy found |
OnEntityDeath | 480 | nothing heavy found |
OnEntityDeath | 482 | nothing heavy found |
OnEntityDeath | 526 | nothing heavy found |
OnDispenserGather | 538 | 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 | 128 | nothing heavy found |
OnLootEntity | 134 | 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 | 190 | nothing heavy found |
OnLootEntity | 595 | nothing heavy found |
OnPlayerDeath | 932 | 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 | 501 | nothing heavy found |
OnDispenserGather | 557 | nothing heavy found |
OnDispenserBonus | 565 | nothing heavy found |
OnCollectiblePickup | 573 | nothing heavy found |
OnEntityKill | 600 | nothing heavy found |
OnEntityKill | 601 | 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 | 1487 | nothing heavy found |
CanMoveItem | 1506 | nothing heavy found |
CanBuild | 1923 | 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 | 128 | nothing heavy found |
OnEntityTakeDamage | 140 | 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 | 1178 | nothing heavy found |
OnPlayerAttack | 1308 | nothing heavy found |
OnEntityTakeDamage | 1372 | nothing heavy found |
OnActiveItemChanged | 1559 | 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 |
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 | 108 | nothing heavy found |
OnPlayerAttack | 126 | nothing heavy found |
SHA-256 of this file
8cbd203facef704fdbeffb274e0d8d69e5ca2041e80166805e96997664488431
Hooks it registers 77
Findings 453
Network 29
| 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: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
| 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: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
| 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: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
| Level | What | Where | Line |
|---|---|---|---|
| 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
| Level | What | Where | Line |
|---|---|---|---|
| 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
| 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) |
