RogueRustGridPower
RogueRust-native GridPower controller for automatic world streetlights, deterministic density, diagnostics and player-facing grid events.
Version: 2.0.2
Author: RogueAssassin
Frameworks: Oxide / Carbon
Required extension: Oxide.Ext.RogueRust
Plugin source · Back to plugin catalogue
Features
- Automatic world streetlight control by Rust world hour.
- Deterministic streetlight density/selection seed.
- Optional player grid-power infrastructure and power-pole discovery.
- Configurable pole power output and transformer output limit.
- Cooperative/batched infrastructure spawning.
- Wooden ladder placement support on RogueRust-managed power poles, with cached pole targeting and native Rust ladder entities.
- GameTip notifications for night/dawn transitions.
- Streetlight/infrastructure cache refresh controls.
- Administrative status, refresh, scan, inspect, debug and power diagnostics.
- RogueRust shared GridPower backend integration.
Permissions
roguerustgridpower.admin— administrative GridPower commands and diagnostics.
Commands
All commands require roguerustgridpower.admin and also answer to a gridpower.* alias (for example gridpower.status).
| Command | Description |
|---|---|
rrgrid.help |
Shows the administration and diagnostic commands. |
rrgrid.status |
Shows streetlight and native grid status. |
rrgrid.apply |
Reapplies configuration: streetlight density and streaming, the current world-time streetlight state and the native grid output policy. |
rrgrid.refresh |
Rebuilds the streetlight references and reapplies the current state. |
rrgrid.grid |
Shows the public-grid state and your grid cell. |
rrgrid.native |
Shows Rust native power-grid access points, wiring and the active output policy. |
rrgrid.native.refresh |
Re-indexes native access points and re-pushes the output policy in frame-budgeted batches. |
rrgrid.native.inspect |
Inspects the nearest native access point: saving flag, wired slots, current energy and maximum output. |
rrgrid.native.poles [apply] |
Shows native pole transformer fitting. apply re-runs it, filling poles that are missing one. |
rrgrid.debug |
Draws temporary admin-only markers for access points and streetlight fixtures within 200 m. |
rrgrid.target |
Inspects the world object under your cursor without modifying it. Alias: rrgrid.cursor. |
Configuration
Configuration file: config/RogueRustGridPower.json
General Settings
Enable Plugin: true
Street Lights
| Setting | Default | Validation |
|---|---|---|
| Enabled | true |
— |
| Turn On Hour (0-23) | 20 |
clamped to valid world hour |
| Turn Off Hour (0-23) | 8 |
clamped to valid world hour |
| Street Light Density Percent (0-100) | 100 |
0-100 |
| Selection Seed | 0 |
deterministic selection seed |
Player Grid Power
| Setting | Default |
|---|---|
| Enabled | false |
| Discover Power Poles | true |
| Require Vanilla Power Grid | false |
Power Poles
| Setting | Default | Validation |
|---|---|---|
| Enabled | true |
— |
| Density Percent | 100 |
0-100 |
| Selection Seed | 0 |
— |
| Power Output | 600 |
>= 0 |
| Limit Transformer Output | true |
— |
| Transformer Maximum Output | 100 |
>= 0 |
| Spawn Batch Size | 2 |
1-2 |
| Batch Interval Seconds | 0.25 |
>= 0.25 |
| Allow Wooden Ladders On Grid Power Poles | true |
— |
| Ladder Pole Detection Radius | 4 |
clamped 1-8 metres |
| Show Ladder Placement GameTip | true |
— |
| Ladder Placement GameTip Duration Seconds | 2.5 |
clamped 1-10 |
| Ladder Placement Success Message | Ladder attached to RogueRust GridPower pole. |
configurable text |
Player Notifications
| Setting | Default |
|---|---|
| Show GameTips | true |
| GameTip Duration Seconds | 8 (clamped 1-30) |
| Night Message | grid generators/streetlights night message |
| Dawn Message | daylight/grid shutdown message |
Performance Settings
| Setting | Default | Minimum |
|---|---|---|
| Street Light Check Interval Seconds | 30 |
5 |
| Refresh Street Light Cache Minutes | 10 |
1 |
Developer Settings
Log Diagnostics: false. Detailed discovery/per-entity/recovery traces remain silent unless enabled.
Representative default configuration
{
"General Settings": { "Enable Plugin": true },
"Street Lights": {
"Enabled": true,
"Turn On Hour (0-23)": 20.0,
"Turn Off Hour (0-23)": 8.0,
"Street Light Density Percent (0-100)": 100,
"Selection Seed": 0
},
"Player Grid Power": {
"Enabled": false,
"Discover Power Poles": true,
"Power Poles": {
"Enabled": true,
"Density Percent (0-100)": 100,
"Selection Seed": 0,
"Power Output": 600,
"Limit Transformer Output": true,
"Transformer Maximum Output": 100,
"Spawn Batch Size": 2,
"Batch Interval Seconds": 0.25,
"Allow Wooden Ladders On Grid Power Poles": true,
"Ladder Pole Detection Radius": 4.0,
"Show Ladder Placement GameTip": true,
"Ladder Placement GameTip Duration Seconds": 2.5,
"Ladder Placement Success Message": "Ladder attached to RogueRust GridPower pole."
},
"Require Vanilla Power Grid": false
},
"Performance Settings": {
"Street Light Check Interval Seconds": 30.0,
"Refresh Street Light Cache Minutes": 10.0
},
"Developer Settings": { "Log Diagnostics": false },
"Version (DO NOT CHANGE)": "2.0.2"
}
Ladder placement notes
When player-grid power is enabled and managed power poles are active, players holding a wooden wall ladder can place it directly against recognized RogueRust GridPower poles. The plugin caches eligible pole positions for short periods, verifies the player is actually targeting a power-pole collider, spawns the native ladder entity with ownership/skin preserved, and fires the normal OnEntityBuilt hook for compatibility.
This feature can be disabled independently without affecting streetlights or player-grid power.
Runtime and performance notes
The plugin uses RogueRust's shared GridPower service. Heavy administrative work is queued cooperatively rather than producing large entity/network bursts in a command frame. Streetlight checks and cache refreshes run on configurable conservative intervals, and diagnostics are opt-in.
Installation and updating
Install the latest RogueRust DLL, place RogueRustGridPower.cs in the plugin directory, and grant roguerustgridpower.admin to administrators. Existing config values are preserved while missing sections/defaults are added during version migration.