SmartRecon is a unified Rust administration and investigation suite combining high-performance radar, secure vanish, player and entity inspection, forensic tools, and vanish-only map teleportation. It runs as one self-contained plugin on Oxide or Carbon.
Version: 2.7.4
License: SmartRecon Source-Available License 1.0 — unmodified server use is permitted; modification and redistribution require written permission.
- Tracks active players, humanoid NPCs, animals, sleeping players, world containers, dropped items, bodies/backpacks, airdrops, deployables, resources, hidden or exposed stashes, and tool cupboards.
- Automatically displays Patrol Helicopter, Bradley APC, CH47, and Cargo Ship map-wide whenever radar is active, with distance and live health where available.
- Provides a compact, low-profile two-page investigation panel with live independent layer toggles, matching Rust's Quick Craft box width beneath it by default.
- Uses shared spatial indexes instead of scanning every tracked entity for every administrator.
- Runs all radar sessions through one staggered scheduler with configurable workload limits.
- Shows player names, health, distance, team color, voice activity, authorization level, and player state.
- Optionally shows held weapons and attachments, body/container item previews, TC authorization count, sleeping-bag count, upkeep remaining, and player-to-TC links.
- Supports fixed-length vision arrows without infinite physics raycasts.
- Uses entity-parented drawings for connected players so labels follow moving targets.
- Supports player-name, team, authorization, and safe-zone filters.
- Remembers each administrator's preferred mode and settings.
- Supports temporary radar sessions that automatically expire.
- Provides true built-in network invisibility, noclip, metabolism protection, anti-hack bypass, damage protection, silent effects, and optional investigative interaction.
- Automatically starts radar with vision arrows when an administrator vanishes and stops radar when they reappear.
- Automatically starts radar with vision arrows during native Rust spectating and follows the watched player.
- Makes the investigation panel directly clickable during native spectating without requiring the inventory cursor.
- Keeps the investigation panel sharp above Rust's inventory blur for easy reading and clicking.
- Lets each administrator position the panel with a compact arrow controller using selectable 1%, 5%, or 10% movement steps, then save or cancel the preview.
- Teleports permitted vanished administrators to right-click map markers, then automatically removes the temporary marker.
- Lets permitted vanished administrators inspect ownership and authorization privately by striking entities with a hammer, without damaging, repairing, or upgrading them.
- Presents substantial TC, turret, and directly struck code-lock authorization in a centered, closable report with current Rust-team grouping, investigative clues, and automatic pagination; short ownership results remain in private chat.
- Hides vanished players and server owners from unauthorized radar users by default.
- Does not modify player authorization flags.
- Includes bounded one-shot searches for Steam ID associations, twig/unprivileged building blocks, and nearby dropped loot.
- Opens inspected player and container inventories read-only by default, with a separate explicit permission for trusted staff who may move items.
- Provides an opt-in restricted-staff permission that blocks configured kit/shop and item-spawn commands, world item drops, and transfers into externally opened inventories.
SmartRecon is not simply another ESP overlay. It is a coordinated administrative workflow built for the way Rust staff actually investigate reports: become invisible, enable radar and vision arrows, move quickly to the relevant location, observe without revealing the investigation, inspect ownership and authorization, and then leave vanish cleanly. One plugin owns that lifecycle instead of several unrelated plugins competing over commands, networking state, UI, and staff preferences.
Performance is designed into the architecture rather than added as an afterthought. Active sessions share spatial indexes and one staggered scheduler; static layers respect a minimum refresh interval; drawings have per-cycle budgets and result limits; expensive protection hooks exist only while somebody is vanished; voice hooks exist only while requested; and forensic scans are bounded, cooled down, and time-sliced. Hammer reports and team relationships are resolved only after a deliberate strike—never through continuous building or player scans.
The investigative tools provide context rather than raw clutter. Viewing-direction arrows help reveal what a suspected player is tracking. Filters isolate names, teams, staff levels, safe zones, sleepers, NPCs, loot, stashes, and cupboards. The hammer workflow keeps short ownership results private in chat while substantial TC, turret, and code-lock authorization opens a readable modal grouped by current Rust team, with leaders, owners, outsiders, and unusual shared access highlighted as clues rather than automatic accusations.
SmartRecon also removes friction from routine administration. Vanish can automatically start the saved radar profile with vision arrows; native spectating can run the full radar and clickable panel; each administrator can position the compact panel independently; vanished map markers provide immediate teleportation and clean themselves up; reload-key interaction and inventory inspection reduce command typing; and state restoration handles disconnects or plugin reloads safely.
Access remains granular. Radar categories, arrows, voice, sleepers, extended range, owner visibility, vanished-player visibility, forensics, UI access, hammer inspection, inventory access, lock bypass, damage, map teleportation, and permanent vanish are independently permission-controlled. Privacy-sensitive permissions use stricter administrator-bypass rules, while ordinary players receive no automatic access.
The result is a self-contained reconnaissance suite for Oxide or Carbon that combines radar, secure vanish, spectating support, rapid movement, entity inspection, authorization analysis, forensic searches, privacy protections, personal UI preferences, and optional auditing without requiring a stack of overlapping administration plugins.
- A current Rust dedicated server.
- Oxide/uMod or Carbon.
- No separate radar or Vanish plugin is required.
- Download
SmartRecon.cs. - Place it in your plugin directory:
- Oxide:
oxide/plugins/ - Carbon:
carbon/plugins/
- Oxide:
- Wait for the framework to compile and load the plugin.
- Review the generated configuration file before granting access to non-administrators.
Remove or unload other plugins that register /radar, /vanish, or /inv before testing SmartRecon. Two plugins should not control the same player's limited-networking vanish state at the same time.
Rust moderators and owners bypass normal SmartRecon permissions by default through Rust moderators and owners bypass SmartRecon permissions: true. Regular players never receive this bypass. Set the option to false if every staff member should require individually assigned permissions.
/vanish
/vanish status
/radar
/radar all
/radar players 250 1
/radar status
/radar for 60
/radar ui
/radar ui move
/radar ui reset
/radar help
The default radar aliases are /radar, /recon, and /smartrecon. The default vanish aliases are /vanish and /v; inventory inspection uses /inv and /invspy. Aliases can be changed in the configuration.
See COMMANDS.md for the complete command and action reference, including accepted aliases and the internal UI endpoints.
With the default configuration:
- An authorized administrator runs
/vanish. - SmartRecon makes the administrator invisible, enables noclip and protections, and starts the administrator's saved radar profile.
- Player vision arrows are forced on for that temporary radar session without changing the saved arrows preference.
- A compact panel exposes a Core page for player-investigation controls and a World page for Containers, Drops, Bodies, Airdrops, Deployables, Resources, Stashes, and TCs. Patrol Helicopter, Bradley APC, CH47, and Cargo Ship are shown automatically whenever radar is active, at any map distance, without requiring another button. Open the normal inventory screen to obtain a cursor while vanished; SmartRecon renders above the inventory blur so the controls remain sharp. During native spectating, SmartRecon supplies the cursor automatically. Use
/radar ui moveto open the positioning controller, preview movement in 1%, 5%, or 10% steps, and then Save or Cancel. - With
smartrecon.vanish.teleport, placing a map marker instantly teleports the vanished administrator to that location and removes the temporary marker. - With
smartrecon.inspect, striking an entity with a hammer privately displays its owner and type-specific authorization details without affecting the entity. - The administrator investigates using radar filters and, when permitted, inventory or reload-key interaction.
- Running
/vanishagain makes the administrator visible, stops radar, and removes the panel automatically.
Vanish and radar can still be controlled independently when needed. Automatic linking, the fallback radar mode, and forced vision arrows are configurable.
| Command | What it does | Permission |
|---|---|---|
/vanish |
Toggles the caller's built-in SmartRecon vanish state. | smartrecon.vanish |
/vanish on |
Enters vanish and starts the configured investigative radar profile. | smartrecon.vanish plus applicable radar permissions |
/vanish off |
Reappears and stops radar. Users with permanent vanish cannot turn it off. | smartrecon.vanish |
/vanish status |
Reports vanish, radar, and vision-arrow state. | smartrecon.vanish |
/vanish help |
Displays the built-in vanish command summary. | smartrecon.vanish |
/inv <name|SteamID> |
Opens an active or sleeping player's main, wear, and belt inventory for inspection. With no argument, it checks the nearby player being looked at. Inspection is read-only unless the caller also has smartrecon.vanish.inventory.modify. |
smartrecon.vanish.inventory |
true and 1 are accepted in place of on; false and 0 are accepted in place of off. Vanishing and reappearing play a private feedback sound for the administrator by default. The sound paths and optional nearby-player audibility are configurable.
| Mode | Displays |
|---|---|
players |
Active players and, when enabled, sleeping players |
stashes |
Stashes, their distance, and hidden/exposed state |
tcs |
Tool cupboards and their distance |
all |
Players, stashes, and tool cupboards |
custom |
Any independent combination selected through /radar layer or the investigation panel |
The default panel is a low, wide five-column layout aligned directly beneath Rust's Quick Craft description box. It uses the same footprint on both pages, so switching pages does not cover additional inventory space. Each administrator may move and save the panel independently without changing the server-wide default.
An enabled button uses the accent color and a filled dot; a disabled button uses the darker color and a hollow dot. Clicking × closes only the panel—the radar session continues until it is stopped. Core Page and World Page only change which controls are visible and do not change any radar setting.
The Core page contains the controls used most often while following a player:
| Button | What it does | Useful combinations |
|---|---|---|
| Players | Shows active players with name, health, distance, team marker, Rust authorization level, and states such as wounded, mounted, flying, spectating, or vanished when permitted. | The base layer for Arrows, Sleepers, Voice, Details, and TC Links. |
| NPCs | Shows supported humanoid NPCs, animals, sharks, horses, wildlife hazards, and travelling vendors. | Use by itself when checking AI population or with Players to distinguish AI from real players in an area. |
| Sleepers | Adds sleeping players to the Players result set. | Requires Players to be active; useful when checking who is sleeping inside a base. |
| Arrows | Draws a fixed-length arrow showing the direction each displayed player is looking. | Combine with Players when observing aim tracking or awareness. Vanish and native spectating can force this on temporarily without changing the saved preference. |
| Voice | Marks displayed players who spoke recently. | Combine with Players when investigating nearby coordination or identifying who is speaking. |
| Details | Adds held-item and attachment information to Players; bounded item previews to enabled Containers, Bodies, and Backpacks; and authorization count, sleeping-bag count, and upkeep remaining to enabled TCs. | Details is a modifier, not a target layer: turn on the relevant Players, Containers, Bodies, or TCs button too. |
| TC Links | Draws an arrow from each displayed player to the nearest TC they are authorized on within 150 metres. | Requires Players, but does not require the TCs display button. It is useful for linking nearby players to a base without filling the screen with every TC label. |
| TCs | Shows nearby Tool Cupboards and distance. | Add Details for authorization/bag/upkeep information; add Players and TC Links to visualize player-to-base relationships. |
| Stashes | Shows nearby small stashes and whether each is hidden or exposed. | Useful alone for a clean stash search or alongside Players when watching someone move buried loot. |
| World Page | Opens the second page of layer controls. | Navigation only; it does not disable Core-page settings. |
During native Rust spectating, the Players layer and vision arrows remain available around the watched player, and SmartRecon supplies the cursor needed to operate the panel. The Exit Spectator Mode control uses a confirmation step before respawning the administrator.
The World page provides independent toggles for:
| Control | Displays |
|---|---|
| Containers | Ordinary world-loot containers |
| Drops | Individual items dropped into the world |
| Bodies | Named player corpses and backpacks |
| Airdrops | Supply-drop crates, separately from ordinary containers |
| Deployables | Player-owned bags, storage, ovens, turrets, traps, and similar entities |
| Resources | Ore nodes, loose collectibles and food, stumps, and diesel barrels; ordinary trees are excluded |
| Stashes | Hidden and exposed small stashes |
| TCs | Tool cupboards, with authorization, sleeping-bag, and upkeep details when Details is enabled |
Patrol Helicopter, Bradley APC, CH47, and Cargo Ship intentionally have no button, toggle, distance cap, or separate permission. They are always displayed whenever a permitted SmartRecon radar session is active. These event labels are drawn before ordinary bounded layers so a crowded area cannot consume the drawing budget and hide a major event.
- Watch a suspected cheater: enable Players, Arrows, and Details. Arrows reveal where the player is looking, while Details shows the weapon and visible attachments they are holding.
- Understand who belongs to a base: enable Players, TCs, Details, and TC Links. Nearby TC labels show auth/bag/upkeep totals, while TC Links connect each displayed player to their nearest authorized cupboard.
- Check an apparently empty base: enable Players, Sleepers, TCs, and Details. This shows online occupants, sleeping occupants, cupboard information, and upkeep context together.
- Investigate loot left around a monument: enable Containers and Drops. Add Bodies and Details when you also need named corpses/backpacks and a short preview of their contents.
- Find gathering opportunities: enable Resources to show nodes, collectibles, food, stumps, and diesel barrels without cluttering the view with ordinary trees.
- Search for hidden loot: enable Stashes alone for the cleanest view, or combine Stashes with Players to observe who approaches or uncovers one.
- Monitor a major event: simply turn radar on. Patrol Helicopter, Bradley APC, CH47, and Cargo Ship appear map-wide automatically, even if every optional World-page layer is off.
SmartRecon 2.7.4 uses AdminRadar's high-contrast map palette:
| Information | Default color |
|---|---|
| Distance | Orange |
| Health | Red |
| Players and stashes | White |
| Loot, resources, and player corpses | Yellow |
| Backpacks | Silver |
| Patrol Helicopter, Bradley, CH47, Cargo Ship, airdrops, NPCs, and deployables | Magenta |
| Animals | Blue |
| Tool cupboards and player vision arrows | Black |
| Sleeping-player state | Cyan |
Every main category remains configurable. On upgrade, SmartRecon changes only values that still exactly match its former built-in defaults; colors deliberately customized by a server owner are preserved. Distance, health, animals, and backpacks now have separate configuration entries so they can be tuned without changing an entire category.
All radar commands require smartrecon.use. Commands that display or enable a particular type of information also require the corresponding feature permission shown below. With the default configuration, Rust moderators and owners bypass ordinary permissions; see Permissions for the privacy exceptions.
| Command | What it does | Additional permission |
|---|---|---|
/radar |
Toggles SmartRecon on or off using the user's saved mode and settings. | Permission for the saved mode |
/radar on |
Starts SmartRecon using the user's saved mode and settings. | Permission for the saved mode |
/radar off |
Stops the user's active radar session. | None |
/radar status |
Reports whether radar is active and displays its mode, distance, refresh rate, toggles, filters, and remaining temporary duration. | None |
/radar help |
Displays the built-in command summary. | None |
/radar ui |
Shows or hides the investigation panel. Use the normal inventory cursor outside spectating; SmartRecon makes the panel directly clickable during native spectating. | smartrecon.ui |
/radar ui move |
Opens a temporary centered positioning controller with directional arrows, selectable 1%, 5%, and 10% steps, live preview, Reset, Cancel, and Save. | smartrecon.ui |
/radar ui reset |
Removes the caller's personal panel position and restores the anchors configured by the server owner. | smartrecon.ui |
/radar reset |
Restores the user's saved preferences to configured defaults. If the default mode is not permitted, the first permitted mode is selected instead. | At least one mode permission |
/radar <players|stashes|tcs|all|custom> [distance] [rate] |
Selects a mode, optionally changes distance and refresh rate, and starts radar immediately. custom uses the caller's independently selected layers. |
Permission for every enabled feature in the selected mode |
/radar mode <players|stashes|tcs|all|custom> |
Changes the saved mode and the active session's mode, if running. It does not start radar by itself. | Permission for every enabled feature in the selected mode |
/radar distance <meters> |
Changes the saved search radius and the active session's radius, subject to the permitted maximum. | smartrecon.extendedrange only when exceeding the standard maximum |
/radar rate <seconds> |
Changes the saved refresh interval and the active session's interval, within configured limits. Static radar updates still respect the configured static minimum. | None |
/radar for <seconds> |
Starts radar if necessary and sets it to stop automatically after the specified duration. | Permission for the saved mode |
/radar arrows [on|off] |
Toggles fixed-length viewing-direction arrows for player targets. Omitting the value toggles the current setting. | smartrecon.arrows |
/radar voice [on|off] |
Toggles indicators for players who spoke recently. Omitting the value toggles the current setting. | smartrecon.voice |
/radar sleepers [on|off] |
Toggles sleeping-player targets in player radar. Omitting the value toggles the current setting. | smartrecon.sleepers |
/radar vanished [on|off] |
Toggles targets that SmartRecon identifies as vanished. Vanished targets remain hidden unless this is enabled and the viewer is permitted to see them. | smartrecon.seevanished |
/radar layer <players|npcs|loot|drops|bodies|airdrops|deployables|resources|stashes|tcs> [on|off] |
Independently toggles a radar category and switches the saved profile to custom. loot means world containers; bodies include corpses and backpacks. Omitting the value toggles the category. |
Matching category permission |
/radar extended [on|off] |
Toggles held-item/attachment details, body/container item previews, and compact TC authorization, bag, and upkeep details. | smartrecon.extended (plus smartrecon.tcinfo for TC details) |
/radar tclinks [on|off] |
Draws an arrow from each displayed player to the nearest TC that player is authorized on within 150 metres. | smartrecon.tcinfo |
/radar filter name <text|off> |
Shows only players whose display name contains the supplied text; off clears the name filter. Multiple-word text is supported. |
None |
/radar filter team <all|mine|others|solo> |
Shows all players, the viewer's teammates, non-teammates, or players with no team. | None |
/radar filter auth <all|players|staff|moderators|owners> |
Filters targets by Rust authorization level: regular players, all staff, moderators, or owners. | None |
/radar filter safezone <all|inside|outside> |
Shows all players or only targets inside or outside safe zones. | None |
/radar findid <SteamID> |
Draws up to 250 owned, TC-authorized, bag-deployed, or code-lock-authorized entity matches for 30 seconds. The scan yields between bounded batches. | smartrecon.forensics |
/radar buildings [twig|unprivileged] |
Draws up to 250 matching building blocks for 30 seconds using a time-sliced scan. Omitting the filter defaults to twig. |
smartrecon.forensics |
/radar drops [distance] |
Performs a one-shot 30-second drawing of indexed nearby loot. | smartrecon.forensics |
The players, stashes, and tcs modes require smartrecon.players, smartrecon.stashes, and smartrecon.cupboards, respectively. The all mode requires all three permissions. Accepted mode synonyms include player, stash, tc, cupboard, and their plural forms.
For toggle commands, true, 1, and toggle are accepted in addition to on; false and 0 are accepted in addition to off.
Filter aliases are also accepted: team for mine; other for others; noteam for solo; player for players; admins for staff; moderator or mods for moderators; owner for owners; and in or out for the corresponding safe-zone filters.
All numeric input is validated. Negative, zero, NaN, infinite, out-of-range, or otherwise invalid values are rejected without replacing a working radar session.
Radar feature permissions do not grant radar command access on their own; a user must also have smartrecon.use. Vanish permissions are separate and do not require smartrecon.use, although automatic investigative radar can start only when the user has the required radar permissions.
| Permission | What it grants |
|---|---|
smartrecon.use |
Access to /radar, /recon, and /smartrecon. It does not grant access to any target category by itself. |
smartrecon.players |
Permission to select player radar and include players in all mode. |
smartrecon.stashes |
Permission to select stash radar and include hidden or exposed stashes in all mode. |
smartrecon.cupboards |
Permission to select tool-cupboard radar and include cupboards in all mode. The command name for this mode is tcs. |
smartrecon.npcs |
Permission to enable the independent NPC layer, including humanoid NPCs and supported animals such as bears, wolves, boars, stags, chickens, sharks, horses, wildlife hazards, and vendors. |
smartrecon.loot |
Permission to enable the bounded world-container radar layer. |
smartrecon.drops |
Permission to show individual dropped items. |
smartrecon.bodies |
Permission to show named player corpses and backpacks. With Details enabled, up to the configured number of contained item names are shown. |
smartrecon.airdrops |
Permission to show supply-drop crates independently from ordinary containers. |
smartrecon.deployables |
Permission to show player-owned beds/bags, storage, ovens, turrets, traps, and similar high-value deployables. |
smartrecon.resources |
Permission to show ore nodes, loose collectibles/food, stumps, and diesel-barrel resource spawns without including ordinary trees. |
smartrecon.arrows |
Permission to enable fixed-length viewing-direction arrows on player targets. |
smartrecon.voice |
Permission to enable recent voice-activity indicators on player targets. |
smartrecon.sleepers |
Permission to include sleeping players in player or all radar. |
smartrecon.extendedrange |
Permission to select distances above the configured standard maximum, up to the configured extended maximum. It does not grant a radar mode. |
smartrecon.extended |
Permission to display held-item and attachment details in player labels and bounded item previews for bodies/containers. |
smartrecon.tcinfo |
Permission to display compact TC authorization/bag/upkeep details and player-to-authorized-TC links. |
smartrecon.ui |
Permission to display, operate, reposition, and reset the onscreen investigation panel. |
smartrecon.forensics |
Permission to run the bounded findid, buildings, and drops one-shot searches. |
smartrecon.inspect |
While vanished, converts hammer strikes into private entity-inspection reports. Short ownership results use private chat; substantial TC, turret, and directly struck code-lock authorization opens a centered popup with team grouping and pagination. Sleeping bags and beds include placer and assignment details. The entity is not damaged, repaired, or upgraded. |
smartrecon.seevanished |
Permission to enable and display vanished-player targets. This is a privacy-sensitive permission with stricter administrator-bypass rules. |
smartrecon.seeowners |
Permission for a moderator to display owner-level targets when owner hiding is enabled. This is a privacy-sensitive permission with stricter administrator-bypass rules. |
smartrecon.vanish |
Permission to use /vanish and become invisible. This does not grant radar or investigative interaction features by itself. |
smartrecon.vanish.permanent |
Forces a permitted user to remain vanished and restores vanish on connection. Administrator bypass does not activate this lockout-sensitive permission; it must actually be assigned to the user or one of their groups. |
smartrecon.vanish.unlock |
Allows a vanished investigator to bypass locks, toggle targeted doors, and mount targeted vehicles using reload-key interaction. |
smartrecon.vanish.damage |
Allows a vanished investigator to deal damage when outgoing vanished damage is otherwise blocked. |
smartrecon.vanish.inventory |
Allows /inv, /invspy, and reload-key inspection of player or storage-container inventories. These sessions are read-only by default. |
smartrecon.vanish.inventory.modify |
Explicitly allows the holder to move items during SmartRecon inventory inspections. This permission never comes from the administrator bypass. |
smartrecon.staff.restricted |
Activates the restricted-staff safeguards for the holder. By default this blocks kit/shop access, client item-give/spawn commands, world item drops, and item transfers while an external inventory is open. Blocked command lists are configurable. |
smartrecon.vanish.teleport |
Allows a vanished administrator to place a map marker and immediately teleport to it. Visible players are ignored, and the temporary teleport marker is removed by default. |
Example Oxide grants:
oxide.grant user 76561198000000000 smartrecon.use
oxide.grant user 76561198000000000 smartrecon.players
oxide.grant user 76561198000000000 smartrecon.stashes
oxide.grant user 76561198000000000 smartrecon.cupboards
oxide.grant user 76561198000000000 smartrecon.npcs
oxide.grant user 76561198000000000 smartrecon.loot
oxide.grant user 76561198000000000 smartrecon.drops
oxide.grant user 76561198000000000 smartrecon.bodies
oxide.grant user 76561198000000000 smartrecon.airdrops
oxide.grant user 76561198000000000 smartrecon.deployables
oxide.grant user 76561198000000000 smartrecon.resources
oxide.grant user 76561198000000000 smartrecon.arrows
oxide.grant user 76561198000000000 smartrecon.ui
oxide.grant user 76561198000000000 smartrecon.vanish
oxide.grant user 76561198000000000 smartrecon.vanish.inventory
oxide.grant user 76561198000000000 smartrecon.vanish.inventory.modify
oxide.grant user 76561198000000000 smartrecon.inspect
For a trial-staff group, assign smartrecon.staff.restricted and omit smartrecon.vanish.inventory.modify. Assign smartrecon.vanish.permanent as well when that group must remain invisible whenever connected.
For Carbon, use the equivalent Carbon permission commands or permission interface.
smartrecon.seevanished and smartrecon.seeowners are handled more strictly than ordinary feature permissions. With administrator permission bypass enabled:
- Owner-level administrators may use these privacy capabilities.
- Moderator-level administrators still require the explicit privacy permission.
- A vanished player is hidden unless the viewer both enables vanished targets and is permitted to see them.
- An owner is hidden from a moderator unless the moderator has
smartrecon.seeowners.
SmartRecon's vanish is self-contained. It uses Rust's limited-networking state, removes the administrator from ordinary network subscribers and server entity queries, tells AI memory to ignore the administrator, disables the collider, and keeps network groups updated while the administrator moves. It can enable noclip, pause metabolism, bypass anti-hack violations, block incoming and outgoing damage, and suppress entity signals and effects that could reveal the investigator.
While vanished, pressing the reload key while looking at a permitted target can inspect a player or container, toggle a door, or mount a vehicle. Inventory inspection and lock bypass are independently permission-controlled. With smartrecon.vanish.teleport, placing a map marker teleports the vanished administrator immediately; no reload-key modifier is required. Visible-player markers retain normal Rust behavior. Entering native Rust spectating cleanly leaves SmartRecon vanish so Rust's spectator networking can take control, then starts radar with vision arrows and centers all distance queries on the watched player. The panel owns a cursor while spectating, so every permitted layer—including Players, NPCs, Loot, Stashes, Tool Cupboards, and Vision/Arrows—can be changed immediately. Closing the panel releases the cursor; /radar ui reopens it. Marker teleporting remains explicitly disabled throughout spectating.
With smartrecon.inspect, a vanished administrator's hammer strike becomes a private, read-only entity inquiry. Tool cupboards show owner, full authorization and optional upkeep; turrets show owner and full authorization; bags and beds show who placed them and who they are assigned to; other deployables show their owner. Directly striking an attached code lock inspects its whitelist and guest authorization while striking the container or door body remains a short ownership inquiry. Actual lock codes and container contents are never shown. Visible hammer use remains normal.
When a TC, turret, or directly struck code lock meets the configured shared-authorization threshold, SmartRecon replaces the long chat report with a centered modal using the investigation panel's colors. The report groups entries by current Rust team, identifies leaders and owners, calls out multiple teams, outsiders, and players with no current team, and paginates unusually large lists. The popup owns a temporary cursor and closes through its × button; it is also removed automatically when the administrator leaves vanish, dies, disconnects, or the plugin unloads. Only one report can be open per administrator, and a new qualifying inspection replaces the previous report.
SAM sites intentionally remain ownership reports: they do not maintain a TC- or turret-style per-player authorization list. SmartRecon does not mislabel nearby building privilege as SAM-site authorization.
Example authorization data presented by the default tool-cupboard popup:
TOOL CUPBOARD
Owner: PlayerName (76561198000000000)
Authorized: 4
1. PlayerOne (76561198000000001)
2. PlayerTwo (76561198000000002)
3. PlayerThree (76561198000000003)
4. PlayerFour (76561198000000004)
Protected for: 3d 8h 24m
Successful marker teleports are written to SmartRecon's separate teleports audit log by default. Each entry records UTC time, administrator name and Steam ID, starting coordinates, and destination coordinates. This can be disabled in configuration without affecting teleport behavior.
Vanish state can persist across disconnects and plugin reloads. The smartrecon.vanish.permanent permission forces vanish to be restored and prevents manual reappearance. SmartRecon exposes Disappear, Reappear, IsInvisible, _Disappear, _Reappear, and _IsInvisible for vanish compatibility. Radar integrations can call IsRadarEnabled, EnableRadar, DisableRadar, and IsRadarLayerEnabled. Lifecycle hooks include OnSmartReconActivated, OnSmartReconDeactivated, OnSmartInvestigationStarted, and OnSmartInvestigationEnded, in addition to the familiar OnVanishDisappear and OnVanishReappear veto hooks.
SmartRecon is designed to avoid the most expensive behavior found in simple ESP implementations:
- Active players, humanoid NPCs, moving animals, sleepers, stashes, cupboards, and tracked loot are assigned to configurable map cells.
- A radar request searches only cells intersecting its radius.
- Moving-player and animal/NPC indexes are rebuilt once and shared by all radar users.
- Player indexing sleeps completely when nobody is using player radar.
- Stashes, cupboards, and loot are updated through entity spawn and kill hooks.
- Deployables and resources use the same event-driven indexing and bounded rebuild path rather than per-administrator global scans.
- Patrol Helicopter, Bradley APC, CH47, and Cargo Ship are tracked from spawn and kill hooks; map-wide event drawing iterates only this small tracked set.
- Moving-cell maintenance is restricted to dropped items, corpses/backpacks, and airdrops; stationary monument containers are never walked by the high-frequency movement updater.
- Containers, Drops, Bodies, and Airdrops share one nearby-candidate collection and sort per refresh instead of repeating the same spatial query for every enabled category.
- Viewer permissions and modifier availability are resolved once per refresh instead of repeatedly for every displayed entity.
- Static entities refresh less frequently than moving players by default.
- Results are sorted by squared distance, and only the nearest configured number are drawn.
- A per-session draw-command budget prevents a large result set from creating an unlimited burst.
- Session deadlines are staggered, and only a configured number of sessions can update per scheduler tick.
- Session processing rotates fairly between administrators when more sessions are due than the per-tick limit permits.
- Spatial queries automatically choose between nearby-cell lookup and occupied-cell traversal, avoiding large runs of empty dictionary lookups at extended ranges.
- The CUI panel is rebuilt only when its state changes; it does not refresh every scheduler cycle.
- Vanish metabolism protection is maintained at a bounded four updates per second instead of every physics frame.
- Forensic searches are permission-gated, limited to 250 drawings, protected by a cooldown, and yield every 200 inspected entities.
- Voice hooks are subscribed only while at least one active session requests voice indicators.
- Vanish damage, lock, anti-hack, collider, and marker hooks are subscribed only while someone is vanished and only when their feature is configured.
- Hammer inspection is event-driven and its hook is subscribed only while at least one administrator is vanished; there is no per-player polling or entity scan while idle.
- Team relationships and popup content are resolved only for authorization entries in the entity that was deliberately struck; no building-wide or global player scan is performed.
- Harmony patches perform small constant-time exits when nobody is vanished and suppress investigator signals or effects only when needed.
The defaults are deliberately conservative. Increasing range, result limits, or refresh frequency increases server and client workload.
SmartRecon creates a readable JSON configuration after its first load. A complete copy of the default configuration is available at config/SmartRecon.example.json.
Important defaults:
- Standard maximum distance:
250m - Extended maximum distance:
1000m - Player refresh rate:
1s - Static-entity minimum refresh:
2s - Vision arrows: disabled
- Vision arrows while vanish starts radar: forced on
- Radar during native Rust spectating: starts automatically with vision arrows forced on
- Spectate-started radar: stops automatically when native spectating ends
- Private vanish and reappear feedback sounds: enabled
- Vanish-only map-marker teleport: enabled for users with
smartrecon.vanish.teleport - Vanish-only hammer inspection: enabled for users with
smartrecon.inspect - TC upkeep and code-lock authorization in hammer reports: enabled
- Centered shared-authorization popup and current Rust-team grouping: enabled
- Authorization popup threshold: 2 entries; page size: 16 report rows
- Hammer inspection audit logging: disabled
- Used teleport markers: removed automatically
- Successful marker teleports: written to a separate audit log
- Investigation panel: enabled and shown when radar starts
- Investigation panel layout: low, wide five-column grid with Core and World pages, aligned beneath the Quick Craft box while retaining SmartRecon's colors
- Patrol Helicopter, Bradley APC, CH47, and Cargo Ship: always visible map-wide while radar is active
- Map palette: AdminRadar-compatible high-contrast defaults, with custom existing colors preserved during migration
- Personal panel positioning controller: enabled and saved per administrator
- NPC, world-container, dropped-item, body, airdrop, deployable, resource, extended-info, and TC-link layers: disabled until requested
- Voice indicators: disabled
- Sleeping players: disabled
- Vanished players: hidden
- Owners hidden from moderators: enabled
- Rust administrator permission bypass: enabled
- Radar starts when entering vanish: enabled
- Radar stops when leaving vanish: enabled
- Vanish persistence: enabled
- Move persistently vanished administrators below terrain on disconnect: disabled
- Kill persistently vanished administrators on disconnect: disabled
- Restore the saved position on reconnect when below-terrain transport is enabled without death: enabled
- Noclip, metabolism protection, anti-hack bypass, and damage protection while vanished: enabled
The two disconnect safeguards are independent. Enabling both moves the vanished administrator below terrain before killing them, which causes the death at the protected below-terrain location. Enabling only transport keeps the hidden sleeper alive below terrain and restores the exact saved position when they reconnect. Enabling only death kills them at their current location.
Configuration values are normalized on load to prevent unsafe scheduler intervals, ranges, cell sizes, result limits, disconnect depths, and invalid or off-screen default UI anchors. Existing settings are preserved when new options are introduced: missing properties receive their defaults, arrays replace rather than append, and the normalized configuration is rewritten with one copy of each current property. Allow administrators to move and save their panel position controls the personal positioning controller; disabling it uses the configured anchors for everyone without deleting saved positions.
When preference persistence is enabled, SmartRecon stores each administrator's last mode, distance, rate, toggles, and filters in its framework data directory. Personal panel positions are stored independently only when administrators choose Save in the positioning controller; Cancel and unsaved previews do not write a position. /radar ui reset removes the caller's saved position. When vanish persistence is enabled, SmartRecon also stores which administrators should remain vanished across disconnects or reloads. If below-terrain disconnect transport is enabled without death, the administrator's exact return position is stored until the next successful reconnect. Active radar sessions and temporary expiry times are not restored independently; the investigative radar session is recreated when persisted vanish is restored.
SmartRecon is implemented as an Oxide-compatible RustPlugin and does not depend on Carbon-only APIs. Its self-contained Harmony patches use the patching support supplied by the server framework to isolate vanished-player sounds and effects. The same source is intended for Oxide and Carbon.
Version 2.7.4 was compile-checked and loaded on the current SCAVENGERSHAVEN.NET TEST SERVER. Its map-label defaults mirror AdminRadar's high-contrast palette while preserving custom server colors. Its vanish movement updater supports both known Rust UpdateGroups signatures, and its NPC tracking recognizes both older and newer Rust NPC base types without depending on the connected-player list.
See CHANGELOG.md.
See COMMANDS.md for every player-facing command, alias, action-driven feature, and internal CUI endpoint.
SmartRecon 2.5.1 and later is distributed under the proprietary SmartRecon Source-Available License 1.0. You may download and run an unmodified copy on Rust servers you own, operate, or administer, including monetized servers. Modification, derivative works, redistribution, mirroring, resale, sublicensing, and reuse in other projects require prior written permission from SeesAll.
This is source-available software, not open-source software. Earlier versions that were already released under the MIT License remain governed by the license distributed with those versions; the new license cannot revoke rights previously granted for those releases.