301 releases · 35 resources

Changelog

What changed in every Oxide Studios resource, release by release. Read these before you update: migration steps and database changes are listed with each version.

Showing 151–175 of 301 releases

Oxide Newspaperv1.1.0

Minor

Added

  • Cancel Current Task: while on a route, cancel it from the shift menu or by targeting the delivery bike — a confirmation prompt appears, the route is forfeited, and you stay clocked in with your bike. Houses already delivered still pay at clock-out
  • Config.Cancel.cooldownSeconds in shared/config/job.lua (default 60) — how long a player waits before requesting a new route after cancelling. The wait is tied to the character, so relogging doesn't skip it; set 0 to disable

Changed

  • /newspaperbuilder and its location export now use the standard admin permission — the old admin.newspaperjob permission is no longer needed, and standard QBCore/QBX/ESX admins pass automatically (the chat hint no longer names the old permission)
  • Docs: the cancel feature is documented; depot configuration now has a field-by-field guide and an "adding another depot" walkthrough; new troubleshooting entries for stuck routes and the cancel cooldown; corrected the builder permission docs, o-link module list, and shipped depot/zone counts

Oxide Policev1.6.0

Minor

Added

  • Department bosses can set up their own department. A new Config.AllowBossSetup setting in shared/config.lua (off by default) lets a department boss open the admin panel (/padmin) without server admin permission. The boss sees only their own department and can manage its stations and interaction points, garages, doors, CCTV cameras, speed cameras, and jail policy. They can never create, delete, or rename a department, touch a treasury, or reach the server-wide sections (revive point, prisoner jobs, prison shop) — those stay admin-only, and everything a boss changes is enforced server-side and written to the log.
  • Officers can adjust jail time when booking. Both the MDT Charges tab and the in-station booking panel now have an editable sentence field, for time served or a plea agreement. The criminal record keeps the catalog values — only the served sentence changes, and every adjustment is logged with the officer and shown as "adjusted" in the department activity feed. On by default via Config.MDT.allowJailOverride in shared/config/mdt.lua; restrict it to higher ranks with permissions.overrideJail, and cap it with limits.maxJailPerCall. Set allowJailOverride = false to remove the field.
  • Charge catalog import and export (CSV). The MDT's charge catalog editor now has Export and Import buttons. Export copies the whole catalog as CSV to back up or move between servers; Import accepts a pasted or uploaded CSV (columns: code, title, category, description, fine_amount, jail_time) with a preview of what will be added, updated, or skipped before anything is written. Rows with an existing code update that charge. The import limit is configurable (limits.maxImportRows in shared/config/mdt.lua, default 500).
  • Individual MDT tabs can be turned off. A new Config.MDT.modules table in shared/config/mdt.lua lets you hide any MDT tab (warrants, BOLOs, videos, fines, etc.) for every officer. A hidden tab disappears from the navigation and its server functions are refused too, so it can't be reached by other means. Everything defaults to on — leaving the config alone changes nothing.
  • Spent casings can carry the firing weapon's serial number. With Config.Evidence.includeWeaponSerial in shared/config/evidence.lua (on by default), a casing records the serial of the gun that fired it — read server-side from a weapon the shooter is actually carrying, so a modified game client cannot fake or hide it. When that serial matches a firearm in the weapon registry, the evidence lab shows who the gun is registered to. Turn it off if your server doesn't use weapon registration.
  • Evidence lockers can seal when a case closes. With Config.Evidence.locker.sealOnCaseClose in shared/config/evidence.lua (off by default), closing a case seals its evidence locker: contents stay listed for reference, but nothing can be added or removed until the case is reopened. Admins can permanently empty a sealed locker with the new /purgeevidence <case number> command — the destroyed contents are written to the log first.
  • Other jobs can work on wheel clamps. A new externalJobs table in shared/config/field_tools.lua lets you allow non-police jobs (for example mechanics) to remove — and optionally fit — wheel clamps, with per-job "must be on duty" and "may also apply" switches. Allowed jobs get target options on clamped vehicles plus a fallback /removeclamp chat command (rename or disable it with externalCommand). Removal by these jobs never hands over the clamp item — that stays police equipment. Empty by default, so clamps remain police-only unless you add jobs.
  • Kneeling surrender pose. Holding the hands-up key now drops the player into a kneeling surrender instead of the standing pose; a tap still gives the standing pose. On by default; tune or disable it with the new KneelEnabled, HoldThreshold, and KneelSticky settings under Config.HandsUp in shared/config/interactions.lua.

Fixed

  • Forensic details are no longer readable by game clients. The information attached to dropped evidence — whose DNA is on it, whose fingerprints, weapon serials — was synced to every player's game client, where cheat software could read it off the map. Clients now only receive what they need to draw the evidence marker (position and type); the forensic details stay on the server until evidence is properly collected.

