Virtual Garage

VAULT+ RUST PLUGIN Virtual Garage 1.6.0

Upgrade or register to download
Official page:
Works With
Vehicle License Plate, Better No Escape, Karuza Custom Vehicles, Vehicle Deployed Locks, Vehicle License
image (3).jpg

image (2).jpg

image (1).jpg

image.jpg

image.jpg




This Rust plugin adds a virtual garage system that lets players store and respawn their vehicles through a simple UI. It supports modular cars, helicopters, boats, snowmobiles, and even custom vehicles from other plugins. Stored vehicles keep their fuel, health, inventory, and names. You can limit garage size, set per-vehicle-type caps, and block storing based on cupboard auth, safe zones, or combat status.
  • Store any supported vehicle with one click into your personal virtual garage, managed through a simple in-game UI.
  • Save and restore vehicle health, fuel tank contents, and all inventory items, including their amounts, custom names, and skin ids.
  • Preserve full modular car setups, including socket layouts, module health, engine parts, and car radios with their last tuned station.
  • Tugboats and other vehicles keep their authorized players when stored and spawned back in.
  • Supports saving and restoring extra storage containers attached to vehicles, whether placed by players (such as on tugboats) or by other plugins, including the contents inside them.
  • Smart spawn near you with space and slope checks, requires clear line of sight to store, and blocks if someone is seated.
  • View each vehicle's condition, fuel, and stored items at a glance.
  • Open via chat command or an optional HUD button.
  • Set per-type limits for air, land, water, and siege vehicles, plus an overall garage size.
  • Upgrade limits for VIPs or groups using permission profiles.
  • Block storing or spawning if you're not TC-authorized, in a safe zone, building-blocked, or under combat/raid block (Better No Escape).
  • Let admins view another player's garage in read-only mode.
  • Auto-purge on map wipe, or keep garages across wipes.
  • Supports a wide range of vehicles including helicopters, boats, submarines, modular cars, bikes, snowmobiles, siege weapons, and more, with full compatibility for custom vehicles made with Karuza's plugin.
This plugin uses Oxide's permission system. Grant or revoke permissions using oxide.grant and oxide.revoke. You can assign them to individual players or groups using their Steam id or group name.
  • virtualgarage.use - Lets a player open the garage, store a nearby vehicle, spawn it later, and remove their own saved entries.
  • virtualgarage.admin - Staff power. Also allows viewing someone else's garage in read-only with garage.view.
  • virtualgarage.<suffix> - Tier perks from your config (e.g. virtualgarage.vip). Grant these to give bigger garages or different per-type limits.
Chat commands start with a /, while console commands can be entered directly in the F1 console or server console. Use find <keyword> in console to search for available commands related to the plugin. Parameters in < > are required, while [ ] are optional.
  • /garage (chat) - Opens your Virtual Garage UI.
  • garage.view <playerNameOrSteamId> (F1) - Admins only. Opens a read-only view of another player's garage. Useful for support/admin checks.
