|

Systems With Their Own Control Panels

This entry is part 5 of 7 in the serie Under Rust

Under Rust

The Controls Under Rust (1)

Weather Is Not the Environment (2)

The Living Island (3)

The Island Is Allowed to Rot (4)

Systems With Their Own Control Panels (5)

The Things You Cannot Configure (6)

Commands and Convars Console Reference (7)

When a Feature Becomes More Than an Object

Some things in Rust begin as objects.

Then they accumulate rules.

Timing.

AI.

Population.

Economy.

Lifecycle.

Performance limits.

Administrative operations.

Eventually, what looked like one object has enough machinery behind it to justify its own console namespace.

Current Rust contains many examples:

beehive.*

beeswarmai.*

beeswarmmaster.*

npcvendingmachine.*

travellingvendor.*

bike.*

clan.*

deepsea.*

The existence of a namespace does not automatically mean the system is huge.

Some contain only a handful of controls.

Others expose dozens.

But they all give us the same clue:

Facepunch decided this feature needed its own administrative vocabulary.


Bees Became Three Systems

Bees arrived as part of the March 2025 Crafting Update.

The player-facing feature sounds relatively simple:

find wild honeycomb;

raise bees in a Beehive;

produce honey;

or put bees in a grenade and make them someone else’s problem. (Rust)

The console tells a more complicated story.

Rust does not have merely:

bee.*

It currently separates:

beehive.*

beeswarmai.*

beeswarmmaster.* (Corrosion Hour)

That is already three layers.


The Hive Has Its Own Schedule

ConVar Default Unit / Range Function
beehive.updatehiveinterval 120 seconds Hive update interval
beehive.updatehivestatsinterval 120 seconds Temperature / inside checks
beehive.xpincreaseperhoneycomb 2 Undocumented Nucleus XP per honeycomb

These values are publicly documented in the current admin-command list and Corrosion Hour’s Beekeeping guide. (Corrosion Hour)

The distinction between the first two is useful.

The hive can have a general update schedule while environmental conditions such as temperature and enclosure are checked on their own interval.

Facepunch’s player-facing description confirms that hives care about being outside, humidity and temperature. (Rust)

So the Beehive is not simply:

wait X minutes → honey appears.

It is periodically evaluating an environment.


The Swarm Has AI

Then there is:

beeswarmai.*

ConVar Default Unit / Range Function
beeswarmai.breakrange 15 distance Leave current target
beeswarmai.searchrange 10 distance Find new targets
beeswarmai.flamesettingdistance 5.5 distance Fire ignition distance
beeswarmai.killwithouttargettime 150 time, unit not publicly stated No-target lifetime
beeswarmai.think_budget_ms 0.1 milliseconds AI thinking budget per frame
beeswarmai.waterthreshold 0.6 Undocumented Water threshold for ignoring player
beeswarmai.disable FALSE TRUE / FALSE Swarm AI disable

(Corrosion Hour)

This is an excellent miniature version of the AI architecture from The Living Island.

The swarm needs:

target acquisition

target abandonment

environmental reactions

lifetime

and even:

a CPU thinking budget.

Facepunch’s released gameplay mirrors several of these concepts: bee swarms attack nearby players, can be countered with fire or water, and were later rebalanced as a distinct combat system. (Rust)


Then Something Has to Create the Swarms

The third namespace is:

beeswarmmaster.*

ConVar Default Unit Function
beeswarmmaster.amounttospawn 3 count Child swarms created
beeswarmmaster.secondsbetweenspawns 60 seconds Spawn interval
beeswarmmaster.killwithoutatargettime 150 time, unit not publicly stated No-target lifetime

(Corrosion Hour)

Facepunch describes the Bee Grenade as creating a swarm that can itself create up to three smaller attacking swarms. (Rust)

So one feature already separates:

Beehive production

Swarm AI

and:

Swarm creation / management

A jar of angry bees turns out to have architecture.


NPC Vending Machines Became an Economy

An NPC vending machine looks even simpler.

There is an item.

There is a price.

Buy it.

But in July 2024 Facepunch introduced dynamic vendor pricing. Prices began changing according to how popular each item was on that server. (Rust)

That immediately required a control system of its own:

npcvendingmachine.*


Current Dynamic Pricing Controls

ConVar Default Range / Format Function
npcvendingmachine.dynamicpricingenabled TRUE TRUE / FALSE Dynamic pricing
npcvendingmachine.minimumpricemultiplier 0.5 multiplier Minimum price
npcvendingmachine.maximumpricemultiplier 2 multiplier Maximum price
npcvendingmachine.startingpricemultiplier 2 multiplier Starting price
npcvendingmachine.pricedecreaseamount 0.05 0.05 = 5% Price decrease
npcvendingmachine.priceincreaseamount 0.1 0.1 = 10% Price increase
npcvendingmachine.priceupdatefrequencydefault 3 0.5–72 hours Monthly/default update interval
npcvendingmachine.priceupdatefrequencybiweekly 2 0.5–72 hours Biweekly update interval
npcvendingmachine.priceupdatefrequencyweekly 1 0.5–72 hours Weekly update interval

