MixMods Creator Directory

← Random AI

Check report Random AI v1.13.0

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.

FileRandomAI.cs · 133 KB · 1 source file · 3234 lines
StatusChecked, 6 findings
Uploaded2026-09-25 (13 days ago)
Compile checkCompiles on Carbon · compiles without Carbon's compat shims

Compile check

Compiled on the live game box against Rust build 25670169 (game files dated 2026-10-02, Carbon files dated 2026-10-01), 2026-10-02 (6 days ago). "Without shims" means the plugin does not lean on Carbon's compatibility layer for APIs the game has removed, which is the version most likely to keep working after the next Rust update and to run on Oxide.

RandomAI.cs

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

HookLineDoes
OnEntityKill319string interpolation
OnEntityDeath340nothing heavy found
OnEntityTakeDamage411nothing heavy found

Walks every entity on the server: 1 place.

SHA-256 of this file

3778f6bcbb4cd0f0b2bec5627827be3d2f198c9b09736d4dfbe53654d92d1adf

Hooks it registers 6

InitOnEntityDeathOnEntityKillOnEntityTakeDamageOnServerSaveUnload

Findings 6

Files and server config 3

LevelWhatWhereLine
note file system write or delete RandomAI.cs:2037 Directory.CreateDirectory(dataDirectory);
note file system write or delete RandomAI.cs:2039 File.WriteAllText(Path.Combine(dataDirectory, TelemetrySummaryCsvFileName), summaryCsv.ToString(), utf8WithoutBom);
note file system write or delete RandomAI.cs:2040 File.WriteAllText(Path.Combine(dataDirectory, TelemetryMatrixCsvFileName), matrixCsv.ToString(), utf8WithoutBom);

Steam IDs and admin 1

LevelWhatWhereLine
note changes or checks admin status RandomAI.cs:2542 return player == null || player.IsAdmin || permission.UserHasPermission(player.UserIDString, AdminPermission);

Game control 2

LevelWhatWhereLine
note repeating timer RandomAI.cs:308 timer.Every(TelemetrySaveIntervalSeconds, () =>
note repeating timer RandomAI.cs:315 timer.Every(TelemetrySweepIntervalSeconds, FinalizeInactiveTelemetryEncounters);

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