GUIDE GUIDE — How to Configure BetterNPC on a Rust Server (Monuments, Custom Locations, Loot & Difficulty)

Joined
Feb 25, 2026
Messages
25
Reaction Score
31
Shards
◆200
GUIDE — How to Configure BetterNPC on a Rust Server
Monuments, Custom Locations, Loot & Difficulty | Updated March 2026 | Works with Oxide & Carbon

BetterNPC is one of the most popular premium plugins for Rust — it completely replaces the default NPC system and lets you fully control how many NPCs spawn, where they spawn, how hard they are, and what loot they drop. This guide covers everything from installation to advanced custom monument setup.

ezgif-73e9b4efda960a.gif




Step 1 — Installation & Dependencies

oxideplugins.png


BetterNPC has optional dependencies — the plugin works without them but integrates with:

  • AlphaLoot / CustomLoot — custom loot tables
  • Kits — give NPCs specific loadouts
  • TruePVE — PvE zone compatibility
  • Economics / ServerRewards — currency drops on kill

Upload BetterNpc.cs to your /oxide/plugins/ or /carbon/plugins/ folder and start the server. The data folders will be created automatically on first load.



Step 2 — Folder Structure

Code:
oxide/data/BetterNpc/
├── Monument/     ← config files for standard monuments
│   ├── airfield.json
│   ├── launchsite.json
│   ├── military_tunnel.json
│   └── ... (one file per monument)
├── Custom/       ← config for custom monuments / locations
├── Road/         ← NPCs that spawn on roads
├── Biome/        ← NPCs that spawn in biomes
│   ├── Arctic.json
│   ├── Arid.json
│   ├── Temperate.json
│   └── Tundra.json
└── Event/        ← NPCs for in-game events
    ├── AirDrop.json
    ├── CH47.json
    └── Helicopter.json

Carbon users: same structure but under carbon/data/BetterNpc/



Step 3 — Configure a Standard Monument

OQMVkTlF6Y47t82.png


Open any file from the Monument/ folder — for example airfield.json:

Code:
{
  "Enabled": true,
  "Remove other NPCs on monument": true,
  "The size of the monument": {
    "Width": 200,
    "Height": 200
  },
  "Presets": [
    {
      "Name": "Airfield Guard",
      "Enabled": true,
      "Amount of NPCs": 8,
      "Health": 200,
      "Damage multiplier": 1.2,
      "Kits": ["airfield_guard"],
      "Roam range": 30,
      "Aggression range": 50,
      "Attack range": 40,
      "Speed": 6.5,
      "Is running": true
    }
  ]
}

SettingWhat it does
Amount of NPCsHow many NPCs spawn at this monument
HealthNPC health pool (default Rust NPC = 150)
Damage multiplierHow hard NPCs hit (1.0 = default)
KitsWhich Kit plugin loadout the NPC uses
Roam rangeHow far NPCs walk from spawn point
Aggression rangeDistance at which NPC detects players
Attack rangeMaximum distance NPC will shoot from
SpeedMovement speed (default = 5.0)



Step 4 — Set Up Custom Spawn Locations

You can make NPCs spawn at any custom location on the map using admin commands in-game.

Step 1 — Stand at the location where you want NPCs to spawn

Step 2 — Run this command in chat:

Code:
/SpawnPointAdd MyCustomLocation

This creates a new file oxide/data/BetterNpc/Custom/MyCustomLocation.json

Step 3 — Edit the file to configure the NPCs:

Code:
{
  "Enabled": true,
  "Position": {"x": 512.0, "y": 0.0, "z": -256.0},
  "Presets": [
    {
      "Name": "Custom Guard",
      "Enabled": true,
      "Amount of NPCs": 4,
      "Health": 250,
      "Damage multiplier": 1.5,
      "Kits": ["heavy_guard"],
      "Roam range": 15,
      "Aggression range": 40,
      "Attack range": 35,
      "Speed": 6.0,
      "Is running": true
    }
  ]
}

Admin commands:
Code:
/SpawnPointAdd {name}     # create new custom spawn point at your position
/SpawnPointRemove {name}  # remove a custom spawn point
/SpawnPointList           # list all custom spawn points



Step 5 — Event NPCs (Helicopter, Chinook, AirDrop)

BetterNPC can add guards to vanilla Rust events. Open the files in the Event/ folder:

Code:
oxide/data/BetterNpc/Event/
├── AirDrop.json    ← spawns NPCs when airdrop lands
├── CH47.json       ← spawns NPCs when chinook drops locked crate
└── Helicopter.json ← spawns NPCs when patrol heli is destroyed

Example Helicopter.json — NPCs spawn when heli is shot down:
Code:
{
  "Enabled": true,
  "Presets": [
    {
      "Name": "Heli Survivor",
      "Enabled": true,
      "Amount of NPCs": 6,
      "Health": 300,
      "Damage multiplier": 1.8,
      "Kits": ["heli_guard"],
      "Roam range": 20,
      "Aggression range": 60,
      "Attack range": 50,
      "Speed": 7.0,
      "Is running": true
    }
  ]
}

💡 Tip: Set high health and damage on event NPCs — players expect more challenge when responding to a helicopter crash or chinook drop.



Step 6 — NPC Difficulty Guide

RustPluginsOxide.png


Use this as a reference when setting up NPCs for different scenarios:

DifficultyHealthDamage MultSpeedBest used for
Easy1000.85.0Starter monuments (barn, gas station)
Normal1751.05.5Mid-tier (supermarket, airfield)
Hard2501.56.5High-tier (launch site, military tunnel)
Nightmare4002.07.5Events, custom boss locations



Troubleshooting

NPCs not spawning at monument?
  • Check the file name matches the monument name exactly — it is case sensitive
  • Make sure "Enabled": true is set in the file
  • Verify Amount of NPCs is greater than 0
  • Check oxide/logs/ for any errors on plugin load

NPCs spawning but not attacking?
  • Increase Aggression range — default may be too small for your monument
  • Check for conflicts with TruePVE or other PvE zone plugins

Kits not applying to NPCs?
  • Make sure the Kits plugin is installed and the kit name matches exactly
  • Run oxide.reload BetterNpc after creating new kits



Summary

  1. Upload BetterNpc.cs to your plugins folder
  2. Edit files in oxide/data/BetterNpc/Monument/ for standard monuments
  3. Use /SpawnPointAdd to create custom NPC locations
  4. Configure events in oxide/data/BetterNpc/Event/
  5. Use the difficulty table to balance NPC health and damage
  6. Check oxide/logs/ if NPCs are not spawning

If this guide helped you — drop a like ⚡ More Rust server guides coming soon.
 
Back
Top