The public admin list provides both the current defaults and, unusually, an explicit accepted range of 0.5 to 72 real-time hours for the three update-frequency variables. (Corrosion Hour)

That is exactly the kind of documented range we want to preserve rather than merely showing the default.


The Control Panel Evolved With the Feature

The original July 2024 implementation evaluated sales in six in-game-hour windows, increasing prices by 10% when demand was above average and decreasing them by 5% when demand was below average. Prices were constrained between 50% and 200% of the original cost. (Rust)

It did not stay that way.

In August, Facepunch moved the calculations to real time and changed the default update period to five real-time hours. (Rust)

In September, the cadence became wipe-length dependent:

monthly: 3 hours
biweekly: 2 hours
weekly: 1 hour (Rust)

That development history is useful.

The namespace did not appear because somebody wanted more console commands.

The feature itself became complex enough that administrators needed independent control over:

enablement

minimum

maximum

starting condition

upward movement

downward movement

and:

sampling cadence

The vending machine had become an economy.


It Also Has Administrative Operations

Commands include:

npcvendingmachine.printallpricechanges

and:

npcvendingmachine.resetdynamicpricing

as well as tools for simulating time through the vending system. (Corrosion Hour)

That distinction appears repeatedly in dedicated namespaces:

ConVars configure the system.

Commands inspect or manipulate its current state.


The Travelling Vendor Has a Lifecycle

The Travelling Vendor arrived in the same July 2024 update. Facepunch described it as an event roaming the roads for roughly 30 minutes, with an administrative command available to force the event to start. (Rust)

Current controls include:

ConVar Default Unit / Values Function
travellingvendor.should_spawn TRUE TRUE / FALSE Event spawning
travellingvendor.alive_time_seconds 1800 seconds Vendor lifetime
travellingvendor.attempt_pullovers TRUE TRUE / FALSE Pullover attempts
travellingvendor.max_speed 5 Undocumented Maximum speed
travellingvendor.should_destroy_buildings FALSE TRUE / FALSE Building destruction

Commands include:

travellingvendor.spawn

and:

travellingvendor.startevent. (Corrosion Hour)

Facepunch added the adjustable travellingvendor.max_speed control in August 2024. (Rust)

Again, one NPC encounter is actually an event with:

permission to exist

spawn operation

lifetime

movement

stopping behavior

and:

interaction with obstacles.


Bikes Have a Small Control Panel

Bicycles and motorbikes arrived together in July 2024.

Facepunch deliberately gave them different world placement: bicycles could appear along roadsides and at monuments, while motorbikes appeared at selected monuments. (Rust)

The current bike.* namespace mirrors some of that distinction:

ConVar Default Unit / Values Function
bike.motorbikemonumentpopulation 1 population setting Motorbikes at monuments
bike.pedalmonumentpopulation 1 population setting Pedal bikes at monuments
bike.pedalroadsidepopulation 1 population setting Pedal bikes at roadside spawns
bike.outsidedecayminutes 1440 minutes Outside decay
bike.doplayerdamage TRUE TRUE / FALSE Crash damage
bike.playerdamageragdolltheshold 10 damage threshold Rider ragdoll threshold

(Corrosion Hour)

This is a much smaller namespace than AI or Deep Sea.

But it still demonstrates the same principle.

A vehicle is not merely:

model + wheels.

The server may need controls for:

where it appears

how long it survives unattended

and:

what its collisions do to the player.


Clans Became More Than Teams

Rust’s new Clan System entered the released game in July 2026.

Facepunch describes clans as an advanced version of teams with more members, roles and permissions, separate clan chat, announcements, Clan Tables and clan-member map information. The system is disabled in Hardcore mode. (Rust)

That feature also brought a dedicated:

clan.*

namespace.

Examples include:

ConVar Publicly documented default Function
clan.editsrequireclantable TRUE Require Clan Table for changes
clan.maxmembercount 100 Maximum clan members
clan.scorefordestroyingbradley 10 Bradley score
clan.scorefordestroyingtoolcupboards 10 Enemy TC score
clan.scoreforhackingcrates 5 Hack score
clan.scoreforkillingplayerinotherclan 10 Enemy-clan kill score
clan.scoreforkilledbyplayerinotherclan -10 Death penalty

A dedicated Corrosion Hour guide published around the system’s release documents these defaults. (Corrosion Hour)

One value currently deserves a warning rather than a false certainty:

clan.enabled

The general Corrosion Hour command inventory currently reports a raw default of FALSE, while its dedicated June 2026 Clan guide reports TRUE. Facepunch’s released July documentation confirms that the Clan System is active in normal Rust and specifically disabled in Hardcore. (Corrosion Hour)

So this is one of those places where:

public documentation disagrees

and the disagreement itself should be recorded rather than silently resolved.


A Social System Can Have Scores

The interesting part of clan.* is not simply that an administrator can change the maximum clan size.

Rust also exposes scoring for actions such as:

