Click outside or press Esc to close
Overview
Garage is a vehicle licence system for Rust. Nineteen vehicles, ranks with their own cooldowns and prices, a garage that remembers what you own, and six interchangeable panels.
Every vehicle plugin has eight or ten rules that can stop a spawn — permission, licence, cooldown, combat, raiding, building blocked, monuments, water, slots, wipe lockout. All of them answer the same way: no.
The player has no idea whether they are three seconds away or three hours, whether they need to buy something, or which rule stopped them. So they ask an admin. Every single time.
Garage shows every rule and its live state. Seventeen gates, each one carrying its own status and a plain sentence telling the player what to do about it. That one decision removes most of the support load this category of plugin creates.
Free, MIT, no dependencies.
Features
- Six complete panels — different interfaces, not colour swaps
- 17 gates, each shown to the player with its live state and a fix
- 19 vehicles including the Scrap Transport Helicopter and Hot Air Balloon
- A custom vehicle slot — paste a prefab path and it behaves like a built-in
- Ranks with their own cooldowns, fuel, prices, slots and vehicle lists
- Best rank wins when a player holds several
- A persistent garage — vehicles survive relog and are recalled, not respawned
- Licence costs in scrap, any item, Economics, ServerRewards or your own plugin
- Post-wipe lockout, with a per-rank switch to skip it
- Combat, raid, building-blocked, monument, safe zone, mounted, swimming and height gates
- Fetch blocked while anyone is riding it
- Refunds when a vehicle is put away, at a percentage you set
- Full in-game workshop. Nothing needs a config file
- Every visible string editable in game, unlimited languages
- Free, MIT, no dependencies
The gates — the part that matters
This is the reason to run it over anything else, so it deserves the space.
A gate is not a hidden early-return. It is a small object carrying a label, a live state, and a sentence. Every panel reads the same list, so they cannot drift apart, and the player sees this:
MINICOPTER BLOCKED
Permission ........... rank VIP ok
Your rank allows it .. yes ok
Licence .............. not bought - 500 SCRAP buy
Post-wipe lockout .... expired ok
Cooldown ............. ready ok
Free slot ............ 1 / 2 used ok
Combat ............... clear ok
Raiding .............. clear ok
Building blocked ..... clear ok
Monument ............. you are at Airfield blocked
Safe zone ............ clear ok
On foot .............. yes ok
Move away from the monument, then buy the licence.
The full list: permission, rank allows it, vehicle permission, licence, post-wipe lockout, cooldown, free slot, not already out, combat, raiding, building blocked, monument, safe zone, on foot, out of the water, height, and water nearby for boats.
Every gate has an on/off switch. Turn one off and it stops applying and stops appearing — the panel never shows a rule you are not enforcing.
The six panels
Pick one in SETUP > LOOK. Each one answers "why can't I spawn this?" in its own language rather than repeating the same list of ticks.
| Panel | What it is |
|---|---|
| The Dashboard | An instrument cluster. Every gate is a warning lamp — amber for the licence, red for the monument. You do not read why you are blocked, you see which lamp is lit |
| The Plates | Embossed licence plates. Yellow reflective for issued, white blank stock with a price, grey struck through for above your rank |
| The Forecourt | A petrol station. Pumps per vehicle, a price board overhead, and a blocked pump carries a hand-written OUT OF ORDER sign saying why |
| The Pit Lane | A racing garage with a timing tower. Cooldowns are countdown clocks, blocked is DNS, above your rank is N/E |
| The Car Park | A concrete floor plan from above. Levels are categories, bays are painted rectangles with yellow line paint |
| The Rig | Industrial switchgear. Toggles per vehicle and a big red master interlock that stays engaged until every condition clears |
Vehicles
Nineteen built in, grouped as ground, air and water.
| Group | Vehicles |
|---|---|
| Ground | Pedal Bike, Motorbike, Motorbike + Sidecar, Horse, Horse (2 seat), Snowmobile, Tomaha Snowmobile, Modular Car 2 / 3 / 4 |
| Air | Minicopter, Scrap Transport Helicopter, Attack Helicopter, Hot Air Balloon |
| Water | Rowboat, RHIB, Tugboat, Solo Submarine, Duo Submarine |
Per vehicle: display name, chat command, licence cost, colour, fuel, cooldown multiplier, spawn distance, its own permission, whether it can be fetched or repaired, and whether it needs water.
Siege weapons are not included yet, deliberately. Ballista, Catapult, Battering Ram and Siege Tower are drivable, but I could not verify their prefab paths from a source I trust and I will not ship a guess that silently fails. Run garage.prefabs with one spawned and it prints the real path — paste it into the custom vehicle slot and it works like any built-in.
Ranks
Three ship — BASIC, VIP, ELITE — and you can add as many as you like. Grant garage.<suffix> to a group. When a player holds several, the highest priority wins.
| Per rank | |
|---|---|
| Spawn / fetch / repair cooldowns | Plus a multiplier that stacks with the per-vehicle one |
| Fuel given on spawn | Overridable per vehicle |
| Vehicles out at once | The limit that makes the garage mean something |
| Licence price multiplier | VIP pays 75%, ELITE pays 50% out of the box |
| Everything free | For a rank that should not pay at all |
| Skip the post-wipe lockout | So a paying rank can drive on wipe day |
| May fetch / may repair | Separate switches |
| Which vehicles are allowed | A tick list |
The garage
A spawned vehicle becomes yours. It survives relog and server restart, and you recall it rather than spawning a second one.
- Recall from anywhere, or within a distance you set
- Fetch is blocked while anyone is sitting on it
- Put away to free the slot, with an optional refund
- Repair at full health, on its own cooldown
- Destroyed vehicles drop out of your garage automatically
- Everything cleared on wipe, licences optionally kept
Currency
Licences are paid in whichever of these you pick:
| Mode | Uses |
|---|---|
| Item | Scrap, or any shortname you like |
| Economics | Balance / Withdraw / Deposit |
| ServerRewards | CheckPoints / TakePoints / AddPoints |
| Custom | Your own plugin through a balance, take and give hook |
The workshop shows a live line confirming the chosen method is actually usable, naming the plugin, so a typo is visible immediately rather than when a player tries to buy something.
Charges are balance-verified. Garage reads the balance, calls the take hook, then reads it again — if the money did not actually leave, the purchase is refused rather than granted for free. Some economy plugins return null on failure, and treating that as success is how players end up with free licences.
Commands and permissions
| Command | What it does |
|---|---|
/garage |
Open the panel. Also /vh and /car |
/garage tune |
Open the workshop |
/mini, /car4, /tug … |
One per vehicle, all configurable. Spawns it, or fetches it if it is already out |
garage.report |
Health readout — wipe timer, vehicles out, licences held, payment check |
garage.prefabs |
Dumps every vehicle prefab alive on your server. This is how you confirm a path before adding it |
garage.give <steamid> <vehicle> |
Grant a licence |
garage.clear <steamid> |
Clear a player's garage |
| Permission | Grants |
|---|---|
garage.use |
Open the panel, if you have gated it |
garage.admin |
The workshop and admin commands |
garage.free |
Pays nothing for any licence |
garage.basic / .vip / .elite |
The shipped ranks |
garage.veh.<key> |
Per-vehicle, only for vehicles you mark as needing it |
Bypassing gates and editing config are separate permissions on purpose. Server admins can skip cooldowns for testing without that quietly handing them the workshop. Editing needs garage.admin and nothing else, unless you deliberately turn the other switch on.
Setup
- Drop
Garage.csintooxide/plugins/ - Grant the workshop with
oxide.grant group admin garage.admin - Grant a rank with
oxide.grant group default garage.basic - Type
/garageto look,/garage tuneto configure
All nineteen vehicles and three ranks are generated on first load with sensible prices, so there is a working garage immediately. Vehicles, licences and translations live in oxide/data/Garage/, everything else in the config file, and all of it is editable from the panel.
Run garage.report after installing. It confirms the payment method works, how long the post-wipe lockout has left, and warns about any enabled vehicle with no prefab path — the three things that quietly stop a vehicle plugin working.
Developer API
[PluginReference] private Plugin Garage;
Garage?.Call("OpenGarage", player);
Garage?.Call("HasLicence", player, "minicopter"); // bool
Garage?.Call("CountOut", player); // int
Garage?.Call("GiveLicence", player, "minicopter");
Four hooks fire:
void OnGarageSpawned(BasePlayer player, string key, BaseEntity vehicle) { }
void OnGarageFetched(BasePlayer player, string key, BaseEntity vehicle) { }
void OnGarageStored(BasePlayer player, string key) { }
void OnGarageLicensed(BasePlayer player, string key) { }
Compatibility
Oxide and Carbon. No dependencies. Economics, ServerRewards and Notify are optional and detected automatically.
Fuel is found by walking the vehicle's own child containers rather than through the fuel-system API, which has changed shape twice in Rust's history. That means it keeps working across updates instead of breaking on one, and it says so in console if a vehicle spawns without a tank.
Panel size, blur, darkness and text scale are all settings, and every layout scales with them. The symbols used in the interface are configurable characters, so if your server's font renders one as a box you can replace it with anything you like.
Requirements & compatibility
Oxide and Carbon. No dependencies. Economics, ServerRewards and Notify are optional and detected automatically.
No updates yet.