Notes

  • No database changes — existing servers update in place.
  • The new settings live in shared/config.lua, shared/config/mdt.lua, shared/config/evidence.lua, shared/config/field_tools.lua, and shared/config/interactions.lua. If you use customized copies of those files, copy the additions over to get them — fresh installs already include them.

Oxide Methv1.4.0

Minor

Added

  • Police alerts — cooking, breaking, bagging and drying can now tip off police with a configurable chance. Ships disabled; enable it in the new Dispatch section of /meth settings (or Config.Dispatch in shared/config.lua). Set one master chance or override per stage, with a per-site cooldown so one lab doesn't spam calls. Works with oxide-dispatch or any dispatch resource o-link supports; with no dispatch resource installed, online officers still get a notification and a map blip. Alerts use the equipment's real location.
  • Placement zone modes — new Config.ZoneMode chooses how placement zones work: blacklist (the previous behavior — block placement inside drawn zones, still the default), whitelist (allow placement only inside drawn zones), or off. The settings menu's Safe Zones section is now Placement Zones, with Zone mode, Blocked areas and Allowed areas. Careful: whitelist mode with no allowed areas drawn blocks placement everywhere — the menu warns you when that's the case.
  • Item usage whitelist — restrict any usable item in the resource (tables, crystallizer, gas mask, bagged meth, the manual) to specific jobs or gangs, with optional minimum rank and on-duty requirements. Ships empty (nothing restricted); edit it in the new Usage Whitelist section of /meth settings or Config.UsageWhitelist in shared/config.lua.
  • "Explosion on overheat" toggle — new option in the Cooking section (Config.Cooking.explosionOnOverheat). Turned off, hitting 100°C still ruins the batch and eats the ingredients, but nothing blows up. Default is on (unchanged behavior).
  • Bystanders now see the work — players cooking, breaking, bagging or managing drying trays play a working animation that nearby players can see, instead of standing frozen (Config.SceneAnims in shared/config.lua; each animation can be turned off).

Changed

  • Placement zones now store a named vertical band (minZ/maxZ). Old config files and previously saved zones are converted automatically — nothing to edit.
  • The zone editor in the settings menu was rebuilt: collapsible per-zone cards with Rename, Redraw, Teleport and Remove, and re-editing a zone opens at its stored heights.

Fixed

  • Emptying a list in the settings menu no longer breaks the editor.

Documentation

  • New Police Alerts sections in docs/ADMIN.md, docs/CONFIGURATION.md and docs/FEATURES.md; Placement Zones and the Usage Whitelist documented throughout; docs/TROUBLESHOOTING.md adds "Police alerts never fire" and "Police alerts fire too often".

Migration Guide

  • No SQL to run. Old zone shapes are read automatically and rewritten on your next settings save.
  • Police alerts and the usage whitelist ship disabled/empty — nothing changes until you turn them on in /meth settings.
  • Restart the server once after updating (new files and a rebuilt UI), not just a live resource refresh.

Oxide Weedv1.4.0

Minor

Added

  • Police alerts — planting, harvesting, drying and brick pressing can now tip off police with a configurable chance (wild plants never alert). Ships disabled; enable it in the new Dispatch section of /weed settings (or Config.Dispatch in shared/config.lua). Set one master chance or override per stage, with a per-site cooldown so one grow doesn't spam calls. Works with oxide-dispatch or any dispatch resource o-link supports; with no dispatch resource installed, online officers still get a notification and a map blip. Alerts use the plant or table's real location, and the default message deliberately doesn't name the drug.
  • Placement zone modes — new Config.ZoneMode chooses how placement zones work: blacklist (the previous behavior — block planting and placement inside drawn zones, still the default), whitelist (allow planting and placement only inside drawn zones), or off. The settings menu's Safe Zones section is now Placement Zones, with Zone mode, Blocked areas and Allowed areas. Careful: whitelist mode with no allowed areas drawn blocks placement everywhere — the menu warns you when that's the case.
  • Item usage whitelist — restrict any usable item in the resource (seeds, equipment, watering can, scissors, rolling items, joints and blunts, lamps, heaters, the manual) to specific jobs or gangs, with optional minimum rank and on-duty requirements. Ships empty (nothing restricted); edit it in the new Usage Whitelist section of /weed settings or Config.UsageWhitelist in shared/config.lua.
  • Bystanders now see the work — players at the brick press, drying rack, freeze dryer or crossbreeding station play a working animation that nearby players can see, instead of standing frozen (Config.SceneAnims in shared/config.lua; each animation can be turned off).
  • Item browser in the settings menu — item fields (yields, store stock, seeds, recipes and more) now have a browse button that opens a searchable catalog of your framework's items, with icons, instead of typing item names by hand.

