Check report Help Center UI v1.5.2
What an automated read of this exact file found. It is a list of facts about the code, not a safety verdict. Read it, then read the config, then test on a throwaway server.
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.
HelpCenterUI.cs
- With Carbon's shims: 9 errors
- Without shims: 9 errors
HelpCenterUI.cs(972,43): error CS7036: There is no argument given that corresponds to the required parameter 'destination' of 'MemoryExtensions.ToLowerInvariant(ReadOnlySpan<char>, Span<char>)' HelpCenterUI.cs(982,43): error CS7036: There is no argument given that corresponds to the required parameter 'destination' of 'MemoryExtensions.ToLowerInvariant(ReadOnlySpan<char>, Span<char>)' HelpCenterUI.cs(983,39): error CS7036: There is no argument given that corresponds to the required parameter 'destination' of 'MemoryExtensions.ToLowerInvariant(ReadOnlySpan<char>, Span<char>)' HelpCenterUI.cs(1744,24): error CS0266: Cannot implicitly convert type 'Facepunch.StringView' to 'string'. An explicit conversion exists (are you missing a cast?) HelpCenterUI.cs(1756,24): error CS0266: Cannot implicitly convert type 'Facepunch.StringView' to 'string'. An explicit conversion exists (are you missing a cast?) HelpCenterUI.cs(2093,42): error CS7036: There is no argument given that corresponds to the required parameter 'destination' of 'MemoryExtensions.ToLowerInvariant(ReadOnlySpan<char>, Span<char>)' HelpCenterUI.cs(2094,46): error CS7036: There is no argument given that corresponds to the required parameter 'destination' of 'MemoryExtensions.ToLowerInvariant(ReadOnlySpan<char>, Span<char>)' HelpCenterUI.cs(2124,49): error CS7036: There is no argument given that corresponds to the required parameter 'destination' of 'MemoryExtensions.ToLowerInvariant(ReadOnlySpan<char>, Span<char>)' HelpCenterUI.cs(2126,46): error CS1503: Argument 2: cannot convert from 'int' to 'string'
No hot-path hooks registered.
SHA-256 of this file
476185f880e559769eff3564bcba94170207236836ee7590141f61bf3c07fcea
Hooks it registers 6
Findings 17
Network 1
| Level | What | Where | Line |
|---|---|---|---|
| note | URL in source | HelpCenterUI.cs:100 | public string BackgroundImageUrl = "https://pic.gamezoneone.de/api/media/4g7wkwbb.png"; |
Files and server config 1
| Level | What | Where | Line |
|---|---|---|---|
| note | touches server config or RCON | HelpCenterUI.cs:2294 | cmd.StartsWith("oxide.") || cmd.StartsWith("rcon.") || cmd.StartsWith("app.")) |
Steam IDs and admin 8
| Level | What | Where | Line |
|---|---|---|---|
| note | changes or checks admin status | HelpCenterUI.cs:933 | bool allowed = iPlayer.HasPermission(PermAdmin) || iPlayer.IsAdmin; |
| note | changes or checks admin status | HelpCenterUI.cs:936 | allowed = basePlayer.IsAdmin || permission.UserHasPermission(basePlayer.UserIDString, PermAdmin); |
| note | changes or checks admin status | HelpCenterUI.cs:1131 | if (player.IsAdmin) |
| note | changes or checks admin status | HelpCenterUI.cs:1534 | if (pageCfg.AdminOnly && !player.IsAdmin) |
| note | changes or checks admin status | HelpCenterUI.cs:1949 | if (pageCfg.AdminOnly && !player.IsAdmin) |
| note | changes or checks admin status | HelpCenterUI.cs:1992 | if (kv.Value != null && kv.Value.AdminOnly && !player.IsAdmin) |
| note | changes or checks admin status | HelpCenterUI.cs:2148 | if (pageCfg.AdminOnly && !player.IsAdmin) |
| note | changes or checks admin status | HelpCenterUI.cs:2496 | return player != null && (player.IsAdmin || permission.UserHasPermission(player.UserIDString, PermAdmin)); |
Config writes 7
| Level | What | Where | Line |
|---|---|---|---|
| note | writes the config file | HelpCenterUI.cs:609 | SaveConfig(); |
| note | writes the config file | HelpCenterUI.cs:842 | SaveConfig(); |
| note | writes the config file | HelpCenterUI.cs:1840 | SaveConfig(); |
| note | writes the config file | HelpCenterUI.cs:1892 | SaveConfig(); |
| note | writes the config file | HelpCenterUI.cs:1963 | SaveConfig(); |
| note | writes the config file | HelpCenterUI.cs:2015 | SaveConfig(); |
| note | writes the config file | HelpCenterUI.cs:2153 | SaveConfig(); |
"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.
