Advanced Tiered Exoskeleton System for Rust
ScrapExo is a tiered exosuit system for Rust. Players activate a powered exoskeleton that replaces their standard armor and provides enhanced combat, mobility, survivability, and drone support. The suit is powered by a battery and fuel system. All features scale across 5 configurable tiers.
ScrapExo replaces or supersedes the following vanilla Rust mechanics:
ScrapExo functions as a full gameplay system layer rather than a standalone utility plugin, integrating combat, mobility, automation, and UI into a unified experience.
/exo1 (or /exo5 for full feature testing)/exodrone to manage drones (Tier 3+) and the Camera button to view a selected drone's camera/exorefill to refill battery and fuel instantly (if permitted)| Command | Permission Required | Description |
|---|---|---|
/exo | none | Displays list of available tier commands and utility commands |
/exo1 | scrapexo.tier1 | Activate or confirm Tier 1 exosuit |
/exo2 | scrapexo.tier2 | Activate or confirm Tier 2 exosuit |
/exo3 | scrapexo.tier3 | Activate or confirm Tier 3 exosuit |
/exo4 | scrapexo.tier4 | Activate or confirm Tier 4 exosuit |
/exo5 | scrapexo.tier5 | Activate or confirm Tier 5 exosuit |
/exoitem1 | scrapexo.item.tier1 | Give yourself a Tier 1 activation item (metal.shield with custom skin) |
/exoitem2 | scrapexo.item.tier2 | Give yourself a Tier 2 activation item |
/exoitem3 | scrapexo.item.tier3 | Give yourself a Tier 3 activation item |
/exoitem4 | scrapexo.item.tier4 | Give yourself a Tier 4 activation item |
/exoitem5 | scrapexo.item.tier5 | Give yourself a Tier 5 activation item |
/exorug | scrapexo.item.rug | Give yourself a Disco Rug activation item (Converts to Disco Floor on placement) |
/exorefill | scrapexo.refill | Instantly refill active exosuit battery and fuel to maximum |
/exodrone | none (suit required, Tier 3+) | Opens the drone management panel. Available only to players wearing a Tier 3 or higher exosuit. From here you can command drones individually (D1/D2/D3...) or as a group (ALL), choose a base or waypoint target, deploy selected drones, recall one drone, recall all to hover, open drone storage, view a selected drone camera, spawn drones, or despawn all active drones. Spawning consumes a drone item unless the player has scrapexo.bypass.drone. Waypoints appear on both the Enhanced HUD compass and inside the drone panel. Command lock: drone panel actions are blocked while the exosuit shutdown/deactivation sequence is active. |
/wpmark [name] | none (suit + HUD) | Mark your aim target as a named waypoint. Waypoint marking ignores transparent base-window style prefabs whose names contain window, embrasure, or shutter, allowing marks through those openings. Waypoints appear directly on the Enhanced HUD compass and update in real time as you move. Waypoints are saved permanently and persist across suit deactivations, disconnects, and server restarts. They are only removed by /wpdel or /wpclear. |
/wplist | none (suit + HUD) | List all saved waypoints |
/wpdel [name] | none (suit + HUD) | Delete a specific waypoint by name |
/wpclear | none (suit + HUD) | Delete all waypoints |
/moveradar | scrapexo.moveui | Open radar panel repositioning UI |
/moveconsole | scrapexo.moveui | Open console log panel repositioning UI |
/movebars | scrapexo.moveui | Open status bars repositioning UI |
| Command | Description |
|---|---|
exodrone.closeui | Close drone management UI |
exodrone.selectdrone [index] | Select a specific drone by index (0-based). Pass -1 to select ALL |
exodrone.send | Deploy selected drone(s) to the chosen base or waypoint. Drones actively charging on a pad cannot be redirected; drones in transit can be overridden |
exodrone.recall | Recall a specific drone to the operator. Requires a D# to be selected first |
exodrone.hover | Recall all drones back to orbit around the operator (clears any base/waypoint assignment) |
exodrone.inventory | Open drone cargo inventory for looting |
exodrone.camera | Connect to the currently selected D# drone camera. Selecting another D# and pressing Camera switches directly to that drone. Pressing Camera again on the same selected drone disconnects the current camera session |
exodrone.cameraexit | Disconnect from the active drone camera view using the custom camera Exit button |
exodrone.selectbase | Select/deselect a base location (args: x y z) |
exodrone.selectwaypoint [index] | Select/deselect a saved waypoint as a target. Clears base selection |
exodrone.despawn | Despawn all active drones |
exodrone.spawndrone | Spawn a drone directly from the drone management panel. Consumes a drone item unless the player has scrapexo.bypass.drone |
exo.altitudehold | Toggle exothrust altitude hold |
| Command | Permission | Description |
|---|---|---|
exo.debug [player] | server admin | Print exosuit debug state for self or named player |
scrapexo.refill | scrapexo.refill | Console refill command for players with refill permission |
| Permission | Effect |
|---|---|
scrapexo.tier1 | Allows use of /exo1 to activate Tier 1 |
scrapexo.tier2 | Allows use of /exo2 to activate Tier 2 |
scrapexo.tier3 | Allows use of /exo3 to activate Tier 3 |
scrapexo.tier4 | Allows use of /exo4 to activate Tier 4 |
scrapexo.tier5 | Allows use of /exo5 to activate Tier 5 |
scrapexo.item.tier1 | Allows /exoitem1 to receive the Tier 1 activation item |
scrapexo.item.tier2 | Allows /exoitem2 to receive the Tier 2 activation item |
scrapexo.item.tier3 | Allows /exoitem3 to receive the Tier 3 activation item |
scrapexo.item.tier4 | Allows /exoitem4 to receive the Tier 4 activation item |
scrapexo.item.tier5 | Allows /exoitem5 to receive the Tier 5 activation item |
scrapexo.item.rug | Allows /exorug to receive the Disco Rug activation item |
scrapexo.refill | Allows /exorefill instant refill |
scrapexo.bypass.cost | Skip scrap cost on suit activation |
scrapexo.bypass.cooldown | Skip activation cooldown |
scrapexo.bypass.battery | Unlimited battery — all battery-gated features available |
scrapexo.bypass.fuel | Unlimited exothrust fuel |
scrapexo.bypass.drone | Allows the Spawn button in the drone panel to work freely — no drone item required from inventory |
scrapexo.moveui | Allows UI repositioning commands |
| Action | Input | Condition |
|---|---|---|
| Toggle altitude hold | E | Exothrust must be active |
| Deploy forcefield | Left Click(Belt slot 2) | Last 30 seconds |
| Action | Input |
|---|---|
| Toggle exothrust on / off | Ctrl + Space |
| Flight direction | Mouse aim |
| Fly forward / backward | W / S |
| Strafe left / right | A / D |
| Ascend | Space |
| Descend | Ctrl |
| Boost speed | Shift (hold) |
| Action | Input |
|---|---|
| Swim up / down | Space / Ctrl |
| Boost swim speed | Shift (SPRINT) |
Activation is a two-step confirmation process or instant via activation item:
/exo# twice — the first press shows the resource cost, the second confirms and activates./exo# again for a 10-second shutdown sequence.The suit is made up of multiple layered wear items (NVG, diving tank, and other attire) all stacked into the clothing slots at once. Together they provide passive protection against damage and environmental hazards. The Armor Bar on your HUD represents the combined health of these layers — when it hits zero, the suit is destroyed. Your personal health is not affected as long as armor remains.
The suit gives you a speed boost that scales up per tier. The game's built-in anti-cheat is suppressed to allow this enhanced movement without triggering false kicks.
The suit monitors your health and automatically uses medical items from your inventory. This is most useful during the startup phase before the suit is fully powered on.
Tiers 2–5 F to enable night vision goggles when the suit activates. They are removed when the suit shuts down.
A custom fire longsword is placed in your belt. It shoots heat projectiles that deal fire damage and can damage structures. Each shot consumes fuel.
A forcefield item is placed in belt slot 2. When activated, it projects a visible protective sphere around you that absorbs incoming damage. The sphere flashes red whenever it takes a hit. Drains battery for the duration it's active. A small timer above the slot 2 forcefield item shows active time as FF, then cooldown time as CD.
The shoulder launcher is an optional experimental Tier 5 Exothrust flight weapon feature. It has functional targeting and firing logic and is designed primarily for first-person use.
SpawnShoulderLauncherPrefab.AimAssist.VehicleBossRange for lock range, so aircraft can be locked farther away than normal players, NPCs, or animals.| Property | Tier 1 | Tier 2 | Tier 3 | Tier 4 | Tier 5 |
|---|---|---|---|---|---|
| Armor Pool | 250 | 500 | 750 | 1000 | 1500 |
| Scrap Cost | 500 | 750 | 1200 | 2500 | 5000 |
| Speed Multiplier | 1.2x | 1.4x | 1.6x | 1.8x | 2.0x |
| Battery Capacity | 400 | 500 | 600 | 1200 | 1600 |
| Battery Drain/hr | 2000 | 3000 | 4000 | 5000 | 5500 |
| Fuel Capacity | 100 | 250 | 500 | 1000 | 1500 |
| Night Vision | No | Yes | Yes | Yes | Yes |
| Enhanced HUD | No | No | Yes | Yes | Yes |
| Drones | 0 | 0 | 1 | 2 | 3 |
| Forcefield Dur. | 10s | 15s | 20s | 30s | 45s |
| Forcefield CD | 1200s | 900s | 600s | 300s | 180s |
| Exothrust Force | 10 | 20 | 30 | 50 | 65 |
| Target Lock | No | No | No | No | Yes |
At any given time, each drone is in one of the following modes:
Opened with /exodrone. Requires Tier 3+ exosuit. The panel has two columns: your authorized bases on the left and your saved waypoints on the right. During suit shutdown/deactivation, drone commands are locked until shutdown completes.
A row of buttons appears at the top of the panel showing each active drone (D1, D2, D3...) plus an ALL button. Click a D# to target that specific drone for your next action. Click ALL to apply actions to every drone at once. Selecting a drone that is unavailable or destroyed shows a warning and keeps the current selection unchanged. Active drones tint their D# button by battery state: green at 70% or higher, yellow at 50% or higher, orange at 30% or higher, and red below 30%. A chat confirmation ([DRONE] Selected: D1) is sent each time you make a selection so you can verify what the system registered. Action buttons (Deploy, Recall, Recall All, Camera) have a short cooldown to prevent accidental double-firing from rapid clicks.
scrapexo.bypass.drone, a drone item is consumed from your inventory. With the bypass permission, drones are free to spawn. Shows a warning if no item is available or permission is missing. Alternatively, dropping a drone item from your inventory while the suit is active will also spawn it directly. If the chassis has a depleted battery, you must be standing within 3m of a powered charging station — the drone will spawn directly onto the pad and begin charging at the normal rate, activating automatically once full. Safety lock: spawn from panel and drop-to-activate are both blocked while suit shutdown/deactivation is active.scrapexo.bypass.drone have their drones simply deactivate on landing — no item is returned since none was spent.Waypoints saved with /wpmark appear in the right column of the drone panel. Selecting one and clicking Deploy to Target sends the selected drone(s) there. Drones circle above the waypoint until recalled — they do not automatically return on their own unless battery depletes. Waypoint marking ignores window, embrasure, and shutter prefabs so operators can mark terrain or targets through base viewing ports.
FloorFrameDoors companion plugin: Drone hatch docking is designed around floor-frame doors created by the included FloorFrameDoors.cs plugin. FloorFrameDoors adds an invisible wall-frame proxy to floor frames so normal Rust doors and double doors can be placed horizontally as hatch doors. ScrapExo recognizes those horizontal doors and uses them as drone entry/exit points above charging rooms.
If multiple drones return at the same time, they queue their entry — each drone waits until the hatch and charging area are clear before proceeding to avoid collisions.
If more than one valid pad is available, drones prefer pads that the owner is not currently standing on. A player-occupied pad is used only as a fallback when no better powered/authed pad has an available drone slot.
Low-battery drones cancel current travel tasks (base/waypoint/chase) and divert to charging. If no charging station is available, the drone returns to the operator for retrieval.
If a drone reaches 0 battery before retrieval, it crashes in-world (no instant inventory teleport). The suit console reports the grid and relative direction from the operator at signal loss.
Drone cargo stays on the drone during normal battery-0 crashes or emergency landings. Cargo only moves into a wooden loot box when the drone is truly destroyed, such as being shot down.
Lost-drone tracking above the armor bar is intentionally disabled; operators rely on the console warning/grid callout for recovery.
Battery state is remembered. When a drone is retrieved its remaining battery level is stored on the chassis item. A drone returned with a depleted battery can only be reactivated by standing within 3m of a powered charging station and using Spawn or dropping the item — the chassis will be placed directly on the pad and charge at the normal rate before automatically taking off.
Depleted spawn behavior: If a spawned chassis has too little battery to fly and the player is standing on a powered charging station, the drone stays on the charging pad instead of taking off and immediately landing again. The station check uses the pad footprint instead of a broad nearby radius so adjacent pads are less likely to trigger accidentally.
Important: DiscoFloor charging pads require an active power source to function. Charging drones and the exosuit both draw from connected batteries — make sure your base power supply is sufficient to support both.
The drone panel includes a Camera button for viewing through a selected drone. Select a specific D# first, then click Camera. The plugin creates a temporary hidden computer-station controller behind the scenes, links it to the drone, and mounts the player into the camera feed.
/exorefill.Fuel is used for: Exothrust (flight) and Fire Weapon (longsword attacks)
/exorefill.Standing on a DiscoFloor recharges your suit battery. Higher tiers charge faster. You need to be standing directly on the floor footprint to get the charge — hovering just above it or standing beside it won't count. This tighter footprint check helps prevent adjacent pads from triggering when the player is not actually on that pad.
Charging pad color/state is refreshed for authorized players within 100m. This helps clients see the correct ready, cooldown, or charging color when returning to a base after the pad changed state while they were away.
Deployment: Players can deploy their own charging stations by placing a Disco Rug (Skin 10006). Upon placement, the rug is automatically converted into a functional DiscoFloor entity. These can be distributed via Kits or other item spawning plugins.
Armor, Battery, and Fuel bars on left. Auto-shift upward to avoid overlapping vanilla status effects.
Compass updated every 1s. Markers for Drones (Yellow), Charging Stations (Cyan), Threats (Red), Teammates (Green), Base, and Waypoints.
The radar also shows major vehicle boss targets such as Bradley APC and patrol helicopter as larger orange contacts so they stand out from normal hostile dots. These same vehicle boss types can be used by Tier 5 target lock and shoulder launcher firing.
When connected to a drone camera, ScrapExo temporarily rebuilds the HUD into a camera-safe layout. The camera view uses its own positions for the radar, custom armor/battery/fuel/drone bars, telemetry, Enhanced HUD, and camera Exit button so they do not sit under the default Rust computer-station UI. On disconnect, the normal player HUD layout is restored.
The following custom skins are used by the plugin to identify special items. Server owners can use these IDs with plugins like Kits or Give to distribute items to players.
| Item | Shortname | Skin ID | Description |
|---|---|---|---|
| Exo Tier 1 Activation | metal.shield | 10001 | Activate Tier 1 Exosuit when placed in backpack |
| Exo Tier 2 Activation | metal.shield | 10002 | Activate Tier 2 Exosuit when placed in backpack |
| Exo Tier 3 Activation | metal.shield | 10003 | Activate Tier 3 Exosuit when placed in backpack |
| Exo Tier 4 Activation | metal.shield | 10004 | Activate Tier 4 Exosuit when placed in backpack |
| Exo Tier 5 Activation | metal.shield | 10005 | Activate Tier 5 Exosuit when placed in backpack |
| Disco Rug | rug | 10006 | Automatically converts to a Disco Floor charging pad upon placement |
| Fire Longsword | longsword | 10007 | Exosuit fire weapon |
| Forcefield Item | grenade.smoke | 10008 | Exosuit forcefield deployment tool |
| Charged Battery | battery.small | 10009 | Pre-charged battery for exosuit refilling |
| Exo Base Deployer | legacy.shelter | 10010 | A skinned Legacy Shelter item that deploys a prebuilt ScrapExo-compatible charging base using CopyPaste. Requires the CopyPaste plugin and an exobase paste file. When placed, the shelter is consumed and replaced with the configured base paste. |
Note: You can use plugins like Kits to assign these skinned items to starter kits or rewards, allowing players to deploy their own Disco Floor charging stations by placing the Disco Rug.
Optional CopyPaste integration: The Exo Base Deployer runs the equivalent of paste exobase a true s true at the shelter placement position. ScrapExo authorizes the deploying player on pasted tool cupboards and limits each player to one active deployed Exo Base. The one-base limit is checked before paste begins and also blocks pending deployments to prevent spam placing. If CopyPaste is missing, the paste file is missing/broken, the paste fails, or no entities spawn, the shelter is refunded and the player is notified. Missing CopyPaste uses this message: CopyPaste is required to deploy Exo Bases.
All player-facing chat and console (drone/suit) messages route through the standard Carbon/Oxide lang API. The English message file is auto-generated on first load.
oxide/lang/en/ScrapExo.json (or carbon/lang/en/ScrapExo.json on Carbon)en/ScrapExo.json file to lang/<locale>/ScrapExo.json (e.g. de, fr, es-ES, pt-BR, ru) and translate the values. Keys must remain unchanged.Cmd.* — Chat command responses (help text, permission errors, waypoint feedback, refill, item grants).Suit.* — Exosuit activation, cooldown, lockout, fuel/battery transfer, forcefield, fire weapon, exothrust, resources updates.Drone.* — Drone power/charging, boot/shutdown diagnostics, medical scan, temperature, autonomous behavior (link recovery, ascent, mailbox, retrieval).Drone.Ui.* — Drone management panel button responses (deploy, recall, camera, spawn, despawn, base selection).Deploy.* — Exo Base Deployer messages.Status.* — Generic status words (READY, ONLINE, OFFLINE, STANDBY) used inside other localized boot/diagnostic messages.Some messages use numbered placeholders such as {0}, {1:F0}, {2}. These must be preserved in translations — they are filled with runtime values (counts, percentages, names, grid references). The localization helper is crash-safe: a malformed placeholder will fall back to the unformatted message rather than throw an exception.
The following are intentionally not localized:
exo.debug dump, debug-gated power-pad warnings) — server operator-facing only.Puts / PrintWarning — operator-facing only.SpawnShoulderLauncherPrefabAimAssist.VehicleBossRange and can exceed normal aim-assist rangeexobase paste fails or spawns no entitiesexobase, and authorizes the deploying player on pasted tool cupboardslang/en/ScrapExo.json generated on first load and used for all player-facing chat/console messageslang/de/ScrapExo.json) is picked up per-player based on client languageExoData: Main per-player state container.ExoDrone: MonoBehaviour (16 Hz update) for drone AI.DroneCameraSession: Per-player camera session state for the temporary computer-station bridge used by drone camera viewing.ExothrustComponent: Physics handler for flight.MovableBaseMountable: Custom mountable to prevent dismounting.ImageLibrary: Required for HUD/radar icons.FloorFrameDoors: Included companion plugin for placing horizontal doors in floor frames. Recommended for ScrapExo drone hatch docking and charging-room entry/exit behavior.CopyPaste: Optional integration used by the Exo Base Deployer. Requires a saved paste file named exobase.Quick overview: Most gameplay behavior is configurable from the plugin config without code edits. You can tune balance, UI behavior, automation, and progression for your server style.
ExoBaseDeployer settings control the skinned Legacy Shelter deployer, CopyPaste paste file name, authorization behavior, stability option, one-base-per-player limit, and CleanupDeployedBasesOnUnload. Cleanup on unload defaults to false.SpawnShoulderLauncherPrefab to false to disable the shoulder launcher visual while keeping firing behavior controlled by the existing per-tier shoulder launcher settings.AimAssist.VehicleBossRange controls long-range locking for Bradley APC and patrol helicopter. Normal aim-assist targets continue to use AimAssist.Range.UseSkinOwnership)Controls how custom skins are applied to suit items (armor pieces, belt tools, etc.):