Changed

  • Wild plant zones and placement zones now store a named vertical band (minZ/maxZ) instead of a thickness value. Old config files and previously saved zones are converted automatically — nothing to edit.
  • The zone editor in the settings menu was rebuilt: collapsible per-zone cards with Rename, Redraw, Teleport and Remove, and re-editing a zone opens at its stored heights.

Fixed

  • Placing the store or scientist NPC with the settings menu's Place button stored the position too low, sinking the NPC into the ground — placed NPCs now stand at the right height.
  • Emptying a list in the settings menu no longer breaks the editor.

Documentation

  • New Police Alerts sections in docs/ADMIN.md, docs/CONFIGURATION.md and docs/FEATURES.md; Placement Zones and the Usage Whitelist documented throughout; docs/TROUBLESHOOTING.md adds "Nothing can be planted or placed anywhere", "A player can't use an item they're holding", "Police alerts never fire" and "Police alerts fire too often". Spanish locale updated alongside English.

Migration Guide

  • No SQL to run. Old zone shapes are read automatically and rewritten on your next settings save.
  • Police alerts and the usage whitelist ship disabled/empty — nothing changes until you turn them on in /weed settings.
  • Restart the server once after updating (new files and a rebuilt UI), not just a live resource refresh.

Oxide Cocainev1.2.0

Minor

Added

  • Police alerts — stomping, cooking, brick pressing and packaging can now tip off police with a configurable chance. Ships disabled; enable it in the new Dispatch section of /cocaine settings (or Config.Dispatch in shared/config.lua). Set one master chance or override per stage, with a per-site cooldown so one lab doesn't spam calls. Works with oxide-dispatch or any dispatch resource o-link supports; with no dispatch resource installed, online officers still get a notification and a map blip. Alerts use the station's real location, and the default message deliberately doesn't name the drug.
  • Placement zone modes — new Config.ZoneMode chooses how placement zones work: blacklist (the previous behavior — block placement inside drawn zones, still the default), whitelist (allow placement only inside drawn zones), or off. The settings menu's Safe Zones section is now Placement Zones, with Zone mode, Blocked areas and Allowed areas. Careful: whitelist mode with no allowed areas drawn blocks placement everywhere — the menu warns you when that's the case.
  • Item usage whitelist — restrict any usable item in the resource (station kits, bagged product, crack, the manual) to specific jobs or gangs, with optional minimum rank and on-duty requirements. Ships empty (nothing restricted); edit it in the new Usage Whitelist section of /cocaine settings or Config.UsageWhitelist in shared/config.lua.
  • Bystanders now see the work — other players watching a stomp now see the leaf pile change and the alkali/water pours, a running brick press animates for everyone nearby, and players at the stove or packaging table play a working animation instead of standing frozen (Config.SceneAnims in shared/config.lua; each animation can be turned off).
  • Item browser in the settings menu — item fields now have a browse button that opens a searchable catalog of your framework's items, with icons, instead of typing item names by hand.

Changed

  • Wild coca zones now store a named vertical band (minZ/maxZ) instead of a thickness value. Old config files and previously saved zones are converted automatically — nothing to edit.
  • The zone editor in the settings menu was rebuilt: collapsible per-zone cards with Rename, Redraw, Teleport and Remove, and re-editing a zone opens at its stored heights.

Fixed

  • Emptying a list in the settings menu no longer breaks the editor.

Documentation

  • New Police Alerts sections in docs/ADMIN.md, docs/CONFIGURATION.md and docs/FEATURES.md; Placement Zones and the Usage Whitelist documented throughout; docs/TROUBLESHOOTING.md adds "Police alerts never fire" and "Police alerts fire too often".

Migration Guide

  • No SQL to run. Old zone shapes are read automatically and rewritten on your next settings save.
  • Police alerts and the usage whitelist ship disabled/empty — nothing changes until you turn them on in /cocaine settings.
  • Restart the server once after updating (new files and a rebuilt UI), not just a live resource refresh.

Oxide Blackmarketv1.7.0

Minor

Added

  • Reserve a tier for certain jobs or gangs - every reputation tier now has an optional job list and gang list (Config.Tiers), so part of a dealer's stock can be sold only to the groups you name. Reputation is still required; the lists are an extra condition on top of it.
  • Filling both lists lets in anyone holding a listed job or a listed gang. Leaving both empty (the default) keeps a tier open to everyone, so existing setups are unchanged.
  • Restricting one tier hides only that tier's items - the tiers above it stay available to players who qualify for them.
  • Both lists are editable live in /blackmarket settings under Reputation (Advanced tab) - changes apply the next time a player opens a dealer, no restart needed.
  • Gang lists have no effect on ESX, which has no gang system - use the job list there instead.

