RogueRust Fuel Stack Optimizer

Version: 2.1.1
Author: RogueAssassin
Game: Rust
Frameworks: Oxide / Carbon
Required extension: Oxide.Ext.RogueRust

Optimises dedicated Rust fuel containers through cached discovery using native Oxide/Carbon hooks. It is designed to change fuel stack limits without repeatedly scanning ordinary inventories, with batching and cached reflection plans to keep server overhead controlled.

Features

Compatibility

Designed for supported Rust servers running Oxide or Carbon with the RogueRust extension installed.

Dependencies

Required

No additional plugin dependency is required by the current revision.

Permissions

Administrators can also use supported administrative commands through native admin access where the plugin permits it.

Commands

fuelstack.status

Displays the current optimizer status and tracked-container summary.

Permission: roguerustfuelstackoptimizer.admin

fuelstack.audit

Produces a detailed audit of discovered fuel containers and optimizer decisions.

Permission: roguerustfuelstackoptimizer.admin

fuelstack.fuels

Displays recognised fuel information used by the optimizer.

Permission: roguerustfuelstackoptimizer.admin

fuelstack.rescan

Requests a new full discovery scan so eligible containers can be rediscovered and updated.

fuelstackaudit

Legacy/alternate audit command retained by the current source revision.

Permission: roguerustfuelstackoptimizer.admin

Configuration

The settings are stored in RogueRustFuelStackOptimizer.json in the server configuration directory.

General Settings

Container Settings

Owner Filter Settings

Performance Settings

Developer Settings

Default Configuration

{
  "General Settings": {
    "Global Max Fuel Stack Size": 1000,
    "Recognised Fuel Item Short Names": [
      "lowgradefuel",
      "diesel_barrel",
      "wood",
      "crude.oil"
    ]
  },
  "Container Settings": {
    "Only Modify Dedicated Fuel Containers": true,
    "Enabled Container Kinds": [
      "Generator",
      "Quarry",
      "Excavator",
      "Vehicle",
      "Light",
      "Other"
    ],
    "Per Entity Overrides by NetID (NetID : MaxStack)": {},
    "Per Entity Overrides by Short Prefab Name (Name : MaxStack)": {},
    "Per Entity Overrides by Full Prefab Path (Prefab : MaxStack)": {}
  },
  "Owner Filter Settings": {
    "Whitelist Owners by Steam ID or current name (empty = all)": [],
    "Blacklist Owners by Steam ID or current name": []
  },
  "Performance Settings": {
    "Enable Batch Processing": true,
    "Discovery Entities per Tick": 40,
    "Stack Updates per Tick": 25,
    "Rescan Interval in Seconds (0 = disabled)": 0.0
  },
  "Developer Settings": {
    "Log Detailed Audit on Startup": false
  },
  "Version (DO NOT CHANGE)": "2.1.1"
}

Configuration Migration

Older flat configurations are detected automatically. The plugin migrates those values into the grouped RogueRust configuration layout and writes the current configuration version back to disk.

Stored Data

This plugin does not require a persistent data file in the current revision. Runtime discovery state and caches are rebuilt from server entities.

Performance Notes

Discovery is cached by entity type and can be processed in batches. Ordinary entity types that do not resemble fuel-storage entities are skipped early, reducing unnecessary reflection and inventory work. Entity spawn and kill hooks keep the tracked set current between full scans.

For large servers, keep batch processing enabled and increase the discovery/apply batch sizes only after observing server performance.

Installation

  1. Install a supported Rust server with Oxide or Carbon.
  2. Download and install the latest Oxide.Ext.RogueRust DLL.
  3. Download RogueRustFuelStackOptimizer.cs.
  4. Place it in your framework's plugins directory.
  5. Allow the framework to compile and load the plugin.
  6. Review RogueRustFuelStackOptimizer.json and grant roguerustfuelstackoptimizer.admin only to trusted administrators who need diagnostics/control access.

Updating

Replace the plugin .cs with the newer revision. Existing configuration is migrated where supported by the plugin. Do not manually alter Version (DO NOT CHANGE).

Source

View the plugin source

Back to documentation index · Back to plugin catalogue