ScrapExo Documentation

Advanced Tiered Exoskeleton System for Rust

Plugin: ScrapExo
Author: Chernarust
Version: 1.0.0
Framework: Carbon/Oxide
Dependency: ImageLibrary
Optional Integration: CopyPaste
Included Companion: FloorFrameDoors

Section 1 — Overview

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.

Core Impacts:

What This Replaces

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.

Quick Start

  1. Run /exo1 (or /exo5 for full feature testing)
  2. Wait for the startup sequence (~13 seconds) — movement is reduced to a slow crawl while the suit powers up
  3. Press Ctrl + Space to enable Exothrust flight
  4. Use W / A / S / D to fly, Space to ascend, Ctrl to descend
  5. Press E to toggle altitude hold while flying
  6. Use /exodrone to manage drones (Tier 3+) and the Camera button to view a selected drone's camera
  7. Use /exorefill to refill battery and fuel instantly (if permitted)

Section 2 — Commands

Chat Commands (player)

Command Permission Required Description
/exononeDisplays list of available tier commands and utility commands
/exo1scrapexo.tier1Activate or confirm Tier 1 exosuit
/exo2scrapexo.tier2Activate or confirm Tier 2 exosuit
/exo3scrapexo.tier3Activate or confirm Tier 3 exosuit
/exo4scrapexo.tier4Activate or confirm Tier 4 exosuit
/exo5scrapexo.tier5Activate or confirm Tier 5 exosuit
/exoitem1scrapexo.item.tier1Give yourself a Tier 1 activation item (metal.shield with custom skin)
/exoitem2scrapexo.item.tier2Give yourself a Tier 2 activation item
/exoitem3scrapexo.item.tier3Give yourself a Tier 3 activation item
/exoitem4scrapexo.item.tier4Give yourself a Tier 4 activation item
/exoitem5scrapexo.item.tier5Give yourself a Tier 5 activation item
/exorugscrapexo.item.rugGive yourself a Disco Rug activation item (Converts to Disco Floor on placement)
/exorefillscrapexo.refillInstantly refill active exosuit battery and fuel to maximum
/exodronenone (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.
/wplistnone (suit + HUD)List all saved waypoints
/wpdel [name]none (suit + HUD)Delete a specific waypoint by name
/wpclearnone (suit + HUD)Delete all waypoints
/moveradarscrapexo.moveuiOpen radar panel repositioning UI
/moveconsolescrapexo.moveuiOpen console log panel repositioning UI
/movebarsscrapexo.moveuiOpen status bars repositioning UI

Console Commands (player, UI-driven)

Command Description
exodrone.closeuiClose drone management UI
exodrone.selectdrone [index]Select a specific drone by index (0-based). Pass -1 to select ALL
exodrone.sendDeploy 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.recallRecall a specific drone to the operator. Requires a D# to be selected first
exodrone.hoverRecall all drones back to orbit around the operator (clears any base/waypoint assignment)
exodrone.inventoryOpen drone cargo inventory for looting
exodrone.cameraConnect 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.cameraexitDisconnect from the active drone camera view using the custom camera Exit button
exodrone.selectbaseSelect/deselect a base location (args: x y z)
exodrone.selectwaypoint [index]Select/deselect a saved waypoint as a target. Clears base selection
exodrone.despawnDespawn all active drones
exodrone.spawndroneSpawn a drone directly from the drone management panel. Consumes a drone item unless the player has scrapexo.bypass.drone
exo.altitudeholdToggle exothrust altitude hold

Console Commands (admin)

Command Permission Description
exo.debug [player]server adminPrint exosuit debug state for self or named player
scrapexo.refillscrapexo.refillConsole refill command for players with refill permission

Section 3 — Permissions

Permission Effect
scrapexo.tier1Allows use of /exo1 to activate Tier 1
scrapexo.tier2Allows use of /exo2 to activate Tier 2
scrapexo.tier3Allows use of /exo3 to activate Tier 3
scrapexo.tier4Allows use of /exo4 to activate Tier 4
scrapexo.tier5Allows use of /exo5 to activate Tier 5
scrapexo.item.tier1Allows /exoitem1 to receive the Tier 1 activation item
scrapexo.item.tier2Allows /exoitem2 to receive the Tier 2 activation item
scrapexo.item.tier3Allows /exoitem3 to receive the Tier 3 activation item
scrapexo.item.tier4Allows /exoitem4 to receive the Tier 4 activation item
scrapexo.item.tier5Allows /exoitem5 to receive the Tier 5 activation item
scrapexo.item.rugAllows /exorug to receive the Disco Rug activation item
scrapexo.refillAllows /exorefill instant refill
scrapexo.bypass.costSkip scrap cost on suit activation
scrapexo.bypass.cooldownSkip activation cooldown
scrapexo.bypass.batteryUnlimited battery — all battery-gated features available
scrapexo.bypass.fuelUnlimited exothrust fuel
scrapexo.bypass.droneAllows the Spawn button in the drone panel to work freely — no drone item required from inventory
scrapexo.moveuiAllows UI repositioning commands

Section 4 — Controls

General Exosuit Controls

ActionInputCondition
Toggle altitude holdEExothrust must be active
Deploy forcefieldLeft Click(Belt slot 2)Last 30 seconds

Exothrust Flight Controls

ActionInput
Toggle exothrust on / offCtrl + Space
Flight directionMouse aim
Fly forward / backwardW / S
Strafe left / rightA / D
AscendSpace
DescendCtrl
Boost speedShift (hold)

Swimming Controls

ActionInput
Swim up / downSpace / Ctrl
Boost swim speedShift (SPRINT)

Section 5 — Core Systems

5.1 Exosuit Activation System

Activation is a two-step confirmation process or instant via activation item:

5.2 Armor System

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.

5.3 Climate Control System

5.4 Speed / Movement System

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.

5.5 Auto-Medical System

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.

5.6 Night Vision System

Tiers 2–5 F to enable night vision goggles when the suit activates. They are removed when the suit shuts down.

5.7 Fire Weapon System

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.

5.8 Forcefield System

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.

5.9 Shoulder Launcher System

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.

Section 6 — Progression / Tiers

Property Tier 1 Tier 2 Tier 3 Tier 4 Tier 5
Armor Pool25050075010001500
Scrap Cost500750120025005000
Speed Multiplier1.2x1.4x1.6x1.8x2.0x
Battery Capacity40050060012001600
Battery Drain/hr20003000400050005500
Fuel Capacity10025050010001500
Night VisionNoYesYesYesYes
Enhanced HUDNoNoYesYesYes
Drones00123
Forcefield Dur.10s15s20s30s45s
Forcefield CD1200s900s600s300s180s
Exothrust Force1020305065
Target LockNoNoNoNoYes

Section 7 — Drone System (Detailed)

7.1 Drone Behavior States

At any given time, each drone is in one of the following modes:

7.2 Drone Management Panel

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.

Drone Selector

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.

Actions

Waypoints in the Panel

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.

7.3 Charging Behavior (Hatch Docking)

  1. When a drone's battery is low (<30), it diverts to a charging station if one is in range.
  2. It navigates to the floor-frame hatch above the charging area, aligns itself over the opening, and opens the hatch.
  3. The drone descends through the hatch into the base interior, moves to an available DiscoFloor charging pad, positions itself correctly, and begins charging.
  4. After reaching full battery, it ascends back through the hatch and returns to the last active assignment, such as a waypoint or base hover position. If no assignment is stored, it returns to normal player hover.

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.

7.4 Drone Camera View

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.

Section 8 — Resource Management

8.1 Battery System

  • Drains during use + Climate Control + Auto-med.
  • Forcefield adds per-second drain.
  • 0 Battery: Speed boost removed — player moves slowly as if wearing heavy unpowered armor. Flight shuts down.
  • Refill: DiscoFloor, dropping small battery items, /exorefill.
  • Shutdown return: The suit always returns one rechargeable battery from the suit charge, capped at 400 units. Extra charge above 400 is discharged only into rechargeable batteries already in the player's inventory; the plugin does not create extra batteries for overflow charge.

8.2 Fuel System

Fuel is used for: Exothrust (flight) and Fire Weapon (longsword attacks)

  • Drains during Exothrust flight.
  • Fire weapon shots multiply fuel consumption.
  • 0 Fuel: Automatic flight shutdown.
  • Refill: Drop lowgradefuel, /exorefill.

8.3 Charging Station (DiscoFloor)

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.

Section 9 — UI / HUD

9.1 Status Bars

Armor, Battery, and Fuel bars on left. Auto-shift upward to avoid overlapping vanilla status effects.

9.2 Enhanced HUD (Tiers 3–5)

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.

9.3 Telemetry Panel

9.4 Drone Camera HUD Mode

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.

Section 10 — Skinned Items (IDs)

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 Activationmetal.shield10001Activate Tier 1 Exosuit when placed in backpack
Exo Tier 2 Activationmetal.shield10002Activate Tier 2 Exosuit when placed in backpack
Exo Tier 3 Activationmetal.shield10003Activate Tier 3 Exosuit when placed in backpack
Exo Tier 4 Activationmetal.shield10004Activate Tier 4 Exosuit when placed in backpack
Exo Tier 5 Activationmetal.shield10005Activate Tier 5 Exosuit when placed in backpack
Disco Rugrug10006Automatically converts to a Disco Floor charging pad upon placement
Fire Longswordlongsword10007Exosuit fire weapon
Forcefield Itemgrenade.smoke10008Exosuit forcefield deployment tool
Charged Batterybattery.small10009Pre-charged battery for exosuit refilling
Exo Base Deployerlegacy.shelter10010A 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.

Section 10.5 — Localization (Multi-Language Support)

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.

File Location

Key Categories

Format Placeholders

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.

Out-of-Scope Strings

The following are intentionally not localized:

Section 11 — QA Testing Checklist

Section 13 — Technical Notes

Key Classes

Performance

Companion Plugins

Section 14 — Configuration Notes

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.

Experimental Features (Optional)

Skin Ownership (UseSkinOwnership)

Controls how custom skins are applied to suit items (armor pieces, belt tools, etc.):