Fixed

  • Emptying a list in the settings menu no longer breaks it - after clearing every entry from a list and saving, reopening the menu left that list unable to accept new entries until a restart. This affected text lists (such as the police job list) and placed-point lists (dealer spawn points, arrest drop-offs) - on the latter it also blocked placing new points back in the world.

Oxide Policev1.5.1

Patch

Fixed

  • Bodycam recordings now work on servers installed from the release package. The bodycam's video renderer was loaded from a folder that isn't included in the download, so recordings could silently produce no video. The renderer now ships inside the app bundle.

Oxide Shopsv1.0.1

Patch

Fixed

  • The admin panel map (/shop admin) was stuck on "Loading map…" unless oxide-vending was also installed on the server. The map images now ship inside oxide-shops, so the map works on its own.
  • Mask shop catalog previews showed blank images on servers installed from the release package; the image files are now included and load correctly.

Oxide Cocainev1.1.1

Patch

Fixed

  • Harvesting a wild coca bush no longer fails silently — players now get a clear message when a bush can't be harvested or they moved too far from it (two new strings in locales/en.json for translators)
  • Bushes on sloped terrain could refuse to harvest even when standing right next to them; distance is now checked horizontally, so hillside bushes work
  • Harvesting bushes back-to-back was blocked by an overly long anti-spam window — starting a harvest is now limited to once per 2 seconds instead of 5
  • Saving wild coca zone settings twice in quick succession could leave players seeing bushes in their old spots; clients now automatically re-fetch the new positions

Oxide Dispatchv1.4.0

Minor

Added

  • The AI radio dispatcher can now run in languages other than English. A new Config.AIDispatch.Chained.STT.Language setting in shared/config/ai_dispatch.lua tells the speech-to-text stage which language your officers speak over the radio — set it to a two-letter code like 'es' (Spanish), 'fr' (French), 'de' (German), 'pt' (Portuguese), or 'ja' (Japanese); roughly 57 languages are supported. To make the dispatcher reply in your language, also translate the system prompt in shared/config/ai_dispatch_prompt.lua (or add an instruction like "Always respond in Spanish"). The reply voice needs no configuration — it speaks whatever language the AI's reply is written in. A full walkthrough lives in the new "Language support" section of docs/AI_DISPATCH.md.

Notes

  • Existing servers can update in place — no SQL changes required for the 1.4.0 release.
  • Config.AIDispatch.Chained.STT.Language only applies to chained mode — Realtime mode detects the spoken language automatically and needs no setting.
  • The new setting won't exist in your current shared/config/ai_dispatch.lua. Leaving it out keeps current behavior — the dispatcher listens for English exactly as before.

Oxide Methv1.3.0

Minor

Added

  • Live in-game settings editor — /meth settings — every setting now lives in the database and is editable in-game by admins. Changes save instantly and apply to all players live, with no restart. Values are checked before saving and bad ones are rejected with a reason. Sections cover everything: general, safe zones, equipment, items & stages, cooking, drying, breaking, bagging, additives, variants & purity, progression, usage & effects, gas mask & fumes, and animations. Edited equipment props respawn live; equipment mid-minigame is left alone and updates when the player finishes.
  • Safe zones drawn in-world with a fly-around polygon tool. Requires an up-to-date o-link; the menu tells you if yours is too old.
  • New server exports GetSetting(key) and SetSetting(key, value) for other resources — see docs/EXPORTS.md.
  • All database tables are now created automatically on first start — fresh installs no longer run any SQL. sql/install.sql stays in the download for reference.