Settings are stored in the config file found under the config/ directory. You can edit this file manually, then reload the plugin to apply your changes.


  • Purge Garage Data After Server Wipe - Clears everyone's saved vehicles when you do a fresh map wipe. Turn off if you run no-wipe or want garages to carry over. Leave on for classic wipe cycles so old vehicles don't follow players into a new map.
  • Garage Chat Command - The word players type to open the garage. Don't include the slash here—players will type /yourword.
  • Hud Button- Controls the little on-screen button that opens the garage.
    • Show HUD Button - Show/hide the button for players who have access.
    • Text - The label on the button. If an icon is provided, text is hidden automatically.
    • Font Size - How big the label looks.
    • Text Color - Color of the label using "r g b a" (0–1). Example: "1 1 1 1" is white.
    • Background Color - Button background color in the same "r g b a" format. Use some alpha (like 0.7) so it blends.
    • Anchor Min / Anchor Max - Where the button sits on the screen. "1 1" sticks it to the top-right; "0 0" is bottom-left. Keep both at "1 1" for top-right.
    • Offset Min / Offset Max - Nudge the button's position/size in pixels from that corner.
    • Icon Url (External) - Optional image link. If set, this icon is shown instead of text.
    • Icon Sprite (Game Asset Path) - In-game sprite path (e.g. "assets/icons/level_metal.png"). Used if no URL is given.
    • Icon Offset Min / Icon Offset Max - Controls the size of the icon itself. Anchors are fixed centered, so these offsets decide how large the icon appears.
  • Default Garage Capacity - How many vehicles each player can store by default (before any VIP or special perms).
  • Default Limit Per Vehicle Type- Base caps for each category that apply to everyone.
    • Air / Land / Water / Siege - Use -1 for unlimited, or any number 0+ for a hard cap.
      (If a saved vehicle can't be matched to a category for some reason, it's treated as Land.)
  • Permission Profiles- Optional VIP/tier perks that change capacity and per-type limits when a player has a matching permission.
    • Permission Suffix - Becomes virtualgarage.<suffix> automatically.
    • Garage Capacity - Total slots granted by this tier. If a player has multiple tiers, they get the highest total capacity among them (or the default if that's higher).
    • Vehicle Type Limits- Per-type caps for this tier. If a player has multiple tiers:
      • If any tier sets a type to -1, that type is unlimited.
      • Otherwise, the smallest non-negative number across their tiers is used (the strictest cap).
      • If no tier sets a non-negative cap for a type, the default type cap is used.
  • Supported Vehicles- The whitelist of vehicles your garage recognizes (so names/icons show correctly and type limits work).
    • Short Prefab Name - A lowercase bit of the game's internal name used to match the vehicle (e.g., "minicopter.entity").
    • Category - Decides which type cap applies and how much space is needed to spawn.
    • Friendly Name - What players see in the UI (falls back to a generic name if left blank).
    • Icon Url - Optional PNG link for a custom icon. The server will fetch and cache it at startup.
    • Icon Sprite - In-game icon path to use if you don’t provide a URL (or as a fallback).
  • Nearby Vehicle Detection Radius - How far (in meters) around the player the plugin looks for a vehicle to store.
  • Garage Rules- Flip these on/off to control when storing and spawning is allowed.
    • Only Allow Storing Owned Vehicles - You can only store vehicles you own.
    • Require Line Of Sight To Vehicles - If true, you must be able to see the vehicle to store it. Turn this off for servers using Karuza's custom vehicles, since parts of those can block the raycast.
    • Require Tool Cupboard Authorization To Store Vehicles - You must be authorized on a nearby TC to store.
    • Require Tool Cupboard Authorization To Spawn Vehicles - The spawn spot must be covered by a TC you're authorized on.
    • Prevent Storing Vehicles In Safe Zones - No storing inside Outpost/Bandit (or any safe zone).
    • Prevent Spawning Vehicles In Safe Zones - No spawning into safe zones.
    • Prevent Storing Vehicles In Enemy Territory - If you're building-blocked, you can't store.
    • Prevent Spawning Vehicles In Enemy Territory - If the spawn spot is under someone else's TC, spawning is blocked.
    • Prevent Storing Vehicles While In Combat - Blocks storing while combat-blocked (only if Better No Escape is installed).
    • Prevent Spawning Vehicles While In Combat - Same idea, but for spawning.
    • Prevent Storing Vehicles While Raid-Blocked - Blocks storing while raid-blocked (needs Better No Escape).
    • Prevent Spawning Vehicles While Raid-Blocked - Same, for spawning.
Persistent data is saved in the data/ directory. This includes things like saved settings, usage stats, or player progress depending on the plugin. Deleting a data file will reset stored progress or customizations.

Player Garages - Everyone's saved garages, listed by SteamID.
  • Vehicles - The player's saved vehicles (the list you see in the UI).
Vehicle entry
  • Id - A unique ID we use behind the scenes.
  • Display Name - The name you see in the UI.
  • Prefab Path - The game's internal path so the vehicle can be brought back correctly.
  • Health / Maximum Health - How healthy it was when saved, and its max health at that time.
  • Fuel - How much low grade fuel was in it when saved. This goes straight back into the fuel tank on spawn.
  • Modular Car - Only present for modular cars; stores what modules were on the chassis and their condition.
  • Storage Contents - Items found in the vehicle's storage when saved. On spawn, non-fuel items are put back into its containers.
Item entry
  • Short Name - The game's item short name (e.g., metal.fragments).
  • Custom Name - A custom name if the item had one.
  • Amount - How many.
  • Skin Id - Skin applied to the item, if any.
  • Condition / Maximum Condition - For items that can take damage/durability.
Modular car info
  • Total Sockets - How many module slots the chassis supports.
  • Modules- Each fitted module with:
    • Socket Index - Which slot it starts in.
    • Item Id - The module type (used to put the same module back).
    • Health / Maximum Health - The module's condition when saved.
Language files are located in the lang/ folder. To translate messages, copy the en.json file into your target language folder (e.g. fr, de) and edit the values. Reload the plugin after changes to apply new messages.

These are custom hooks that other plugins can listen for. Simply define a method with the same name and expected parameters in your plugin to handle the event. Hooks are triggered at key moments and are useful for extending or reacting to plugin behavior.


Called before a vehicle is saved into a player's garage.
  • vehicle - The BaseEntity of the vehicle being stored.
  • metadata - A modifiable dictionary where your plugin can store any additional save data as JObject values.
  • owner - The player who is storing the vehicle.
  • vehicleGuid - A unique string id for this saved vehicle entry.
This hook allows you to attach custom metadata related to additional objects or customizations your plugin has added to the vehicle, such as:
  • Storage boxes attached to a vehicle
  • Auto turrets mounted on modular cars or minicopters
  • Code locks or key locks
  • Sirens or alarms
  • Wooden signs with custom images
Each plugin should use a unique key (e.g. its name) in the metadata dictionary to avoid conflicts. The metadata you store here will be passed back to you during the OnVirtualGarageRestoreAttachments hook when the vehicle is respawned.



Called after a vehicle is spawned back from the garage.
  • vehicle - The BaseEntity that was just spawned from garage data.
  • metadata - The metadata dictionary previously stored during the save phase.
  • owner - The player who requested the vehicle spawn.
  • vehicleGuid - The unique string id for this vehicle in the stored data.
Use this hook to read the previously saved metadata and reapply any attached objects or plugin-specific behavior back onto the vehicle.


This example shows how the Vehicle License Plate plugin uses both hooks to save and restore attached license plate signs when vehicles are stored or spawned from Virtual Garage.
Author
Just4Free
First release
Last update

Ratings

5.00 star(s) 1 ratings

Latest Reviews

As always, thanks bunches J4F!!!!
Back
Top