Skip to content

Admin

Admin

/fueladmin

Opens a server-wide board of all 27 stations. Search by name or district; each row shows whether it is owned, on sale or public, and who owns it.

Select one and you get:

Control Effect
Force restock Fills every non-electric tank to capacity at once
Reset Wipes ownership, bank, stock and staff — the station goes back on the market
Purchasable Flips the station between buyable and permanently public
Wrong fuel Overrides Config.WrongFuel.Mode for this station only
Fuel prices Sets a per-litre price directly, ignoring what the owner set
Upgrade prices Overrides what each upgrade costs at this station

Plus the live numbers: revenue today, stock level, customers, and the stock bar per fuel.

Every one of those actions is logged to the Discord webhook under the Admin colour, so a second admin can see who did what.

Purchasable and wrong-fuel overrides are saved per station and survive a restart, so they win over what config.lua says for that station.

/setfuel <0-100>

Sets the fuel level of the vehicle you are sitting in, or the closest one within Config.Refuel.VehicleSearch if you are on foot. The value is clamped server-side to 0–100 and the action is logged.

code
/setfuel 100
/setfuel 5

With Config.Debug on you also get /emptyfuel, which drops the nearest vehicle to zero — useful for testing the cut-out and the low-fuel warning without driving for ten minutes.

Who counts as an admin

Both commands go through the same server-side check. A player passes if any of these match:

  1. They hold the ace Config.Admin.Ace (default bupa.fuel) and UseAce is on.
  2. One of their identifiers is listed in Config.Admin.Developers.
  3. Their job name is one of Config.Admin.AdminGroups.
  4. They hold the ace group.<name> for one of those groups.
  5. They hold the ace <name> for one of those groups.
config.lua
Config.Admin = {
    Command = 'fueladmin',
    SetFuelCommand = 'setfuel',
    UseAce  = true,
    Ace     = 'bupa.fuel',
    AdminGroups = { 'admin', 'superadmin', 'god' },
    Developers  = {},
}

The cleanest setup is the ace:

server.cfg
add_ace group.admin bupa.fuel allow

A server that already runs group.moderator only has to add 'moderator' to AdminGroups — rule 4 picks it up with no extra ace.

On a bare dev server where no aces are set up, put your licence identifier in Developers:

config.lua
Developers = { 'license:0000000000000000000000000000000000000000' },

Turn Config.Debug on and a denied admin check prints the player's name and id to the server console, which tells you immediately whether the check is even reaching them.