Changed

  • Config files are now factory defaults. On the first start after updating, everything in shared/config.lua and shared/config/*.lua — including your customizations — is imported into the database automatically. From then on the database is the source of truth: editing the config files does nothing on an existing install. The files still seed fresh installs, supply defaults for settings added by future updates, and back the per-setting "Reset to default" button.
  • Commands renamed to /meth <subcommand> — /methstats → /meth stats, /methkit → /meth kit, /meth_sellkit → /meth sellkit, /setmethlvl → /meth setlevel, plus the new /meth settings. The old names no longer exist. Typing /meth alone lists the subcommands, and feedback messages are now localized.
  • Shrinking the drying tray capacity in settings is blocked while a higher tray slot is in use, so nobody's drying meth can be orphaned.

Documentation

  • All docs rewritten around the settings editor: docs/CONFIGURATION.md explains the database-backed model and how to reset to defaults, docs/INSTALLATION.md drops the SQL step, docs/ADMIN.md walks through the editor and safe-zone drawing, docs/TROUBLESHOOTING.md covers "I changed a setting in config.lua and nothing happened" and "the settings panel won't open", and docs/EXPORTS.md documents the new exports.

Migration Guide

  • No SQL to run. On the first start after updating, the oxide_settings table is created automatically and your existing config values — customizations included — are imported into it.
  • From then on, change settings with /meth settings in-game; config file edits no longer apply on an existing install.
  • Update o-link to the latest version to enable in-world safe-zone drawing. Everything else works on an older o-link; the menu just shows a notice.

Oxide Weedv1.3.0

Minor

Added

  • Live in-game settings editor — /weed settings — every setting now lives in the database and is editable in-game by admins. Changes save instantly and apply to all players live, with no restart. Values are checked before saving and bad ones are rejected with a reason. 17 sections cover everything: general, dirty money, plant care, plants, strains, genetics, progression, equipment, drying, drying rack, freeze dryer, store, scientist, wild plants, safe zones, lamps and smoking. Editing the store or scientist moves the NPC on the spot; editing wild plants regrows them against the new zones.
  • In-world editing — wild plant zones and safe zones are drawn with a fly-around polygon tool, and coordinate settings get a Place button. Requires an up-to-date o-link; the menu tells you if yours is too old.
  • New server exports GetSetting(key) and SetSetting(key, value) for other resources — see docs/EXPORTS.md.
  • All 8 database tables are now created automatically on first start — fresh installs no longer run any SQL. sql/install.sql stays in the download for reference.

Changed

  • Config files are now factory defaults. On the first start after updating, everything in shared/config.lua and shared/config/*.lua — including your customizations — is imported into the database automatically. From then on the database is the source of truth: editing the config files does nothing on an existing install. The files still seed fresh installs, supply defaults for settings added by future updates, and back the per-setting "Reset to default" button.
  • All commands renamed to /weed <subcommand> — /weedstats → /weed stats, /weed_kit → /weed kit, /weed_seeds → /weed seeds, /weed_givebuds → /weed givebuds, /weed_grow → /weed grow, /weed_water → /weed water, /weed_dry → /weed dry, /weed_fasttick → /weed fasttick, /weed_setxp → /weed setxp, /weed_info → /weed info, /weed_sellkit → /weed sellkit, /weed_clearplants → /weed clearplants, /weed_clearlamps → /weed clearlamps, /weed_clearequipment → /weed clearequipment, plus the new /weed settings. The old names no longer exist. Typing /weed alone lists the subcommands.
  • Admin subcommands run in-game only; running one from the server console now prints a message instead of silently doing nothing.
  • Command feedback messages are now localized (English and Spanish included).
  • The /weed fasttick testing speed-up is command-only and can never be accidentally saved as a permanent setting.

Documentation

  • All docs rewritten around the settings editor: docs/CONFIGURATION.md explains the database-backed model and how to reset everything to defaults, docs/INSTALLATION.md drops the SQL step, docs/ADMIN.md documents the /weed command and the editor, and docs/TROUBLESHOOTING.md covers "I edited a config file and nothing changed" and "the settings menu won't open".

Migration Guide

  • No SQL to run. On the first start after updating, the oxide_settings table is created automatically and your existing config values — customizations included — are imported into it.
  • From then on, change settings with /weed settings in-game; config file edits no longer apply on an existing install.
  • Update o-link to the latest version to enable the in-world Place and zone-drawing buttons. Everything else works on an older o-link; the menu just shows a notice.

Oxide Cocainev1.1.0

Minor

Added

  • Live in-game settings editor — /cocaine settings — every setting now lives in the database and is editable in-game by admins. Changes save instantly and apply to all players live, with no restart. Values are checked before saving and bad ones are rejected with a reason. 12 sections cover everything: recipes and amounts, minigame tuning (stomp, cook temperature game, bagging, brick press), cutting agents, extractor timers, wild coca zones and yields, progression, usage effects, station props, safe zones and world labels. Edited stations respawn for everyone live, waiting for any in-progress minigame to finish first; edited wild coca zones regrow the bushes on the spot.
  • Zones drawn in-world — wild coca spawn zones and no-placement zones use a fly-around polygon tool, with a Teleport button on every zone row. Requires an up-to-date o-link; the menu tells you if yours is too old.
  • New server exports GetSetting(key) and SetSetting(key, value) for other resources — see docs/EXPORTS.md.
  • All 5 database tables are now created automatically on first start — fresh installs no longer run any SQL. sql/install.sql stays in the download for reference.

Changed

  • Config files are now factory defaults. On the first start after updating, everything in shared/config.lua and shared/config/*.lua — including your customizations — is imported into the database automatically. From then on the database is the source of truth: editing the config files does nothing on an existing install. The files still seed fresh installs, supply defaults for settings added by future updates, and back the per-setting "Reset to default" button.
  • Commands renamed to /cocaine <subcommand> — /cokestats → /cocaine stats, /cokekit → /cocaine kit, /setcokelvl → /cocaine setlevel, plus the new /cocaine settings. The old names no longer exist. Typing /cocaine alone lists the subcommands.
  • Admin command messages are now localized via locales/en.json (they were hardcoded English).
  • The settings menu refuses to open while you're mid-stomp, mid-cook or mid-bagging, so a station is never changed out from under you.

Documentation

  • All docs rewritten around the settings editor: docs/CONFIGURATION.md explains the database-backed model and reorganizes every setting by menu section, docs/INSTALLATION.md drops the SQL step, docs/ADMIN.md documents the /cocaine command and the editor, docs/TROUBLESHOOTING.md covers "I changed a setting in a config file and nothing happened" and "the settings menu won't open", and docs/EXPORTS.md documents the new exports.

Migration Guide

  • No SQL to run. On the first start after updating, the oxide_settings table is created automatically and your existing config values — customizations included — are imported into it.
  • From then on, change settings with /cocaine settings in-game; config file edits no longer apply on an existing install.
  • Update o-link to the latest version to enable in-world zone drawing. Everything else works on an older o-link; the menu just shows a notice.
  • A full restart of the resource is required once after updating (new files and a rebuilt UI), not just a live refresh.

Oxide Shopsv1.0.0

Major
  • Initial public release of oxide-shops.
  • 61 ready-to-use shops placed at familiar GTA locations out of the box: 22 general stores (24/7 supermarkets, LTD Gasoline, Rob's Liquor, hardware stores), 11 Ammunation gun stores, 15 clothing stores, 7 barbershops, 4 tattoo parlors, 1 pawn shop, and 1 auction house.
  • Retail stores where players buy from a stocked catalog of 28 everyday items (food, drink, tools, medical supplies, equipment), with a configurable sales tax on every purchase (Config.TaxRate, default 5%).
  • Weapon stores stocking 40 firearms, melee weapons, throwables, and body armor, shown with a rotating 3D weapon preview and on-screen weapon stats. Players can register their unregistered firearms for a flat fee (Config.WeaponRegistrationFee, default $500).
  • Pawn shops that buy players' items at dynamic prices which drop as more of an item is sold and recover over time.
  • Barbershops with a seated styling scene, charging per category the customer actually changes: haircut, hair color, facial hair, eyebrows, and eye color.
  • Tattoo parlors with a seated application scene and 10 GTA tattoo collections, with separate apply and removal pricing.
  • Mask shops and clothing stores; clothing pricing is set per slot across 14 outfit and accessory slots.
  • Auction house where players list items or vehicles for timed auctions of 1, 6, 12, or 24 hours, with bidding, instant buyouts, and listing/completion fees. Each player can keep up to 10 active listings. Winners and sellers who are offline when an auction ends receive their items, refunds, and payouts automatically on their next login.
  • Player-owned shops: players can buy a shop and run it as a business — own up to 3 shops (Config.MaxShopsPerPlayer), set their own retail prices, keep a shop balance, deposit and withdraw funds, and restock inventory from a wholesale supplier for profit.
  • Automatic restocking that tops a player-owned store back up to a per-item target from wholesale on a timer (Config.AutoRestock), drawing down the shop's balance until it runs out.
  • Shop resale between players (Config.AllowResale): an owner can list their shop for sale from the management screen; the next player to buy it at the shop takes over ownership, and the seller is paid the sale price minus a fee (Config.ResaleFeePercent), including a payout that waits for them if they are offline.
  • Player-owned service shops (barber, tattoo, mask, clothing) consume supplies as they serve customers — hair_product, tattoo_ink, mask_blank, and fabric — and refuse service when empty until the owner restocks from wholesale. Static (server-run) shops are unlimited.
  • Per-shop access control: restrict any shop to a specific job, a minimum job rank, and on-duty players only, and optionally hide its map blip.
  • /shop admin opens an admin panel to create shops from a template picker, edit and delete them, reclaim a player-owned shop, adjust balances, change prices and stock, place shop peds, blips, and barber/tattoo chairs in the world, and set the camera framing for each tattoo.
  • /shop settings opens a live in-game settings editor. Most configuration is stored in the database and can be changed on the fly without editing files or restarting the server.
  • Works on QBCore, ESX, and QBX (and custom frameworks) through the o-link bridge, with no framework-specific setup.
  • Full localization: every notification and menu label is loaded from locales/en.json — copy it to another language code and translate to localize the resource.
  • Ships its database schema in sql/install.sql (shops, inventory, transaction history, tattoos, and auction tables), created automatically on first start.

Oxide Policev1.5.0

Minor

Added

  • Disabled fleet vehicle groups can now be re-enabled or permanently deleted. In the admin panel's Vehicles screen, disabling a group no longer removes it from the list — it stays dimmed with a "Disabled" badge. Admins can re-enable it, or permanently delete it, which removes every unit from the database and despawns any of that group's vehicles still in the world. Deletion is blocked while any unit is checked out.

Changed

  • The trash button on a vehicle group is now an explicit "Disable". The confirmation dialog explains the group stays in the list and can be re-enabled or deleted forever, replacing the old "This action cannot be undone." wording.
  • The duty toggle moved into the police radial menu. When Config.RequireStationClockIn is off, going on or off duty is now the first item in the police actions menu (default key Config.ActionMenuKey = 'F2') instead of a separate radial entry, and the menu is now titled "Police". Off-duty officers can open the menu to clock in; all other actions still require being on duty.

Notes

  • No database changes — existing servers update in place.

Oxide Dispatchv1.3.5

Patch

Changed

  • The radial menu was consolidated into a single Dispatch wedge for everyone. Civilians see Call 911 / Call 311; responders additionally get a Set Status submenu, Set Callsign, Panic / Backup, and — when Config.DispatchHub.RadialEnabled = true — the Dispatch Hub, all in one place instead of three separate top-level menus. The Call 911 / Call 311 labels are now translatable in locales/en.json.
  • The radialId field in Config.ResponderGroups (shared/config/jobs.lua) is no longer used — all groups share the single Dispatch menu. Configs that still contain it keep working; the field is simply ignored and can be deleted.

Fixed

  • Vehicle plates spoken to AI Dispatch are now cleaned up before use. Speech-to-text spells plates out with spaces ("6 2 j y n 8 0 5"), which could make plate lookups fail and voice-created vehicle BOLOs store unusable plates — plates now have spaces and dashes stripped and are uppercased, and blank plates are rejected.

Notes

  • Existing servers can update in place — no SQL changes required for the 1.3.5 release.

Oxide Weedv1.2.7

Patch

Fixed

  • Players could load in unable to see any placed plants or equipment — if a player's game instance changed after loading (character select screens, instanced interiors), their world data could be built for the wrong instance, leaving plants, lamps, equipment, heaters, racks and freeze dryers invisible until relog. The server now detects the change and refreshes the player automatically, and joining during server boot no longer produces a half-empty world.
  • Smoking stress relief and hunger cost now actually apply — Config.Smoking.needsEffects.stressRelief (CBD strains reduce stress) and hungerCost (THC gives the munchies) were documented but had no effect. They now work on servers with a needs system.

Changed

  • Admin commands now accept standard QBCore/QBX/ESX admins with no server.cfg changes
  • Players in other game instances no longer receive plant and equipment updates from outside their instance
  • Removed the unused sell XP reward from shared/config/progression.lua — selling XP is granted by oxide-drugselling, not here
  • SQL files are now viewable in escrowed builds

Documentation

  • All docs and the README rewritten in plain language, with corrected XP values, notes that the drying rack and brick press must be added to a store via shared/config/store.lua, and framework support stated up front

Oxide Landscapingv1.2.3

Patch

Changed

  • Builder commands now use the standard admin permission — the old admin.landscapingjob permission is no longer needed, and standard QBCore/QBX/ESX admins pass automatically
  • The crew invite dialog now opens through your server's configured input UI instead of always using ox_lib
  • SQL files are now viewable in escrowed builds
  • Admin docs updated to describe the standard admin setup; configuration docs clarified

Fixed

  • Complaint suspension timers could be misread when loaded from the database on newer database library versions; they now count down correctly

Oxide Methv1.2.2

Patch

Fixed

  • Players whose game instance changed after loading (character select screens, instanced interiors) could never see placed labs, equipment or drying trays until relog — the server now detects the change and refreshes them automatically. Joining during server boot no longer produces a half-empty world.

Changed

  • /methkit, /meth_sellkit and /setmethlvl now use the standard admin permission and show a "No permission" message on denial. The recommended setup is add_ace group.admin admin allow (see docs/ADMIN.md); old per-command grants such as command.methkit no longer apply.
  • Equipment placement and removal updates are now only sent to players in the same game instance.

Oxide Roadside Assistancev1.2.0

Minor

Added

  • Flatbed towing mode: Config.Vehicle.mode in shared/config/vehicles.lua selects 'flatbed' (new default) or 'towtruck'. The flatbed is a custom streamed truck with an animated tilting bed and a hands-on winch — lower the bed, carry the hook to the stranded car, attach it, winch it aboard, raise the bed and deliver
  • Flatbed geometry, winch and timing options in the new shared/config/flatbed.lua
  • In-game settings editor: /roadside settings (admin only) opens a live editor covering nearly every option — payments, levels, calls, vehicles, tow yards, breakdown scenes, NPCs, uniforms and more. Changes save to the database, apply immediately for everyone, and every setting can be reset to its config-file default. Coordinates can be placed in-world with a ghost preview (requires an updated o-link)
  • Config.Calls.enabledJobTypes in shared/config/job.lua — restrict dispatch calls to specific job types (fuel, wheel, towing, battery)
  • Config.Calls.deliveredVehicleDespawn — delivered vehicles now fade out smoothly after a configurable delay instead of vanishing
  • Config.StrandedMarker — the stranded-vehicle indicator is now a name card shown while holding H nearby, replacing the always-on floating marker
  • A flatbed-specific tutorial card for the first towing job in flatbed mode
  • THIRDPARTY-LICENSES.md crediting the MIT-licensed flatbed model

Changed

  • Settings now live in the database: on first boot the resource imports your current config values into a new oxide_settings table, which becomes the source of truth from then on. Editing config files afterward only supplies defaults for brand-new options — use /roadside settings for everything else
  • /roadsidetutorials and /roadsidetutorialreset are now /roadside tutorials and /roadside tutorialreset
  • The /roadsidebuilder command and its admin.roadsidejob permission were removed — tow yards and breakdown scenes are now edited live in /roadside settings
  • The work truck is now managed by the server: it survives a crew member crashing or disconnecting, transfers to the crew partner, and is reliably cleaned up on clock-out, respawn, disconnect and resource restart

Fixed

  • Complaint suspension timers could be misread when loaded from the database on newer database library versions; they now count down correctly
  • Job-completion rejections (rate limited, not on shift, too far away) now show an error notification instead of failing silently

Documentation

  • All docs rewritten: new Settings Editor guide in docs/ADMIN.md, new Flatbed, Winch and Stranded Vehicle Marker sections in docs/CONFIGURATION.md, builder sections removed

Migration Guide

  • No SQL to run: the new oxide_settings table is created automatically at boot (sql/install.sql was updated for fresh installs), and your existing customized config values are imported as the starting settings
  • Flatbed mode is the new default. To keep the classic tow truck, set Config.Vehicle.mode = 'towtruck' in shared/config/vehicles.lua before your first boot on this version, or change it afterward in /roadside settings

Oxide Animal Controlv1.1.4

Patch

Changed

  • /animalcontrolbuilder and its export tools now use the standard admin permission — the old admin.animalcontroljob permission is no longer needed, and standard QBCore/QBX/ESX admins pass automatically
  • The crew invite dialog now opens through your server's configured input UI instead of always using ox_lib
  • Added rate limiting to several job update events to protect against spam and abuse
  • Corrected the ammo item note in shared/config/animals.lua: QBCore's pistol ammo item is pistol_ammo, not ammo_pistol
  • Docs updated: admin permission setup corrected, fines and safety zone behavior documented

Removed

  • Removed config entries that had no effect in-game: Config.Vehicle.spawnDistance, Config.SafetyZone.scenarioBlockRadius, and Config.SafetyZone.clearVehiclesRadius

Fixed

  • Complaint suspension timers could be misread when loaded from the database on newer database library versions; they now count down correctly

Oxide GoPostalv1.1.4

Patch

Changed

  • /postalbuilder and its location export now use the standard admin permission — the old admin.postaljob permission is no longer needed, and standard QBCore/QBX/ESX admins pass automatically
  • Admin docs updated to describe the standard two-line admin setup

Fixed

  • Complaint suspension timers could be misread when loaded from the database on newer database library versions; they now count down correctly

Oxide 3D Weapon Printingv1.1.3

Patch

Fixed

  • Players could load in unable to see placed printers, benches and tables - if a player's game instance changed after loading (character select screens, instanced interiors, housing), their world data could be built for the wrong instance, leaving equipment invisible until relog. The server now detects the change and refreshes the player automatically, and joining during server boot no longer produces a half-empty world.
  • 26 printed-part item images renamed to match their item names - images for printed parts were named 3d_<part>.png while the items are named 3d_printed_<part>, so those part icons never displayed. Re-copy the itemimages/ folder into your inventory's image directory; filenames now match item names exactly.

Changed

  • Admin commands use the standard admin permission - all ten admin commands (/printer_kit, /give_parts, /wp_setlevel, etc.) now pass for stock QBCore/QBX/ESX admins and show a "No permission" message on denial instead of silently doing nothing. See the updated Permissions section in docs/ADMIN.md.
  • Instance-scoped updates - players in other game instances no longer receive printer, bench and table placements or in-use updates from outside their instance.
  • Removed the unused Config.Debug key from shared/config.lua - it had no effect since logging moved to the console log output.
  • Documentation corrections - weapon count corrected to 52, the QBCore item snippet in docs/INSTALLATION.md fixed (it was invalid Lua as written), the label toggle key documented as H, XP rewards documented as scaling with part cost, and the admin permission setup rewritten.