destroying Bradley;

destroying Tool Cupboards;

hacking crates;

killing players from other clans;

and being killed by players from another clan. (Corrosion Hour)

That tells us the Clan System is not only:

membership + chat.

It contains the beginnings of a measurable activity layer.

A social group has become an independently configurable gameplay system.


Then There Is Deep Sea

At the opposite end of the scale is:

deepsea.*

The Deep Sea arrived in February 2026 as an offshore region accessed by sailing toward the map edge. Facepunch describes it as an intermittently opening and closing high-risk region containing Tropical Islands, Floating Cities, Ghost Ships and Scientist-controlled boats. Building is disabled there, and ordinary content does not respawn while the region is active. (Rust)

This is not a tiny feature.

And its namespace looks like it.


Deep Sea Has World Structure

A selection of current controls:

ConVar Default Unit / Values Function
deepsea.enabled TRUE TRUE / FALSE Deep Sea enabled
deepsea.block_building TRUE TRUE / FALSE Building restriction
deepsea.floatingcity_count 1 count Floating Cities
deepsea.ghostship_count 4 count Ghost Ships
deepsea.hackablecrate_count 1 count Hackable crates
deepsea.island_count 6 count Deep Sea islands
deepsea.rhib_count 4 count RHIB groups
deepsea.portals_use_whitelist TRUE TRUE / FALSE Portal whitelist
deepsea.forceentranceportaldirection 0 enum Portal direction

For forceentranceportaldirection, the public command list actually documents the enum:

0 = map-based
1 = North
2 = East
3 = South
4 = West (Corrosion Hour)

That is exactly the kind of non-obvious numbered mode that needs to be explained.


Deep Sea Also Has a Lifecycle

The region is temporary.

Current controls include:

ConVar Default Unit Function
deepsea.wipecooldown 5400 seconds Time before reopening
deepsea.wipeduration 10800 seconds Deep Sea wipe duration
deepsea.wipeendphaseduration 1800 seconds Final wipe phase
deepsea.wiperadiationphaseduration 300 seconds Radiation ramp phase

(Corrosion Hour)

That gives Deep Sea something most ordinary monuments do not have:

a configurable death cycle.

Facepunch designed the region to open and close like a world event rather than remain permanently available. (Rust)

So its control panel needs to manage not only what exists inside the region, but:

when the region exists

when it becomes dangerous

when it closes

and:

when it can return.


Deep Sea Has Administrative Tools Too

The namespace also contains commands such as:

deepsea.open

deepsea.close

deepsea.createdeepsea

deepsea.enterdeepsea

deepsea.leavedeepsea

deepsea.printstate

deepsea.printentitycount

deepsea.printloot

deepsea.printtimetowipe

deepsea.spawnfloatingcityhere

deepsea.spawnghostshiphere

deepsea.spawnislandhere

deepsea.settimetowipe (Corrosion Hour)

This is a completely different scale from:

weather.rain = 0.5

The Deep Sea namespace behaves almost like an administration interface for a secondary world.


Even a Dedicated Namespace Does Not Contain Everything

This is important.

Having:

deepsea.*

does not mean every Deep Sea setting lives there.

Current Rust also exposes:

server.deepseafogofwar = TRUE

and:

net.visibilityradiusdeepsea = 20 (Corrosion Hour)

Those belong respectively to:

server.*

and:

net.*

because they concern systems broader than Deep Sea itself.

This is a useful correction to the idea of namespaces as sealed boxes.

A dedicated namespace tells us:

This feature has its own control surface.

It does not tell us:

Every system affecting this feature lives inside that prefix.

The feature still uses networking.

Mapping.

AI.

Weather.

NPC vendors.

Safe zones.

Navigation.

Those belong to their own systems.


Small Namespace, Large Namespace

Compare the examples.

A Beehive has three direct controls.

A bike has six.

The Travelling Vendor has a small event lifecycle.

NPC vending machines have enough economic state to manage dynamic prices.

Clans have membership rules and scoring.

Deep Sea has counts, placement, portals, world lifecycle, administrative teleportation and its own wipe process.

There is no minimum size that makes a namespace important.

The namespace itself tells us something:

this feature has enough independent state that Facepunch wanted administrators and developers to address it by name.


The Object Is Often the Least Interesting Part

A Beehive is an object.

But:

beehive.*

is a production system.

A Bee Grenade is an object.

But:

beeswarmai.*

is AI.

A vending machine is an object.

But:

npcvendingmachine.*

is an economy.

A vendor is an NPC.

But:

travellingvendor.*

is an event lifecycle.

A bicycle is a vehicle.

But:

bike.*

includes distribution, decay and collision consequences.

A Clan Table is a deployable.

But:

clan.*

is a social system.

Floating City is a monument.

But:

deepsea.*

is part of a temporary secondary world.

That is what these small control panels reveal.

Rust’s visible world is full of objects.

Underneath them are systems.

And once a system becomes complicated enough, sooner or later it tends to acquire a name.

Views: 4

Similar Posts