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 51–75 of 122 releases

Oxide Animal Controlv1.4.0

Minor

Added

  • Dedicated tranquilizer darts. The dart gun now uses its own ammo_dart item and its own ammo type instead of pistol ammo, and it does no health damage. An item image ships in itemimages/ammo_dart.png. You must register the new item before updating; see the Migration Guide.
  • Tranquilize players setting (Config.Tranquilizer.playerEffects). This used to be always on. It's now off by default and only works for officers on shift.
  • The incoming call pop-up now shows the animal, the street, and an icon for the call type.

Changed

  • Extra dart packs are now paid from pay already earned this shift. If earnings don't cover the price, the purchase is refused. The first pack is still free.
  • When a shift ends for any reason, the dart gun and any unused job darts are taken back.
  • Destroying the truck now ends the shift for both crew members, with the fine and complaint. Before, they stayed on shift with no truck and no new calls.
  • Config.Crew.maxSize now works: set it to 1 for solo-only shifts. Crews are pairs, so saved values above 2 are lowered to 2.
  • Players can't clock in while dead or downed, or while the dart gun or dart item is missing from your inventory's item list. They get an equipment error instead of half a kit.
  • The dart gun, gun item and dart item can't be changed in /animalcontrol settings while anyone is on shift.
  • The server now checks every step of a call (darting, capturing, loading and delivery). A call completes only once the animal is loaded and the truck is at the drop-off.

Removed

  • Config.AnimalLoading.loadDuration and Config.AnimalLoading.unloadDuration: they had no effect. Loading and unloading times are set by Config.LoadAnimation.duration and Config.UnloadAnimation.duration.

Fixed

  • Killing the call's animal went unnoticed. The call now ends with the kill fine (Config.Complaints.animalKillFine) and a complaint.
  • Dying on shift went unnoticed. The shift now ends, earned pay is paid out and the death complaint is filed. On QBCore and QBX, being downed counts too.
  • Reaching the complaint limit mid-shift left the officer on shift with no clock-out option. The shift now ends and earned pay is paid out before the suspension starts.
  • Being auto clocked out for missed calls left the player with the dart gun and the work uniform.
  • When one crew member clocked out mid-call, the animal, bait and reporting civilian could be deleted, leaving the partner with a call they couldn't finish. The partner now keeps the scene, including remains or bait the other officer was holding.
  • Darted animals are no longer dropped to 1 health while sedated, so a small knock can't kill them.
  • A truck that disappears (for example, removed by a cleanup script) now ends the shift without the destruction fine or complaint.
  • An unanswered crew invite no longer blocks that player from being invited again after it expires.
  • Cancelling the body-bag load no longer makes the bag vanish from your hands.
  • The default event list shipped an aggressive-animal call at the map origin (0, 0, 0). It's removed. Dispatch now skips any event with no animal, an invalid call type or a (0, 0, 0) location, and logs a console warning. The settings editor won't save such events.
  • These settings had no effect and now work: Config.Stealth.fallbackSpookChance, Config.AnimalLoading.loadRange, Config.BaitPlaceAnimation, Config.ReportingNPC.farScenario and animationDistance, and each animal's health and name in Config.Animals. The reporting civilian now cycles through all of Config.ReportingNPC.animations, not just the first.
  • The shift menu shows your partner's name instead of always saying "Solo", and the level progress bar measures progress toward the next level correctly.
  • Switched-off settings no longer turn themselves back on after a restart.
  • If the database returned nothing at startup, saved settings could be overwritten with the config file defaults. Startup now only adds settings that are missing.
  • Decimal settings no longer show rounding noise like 0.90000000000009 in the editor.
  • Tutorial text now says missed calls lead to automatic clock-out; they don't add complaints.

Documentation

  • docs/INSTALLATION.md: dart setup for QBCore and ox_inventory, and a new "Updating an existing installation" section.
  • docs/CONFIGURATION.md: new "How Settings Work" section. Office and event changes now point to /animalcontrol settings, and the tranquilizer, crew and loading tables are updated.
  • docs/ADMIN.md, docs/FEATURES.md, docs/TROUBLESHOOTING.md: updated for in-game settings and the new dart, crew, complaint and truck behavior.

Migration Guide

  • No SQL to run.
  • Before starting this version, register ammo_dart and switch the dart gun to the new dart ammo, following "Updating an existing installation" in docs/INSTALLATION.md. Until you do, nobody can clock in.
    • QBCore: add ammo_dart to qb-core/shared/items.lua. Change weapon_g2's ammotype to AMMO_ANIMALCONTROL_DART in qb-core/shared/weapons.lua and qb-core/shared/items.lua. Add the ammo_dart entry to Config.AmmoTypes and the Config.WeaponRepairCosts.animalcontrol line to qb-weapons/config.lua.
    • ESX / QBX (ox_inventory): set ammoname = 'ammo_dart' on WEAPON_G2, and add ammo_dart to the Ammo table in ox_inventory/data/weapons.lua.
    • Copy itemimages/ammo_dart.png into your inventory's image folder.
  • Fully restart the server and have players reconnect, because the gun's weapon data changed.
  • A saved ammo item of ammo_pistol, pistol_ammo or ammo-9 switches to ammo_dart automatically on first start. A custom tranquilizer weapon needs its own ammo type and dart item.
  • If your saved event list still has the old call at (0, 0, 0), dispatch now skips it. Remove it or move it in /animalcontrol settings.

Oxide EMSv1.1.0

Minor

Added

  • The boss menu can open inside the optional oxide-tablet resource as an "EMS Command" app. When that resource is running, department bosses get a tile that opens the same management desktop from anywhere, and the boss point at the facility keeps working. Without it, nothing changes. Turn it off under Boss menu → Host in oxide-tablet in /ems settings; the first-start default lives in the new shared/config/boss.lua.
  • New locale key tablet.boss_app_label in locales/en.json.

Fixed

  • Settings saved in /ems settings no longer revert to the shipped defaults after a restart when the startup read of oxide_settings comes back empty (a restored or blank database, or a renamed resource folder). Startup now only fills in missing values and never overwrites a saved one.
  • Decimal settings no longer show up as 0.90000000000009 in /ems settings after a round trip through the database; values are snapped to ten significant digits when loaded and saved.

Documentation

  • The hospital:server:emergencyAlert / ambulanceAlert and hospital:client:CheckStatus / TreatWounds / RevivePlayer compatibility events are QBCore and Qbox only. docs/EXPORTS.md and docs/FEATURES.md now say so, and the ESX guide no longer lists them.
  • docs/CONFIGURATION.md covers the new boss-menu setting.

Oxide Medicalv1.1.0

Minor

Added

  • Hypothermia. With a weather resource that reports temperature and cover through o-link, players left out in the cold long enough start shivering and pick up a hypothermia sickness, which clears on its own once they have been warm for a while. Off by default: turn on Enabled in shared/config/weather.lua, where ColdTemperature, HypothermiaSeconds and RecoverySeconds set the threshold, how long it takes to set in and how long recovery takes. Without a weather resource that reports through the bridge, turning it on does nothing.
  • That WeatherIntegration tuning is this resource's first database-backed setting. It is seeded into oxide_settings from shared/config/weather.lua on first start (the table is created automatically) and read from the database from then on; change it with the SetSetting export rather than by editing the file.

Changed

  • Rain exposure now asks your weather resource through o-link whether it is raining and whether the player is under cover, and falls back to the game's own weather and interior check when nothing answers. No weather resource is required and the fallback behaves as before; rainWeather in shared/config.lua applies to the fallback only.

Fixed

  • A fracture's limp no longer vanishes after a jump, a fall, a ragdoll, climbing, vaulting or getting into a vehicle, and it returns within a second when another script resets the walk style. The limp is what stops an injured player sprinting, so one jump used to remove the penalty for the rest of the injury.

Documentation

  • The rain section in docs/FEATURES.md and the rainWeather row in docs/CONFIGURATION.md describe the bridge-first behaviour, and both files now cover hypothermia and the WeatherIntegration setting.

Oxide Shopsv1.1.0

Minor

Added

  • Weapon shops can now require a firearms license before a player is allowed to buy. Turn on Require a weapon license in /shop settings under Weapon Shop. It is off by default, so nothing changes until you enable it. License type sets which license is checked and defaults to weapon — the one QBCore and QBX already track. On ESX it has to match a type in your user_licenses table. If your framework has no license system at all, sales go through as before and a warning appears in your server console.
  • Groundwork for the upcoming Oxide tablet: a Shop Manager tile, an Auction House tile, a My Shops home-screen widget listing each shop you own with its till, and optional notifications for sales, low stock and auction results. The tablet has not been released yet, so none of this is active. Until it is, shop management and the auction house open at the shop exactly as they always have, and nothing on your server changes.
  • The matching Tablet settings appear in /shop settings so they are ready when the tablet arrives — Tablet apps, Allow remote withdraw/deposit, Tablet notifications, Low stock warning at and Remote session timeout. They have no effect until then. Remote Withdraw and Deposit will ship off by default: moving the till is the one shop action that puts cash straight into a player's pocket, so it stays at the shop counter unless you decide otherwise.

Documentation

  • docs/CONFIGURATION.md: new Tablet section covering all five settings and why remote cash actions ship off.

Oxide Blackmarketv1.9.0

Minor

Added

  • Gang standing at the black market - two new settings under the new Gangs section of /blackmarket settings, both needing the oxide-gangs territory system installed (they're ignored otherwise).
  • Config.GangTurfRepMultiplier (default 1.5) multiplies the reputation earned when you sell to a dealer standing in territory your own gang owns. Set it to 1.0 to turn the bonus off.
  • Config.GangReportInfluence (default on) makes black market sales count toward your gang's influence in that territory, the same way street drug sales do. The gang system's own anti-farm limits still apply.

Fixed

  • Settings you switched off in /blackmarket settings reverted to their file defaults on every restart. Saved off-toggles now stick.

Oxide Methv1.6.0

Minor

Added

  • Gang territory affects your lab — a cook run inside a gang territory uses that territory's yield modifier for how much product comes out, and crystallizers use its growth modifier for how fast trays dry. Needs the oxide-gangs territory system; modifiers are set per territory in oxide-gangs/shared/config/territories.lua. Without it (or outside any territory) nothing changes.
  • A cook never returns nothing: even on a territory with a below-1.0 yield modifier you always get at least one unit for your ingredients.

Fixed

  • Settings you switched off in /meth settings reverted to their file defaults on every restart. Saved off-toggles now stick.

Oxide Vendingv1.6.0

Minor

Added

  • Nine new server exports for integrators: GetTotalWarehouseItems, GetWarehouseByBucket, PurchaseWarehouse, UpdateWarehouseCode, ValidateAccessCode, CreatePickupBox, GetPickupBoxesByBusiness, GetPickupBox, and GetNPCSalesStats. See docs/EXPORTS.md.

Fixed

  • Admin commands work for your existing admins again. All twelve /vending* commands were gated behind a per-command permission most servers never set up, so admins got no response at all. They now use the standard admin check — if you already have QBCore, QBX or ESX admins, they pass with no extra setup, and a non-admin who tries one gets a clear "no permission" message instead of silence.
  • The vending radial menu no longer depends on a specific menu resource, so the Dashboard / My Machines / Employees / Place Machine entries appear on more server setups.
  • /vendingdebug daily compared local dates against UTC-stored records, so its "today" and "yesterday" readouts could be a day off. Both now use UTC.
  • The startup warning for missing progression tables pointed at sql/progression.sql, which doesn't exist — it now names sql/install.sql.

Documentation

  • Rewrote all seven guides (ADMIN.md, CONFIGURATION.md, FEATURES.md, INSTALLATION.md, NPC_SALES.md, PROGRESSION.md, TROUBLESHOOTING.md) in plain language, with the admin permission setup spelled out line by line in docs/ADMIN.md.

Migration Guide

  • No SQL to run. Restart the server once after updating.
  • If you previously added per-command permission entries to server.cfg to make /vending* work, you can remove them — they're no longer used. Admins now just need add_principal identifier.license:<their-license> group.admin and add_ace group.admin admin allow.

Oxide Weedv1.5.0

Minor

Added

  • Gang territory affects your grow — plants growing inside a gang territory use that territory's yield and growth modifiers, so a good patch of turf grows faster and harvests bigger. Needs the oxide-gangs territory system; modifiers are set per territory in oxide-gangs/shared/config/territories.lua. Without it (or outside any territory) nothing changes.
  • The plant menu's time-remaining readout accounts for the territory speed bonus, so it matches what you actually see on the plant.

Fixed

  • Settings you switched off in /weed settings reverted to their file defaults on every restart. Saved off-toggles now stick.

Oxide Cocainev1.3.0

Minor

Added

  • Gang territory affects production — every production stage inside a gang territory uses that territory's yield modifier for its output, extractors use its growth modifier for soak time, and wild coca plants there regrow faster by the same modifier. Needs the oxide-gangs territory system; modifiers are set per territory in oxide-gangs/shared/config/territories.lua. Without it (or outside any territory) nothing changes.
  • A stage never returns nothing: even on a territory with a below-1.0 yield modifier you always get at least one unit for your inputs.

Fixed

  • Settings you switched off in /cocaine settings reverted to their file defaults on every restart. Saved off-toggles now stick.

Oxide Drugsellingv1.2.0

Minor

Added

  • Gang territory affects street sales — selling inside a gang territory applies that territory's price modifier to what the buyer pays, and its buyerDensity modifier to how often buyers refuse outright. Needs the oxide-gangs territory system; modifiers are set per territory in oxide-gangs/shared/config/territories.lua. Without it (or outside any territory) nothing changes.
  • Sales feed your gang's influence in the territory you sold in, so working a corner builds standing there. The gang system's own anti-farm limits apply.
  • The price the player is shown on a completed sale is the price actually paid, including any territory bonus.

Oxide Radiov1.1.0

Minor

Added

  • Gang radio channels — restricted frequencies can now be reserved for gangs as well as jobs. Every entry in the Restricted channels list gains a Gangs field alongside Jobs; a player gets in through a listed job or a listed gang. Gang names are matched without case sensitivity, unlike job names.
  • Min rank gates by gang rank when access came through a gang, and Duty only never applies to gang access (gangs have no duty concept).
  • Players are auto-tuned to a gang default channel when they join a gang, the same way jobs auto-tune at clock-on.
  • The channel browser and one-tap channel list show gang channels to gang members only, so nobody sees a rival's traffic.

Fixed

  • Auto-tune at clock-on gave up entirely if the lowest default channel refused the join (for example a duty-only channel while off duty). It now tries each default channel you qualify for, lowest first.
  • Being blocked from a restricted channel reported "restricted" even when the real reason was your rank or being off duty. The message now names the actual reason.

Oxide Policev1.9.0

Minor

Added

  • Fleet vehicles can carry equipment in the trunk. Each vehicle in /police admin → Fleet → Vehicles now has a Trunk Loadout — a list of items with a count and a price, sitting next to the radar and megaphone toggles, so every department equips its own cars. The equipment is loaded into the vehicle when the unit is bought and then stays with it: officers take what they need and put things back. Nothing is handed out at checkout, so there is no way to farm equipment by taking a car in and out. When a car comes back short, press Refill on the vehicle row — the department treasury is charged only for what is actually missing, at the prices you set, so a crew that loses its gear costs the department money instead of getting a free replacement set. Saving a loadout stocks the cars straight away, and if the treasury cannot cover it the save still succeeds and tells you the cost and the balance. Every unit of a vehicle shares its loadout, and units added later inherit it.
  • Departments can issue their own licence plates. In /police settings → Fleet → Fleet plate formats, give each department a plate style — LSP#### produces plates like LSP4821 — so a unit reads as LSPD or BCSO at a glance instead of getting a random 8-character plate. Use # for a digit, @ for a letter and ? for either; everything else appears as typed. The editor shows a live example of each format and refuses anything the game cannot display. Plates already in service are never rewritten, because reports, BOLOs, evidence and impound records refer to them — only vehicles created after you set a format are affected.
  • The MDT's Gang Intel tab has been rebuilt. It now opens on a gang registry with live member counts, territory held and active conflicts, and selecting a gang gives a full dossier: its territorial footprint broken down into held, contested and presence-only areas, its conflict record, and any war currently running with what is at stake and when it settles. Requires the gangs resource; the tab stays hidden without it.

Changed

  • Minimum rank on a fleet vehicle is now a list of your department's ranks. It used to be a free number box, and setting it above your highest rank made the vehicle unreachable by every officer while still looking correct in the admin panel — it simply never appeared in any garage. That value can no longer be entered.
  • Adding a second fleet entry with the same model, garage, rank and addons is now refused. Fleet entries are identified by that combination rather than by name, so a duplicate used to merge into the existing entry and quietly discard the name you typed. Use the entry's quantity to add more units of it instead.

Fixed

  • The MDT Gang Intel tab was hidden on every server. The check that decides whether the gangs resource is available never passed, so the tab never appeared even with the resource installed and running.
  • The Gang Intel tab no longer opens empty when the gangs resource is stopped. It was only hidden when the resource was absent entirely, so stopping it left a tab behind that could not load anything.
  • Adding a fleet vehicle now explains why it failed instead of showing a generic "add failed" message.
  • Close and refresh buttons in the admin and evidence side panels had no horizontal padding, leaving the icon and ESC chip flush against the button border.

Database

  • Run sql/migrations/007_fleet_trunk_stock.sql on existing servers to add trunk loadout storage to your fleet table. Fresh installs need nothing — install.sql already includes it. Existing vehicles start with no loadout until you give them one.

Notes

  • Trunk loadouts need o-link 1.6.7 or newer, and an inventory that can write to vehicle trunks. Base ESX has no trunk of its own, so on ESX this needs an inventory that adds one — ox_inventory is the usual choice. QBCore, QBX and Oxide Core ship one already. The full per-inventory list is in docs/CONFIGURATION.md. On an older o-link the equipment is written somewhere the trunk cannot show it, so update the bridge before you set a loadout up. Where the inventory does not support it, the loadout is skipped and a warning naming the vehicle is written to the server console — nothing is handed to the officer instead, because that would defeat the point of storing equipment in the car.
  • The department keeps its own record of what is in each trunk. Inventory resources only keep vehicle storage for cars their framework owns, which a fleet vehicle is not, so what is in the trunk is saved against the fleet vehicle itself and put back whenever the unit spawns. It survives restarts, and it is why an officer who empties a car leaves it empty rather than getting a fresh set next time.
  • No changes to existing settings. Fleet trunk loadouts and plate formats arrive switched off in effect: no vehicle has a loadout and no department has a plate format until you set one.

Documentation

  • docs/CONFIGURATION.md gained full sections on trunk loadouts and plate formats, including the two rules the game enforces on plates. docs/ADMIN.md and docs/BUILDING-A-DEPARTMENT.md were corrected — both stated that adding a vehicle from the admin panel debits the department treasury, which it does not; only a boss buying from their own Fleet screen is charged. The same pages also described a per-vehicle plate field that has never been editable.

Oxide Blackmarketv1.8.0

Minor

Added

  • Pay sellers in a different currency than buyers pay with - the new Config.SellPayout setting controls what players are paid in when selling to a dealer and when finding cash in a dead dealer's loot bag. For example, charge regular cash on purchases but pay out dirty money on sales.
  • It takes the same options as Config.DirtyMoney - a money account or an inventory item, including marked bills that carry their value in metadata. The default (inherit) keeps paying out with your Config.DirtyMoney setup, so existing servers are unchanged until you change it.
  • Editable live in /blackmarket settings under Dirty Money - changes apply to the next sale, no restart needed.
  • With split currencies, purchase refunds always return the buy currency the player was actually charged, and the shop's Balance readout keeps showing the buy currency - it won't go up after a sale, since the payout went to the other currency.
  • The startup catalog check now also verifies the sell-payout item name when item mode is used.

Oxide Policev1.8.0

Minor

Added

  • Edit settings in-game with /police settings. Admins can now change nearly every setting from an in-game menu — radar, speed cameras, bodycam, evidence, custody, MDT, interactions, and more — and changes apply immediately, with no file edits and no restart. Settings are stored in the database (a shared oxide_settings table, created automatically). On the first start after updating, your current config-file values — including your customizations — are imported, so nothing changes by itself. From then on the database is the source of truth: the config files only act as factory defaults for the menu's reset buttons and for new settings added by future updates, so editing a file no longer changes a running server. A few keys stay file-only by design (command names and the hook functions — see Notes).

Changed

  • Every command now lives under one /police command. The old scattered commands are gone and chat autocomplete now lists every subcommand with its arguments: /padmin → /police admin, /phire → /police hire, /pfire → /police fire, /mdt → /police mdt, /duty → /police duty, /jail → /police jail, /unjail → /police unjail, /addtime → /police addtime, /setsentence → /police setsentence, /purgeevidence → /police purgeevidence, /bodycams → /police bodycams, /cameras → /police cameras, and /speedcam_create / /speedcam_remove → /police speedcam create / /police speedcam remove. Running /police alone lists what's available. All permission rules are unchanged.
  • The police radio is now the bundled radio resource. Police no longer ships a radio of its own — the in-car/on-foot radio panel, the police_radio item, and the radio-channel editors in the admin panel and boss menu have been removed. The bundled radio resource owns the radio item, the panel, and the channel list; set up your police channels there (/radio settings → Channels), separated per department job name. When it is installed, police still puts officers on their department's channel at clock-on and shows badge numbers and downed officers on the channel roster. Without it there is no police radio; the megaphone is unaffected. The police_radio inventory item is no longer used by this resource and can be removed from your inventory config.

Database

  • Existing radio channels convert automatically. On the first start after updating — with the bundled radio resource installed and running — your department radio channels are copied into that resource's channel list (labels, department, minimum rank, and clock-on default are kept), and the old police_radio_channels table is renamed to police_radio_channels_migrated as a backup. This runs once and never again. If the radio resource is not running at that start, nothing is lost: a console warning is printed and the conversion runs on a later restart once it is. Fresh installs simply no longer create the radio table. No SQL to run by hand — the settings table and the conversion are both automatic.

Notes

  • If you use customized copies of the config files, a few keys moved — copy your custom values to the new names. The old names are no longer read: Config.Evidence.IsDropExempt → Config.Hooks.EvidenceIsDropExempt, Config.Evidence.CheckPlayerGloves → Config.Hooks.EvidenceCheckPlayerGloves, Config.Mugshot.BuildEmbed → Config.Hooks.MugshotBuildEmbed, Config.Mugshot.SendPhoto → Config.Hooks.MugshotSendPhoto, and Config.Evidence.Weapons → Config.EvidenceWeapons. Also Config.Custody.RemoveAfterRelease is now a plain list ({ 'prison_bread' } instead of { ['prison_bread'] = true }), and each entry in Config.SpeedCam.Models is now { label = '...' } instead of a bare label string. Keeping an old customized evidence.lua without these updates will break evidence drops.
  • Changing your server language later needs one extra step. The labels inside SpeedCam, FleetCatalog, and PlaceableObjects are stored in the database in whatever language the server used on first start. If you change ox:locale afterwards, delete those three rows from oxide_settings and restart — the exact SQL is in docs/CONFIGURATION.md (this also discards saved menu edits to those three sections).

Oxide Policev1.7.0

Minor

Added

  • Take a seated suspect out of a vehicle by third-eyeing the vehicle. With the vehicle action enabled in Config.OfficerTargetMenu.Actions (shared/config/interactions.lua), "Take Out of Vehicle" now also appears when aiming at a vehicle that has a restrained occupant inside. Before, the option was attached only to the suspect themselves — and aiming at someone seated in a car hits the vehicle's body or glass, so the option never showed and the F2 action menu was the only reliable way to get them out. The on-player option is unchanged, the same duty rules apply, and with several restrained occupants each use takes out the next one. Works with zip-tied suspects too, so the civilian requireDuty = false setup behaves the same.

Documentation

  • The upgrade steps in BUILDING-A-DEPARTMENT.md now list all six migration files (001 through 006), and mentions of bodycam video-resolution and CCTV recording/thermal settings that don't exist in the config were removed.

Notes

  • No database changes — existing servers update in place. Nothing new to configure: the vehicle option follows your existing Actions.vehicle setting, which is off by default.

Oxide Methv1.5.0

Minor

Added

  • Gas mask for female characters — new Female drawable and Female texture fields in the Gas mask section of /meth settings (Config.GasMask.femaleDrawable / femaleTexture). Clothing packs often number female masks differently than male ones; set these to your pack's female numbers. Left at -1, female characters use the same numbers as everyone else — nothing changes.

Fixed

  • Saving the Breaking or Bagging section in /meth settings broke that scene's camera — an extremely zoomed-in, empty-looking view — and it stayed broken until the setting row was deleted from the database. Numbers you save now keep their exact values, previously saved settings repair themselves automatically on the next server restart, and a corrupt value can no longer be saved at all. All four scene cameras (cooking, drying, breaking, bagging) are covered.
  • Placed equipment with corrupt coordinates in the database is skipped with a logged warning instead of silently breaking the scenes anchored to it.

Documentation

  • docs/CONFIGURATION.md and docs/TROUBLESHOOTING.md: new guidance for masks that show on one gender but not the other with custom clothing packs.

Migration Guide

  • No SQL to run. Restart the server once after updating — previously saved settings repair themselves automatically at boot. If your break/bag camera was broken, it fixes itself on that restart; no database edits needed.

Oxide Landscapingv1.4.0

Minor

Added

  • Live in-game settings editor — /landscaping settings — nearly every setting now lives in the database and is editable in-game by admins, applying live with no restart: pay, levels, timers, crew, complaints, vehicles and the mower, locations, NPCs and blips, markers, uniforms, props, animations and tutorials. Values are checked before saving and bad ones rejected with a reason. Yards themselves stay in /moweryard (they're too large for live sync); the menu says so.
  • Model swaps — new Compatibility section (Config.ModelSwaps): replace any prop, ped or vehicle model with one from your own packs. Saving a swap rebuilds standing yard grass and obstacles live. If a player's game build is missing a model, the server now warns once naming the model and pointing at the settings menu — nothing is silently substituted.
  • New /landscaping command: /landscaping settings (admin), /landscaping tutorials, /landscaping tutorialreset. The old commands still work.

Changed

  • Config files are now factory defaults. On the first start after updating, everything in the config files — 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; use /landscaping settings.
  • A model missing from a player's game build is skipped instantly with a named warning instead of freezing the load and rendering nothing. Yard rendering in particular no longer stalls several seconds per grass patch when a model is unavailable.

Fixed

  • Changing a setting could break the clock-in menu camera (an extremely zoomed-in or empty view). Saved numbers now keep their exact values and previously saved settings repair themselves automatically on the next restart.

Migration Guide

  • No SQL to run — the settings table is created automatically on first start and your existing config values are imported. Restart the server fully once after updating (new files and a rebuilt UI).

Oxide Roadside Assistancev1.4.0

Minor

Added

  • Model swaps — new Compatibility section in /roadside settings (Config.ModelSwaps): replace any prop, ped or vehicle model with one from your own packs — including server-spawned ones like the tow truck and stranded vehicles. If a player's game build is missing a model, the server warns once naming the model; the bundled flatbed models get their own "install is incomplete" message instead (Config.ModelHints).

Changed

  • A model missing from a player's game build is skipped instantly with a named warning instead of freezing the load. A missing ped in the stranded-driver pool no longer randomly leaves a call with a driverless car.

Fixed

  • Settings added by resource updates now appear on existing installs automatically — previously a new setting could silently not exist until the whole section was reset.
  • Changing a setting could break the dispatcher menu camera (an extremely zoomed-in or empty view). Saved numbers now keep their exact values and previously saved settings repair themselves automatically on the next restart.

Migration Guide

  • No SQL to run. Restart the server fully once after updating.

Oxide Animal Controlv1.3.0

Minor

Added

  • Live in-game settings editor — /animalcontrol settings — nearly every setting now lives in the database and is editable in-game by admins, applying live with no restart: calls and dispatch, the full event catalog (with in-world scene placement), animals, the tranquilizer, stealth and behavior, delivery points, NPCs and blips, props, animations and tutorials. Values are checked before saving and bad ones rejected with a reason.
  • Model swaps — new Compatibility section (Config.ModelSwaps): replace any prop, ped or animal model with one from your own packs. If a player's game build is missing a model, the server warns once naming the model — the bundled dart gun and the add-on kennel get their own clearer messages (Config.ModelHints).
  • Animals can carry a display label (Config.Animals[].label) so near-identical models are distinguishable in the event builder's picker.
  • New /animalcontrol command: /animalcontrol settings (admin), /animalcontrol tutorials, /animalcontrol tutorialreset. The old commands still work.

Changed

  • Config files are now factory defaults. On the first start after updating, everything in the config files — 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; use /animalcontrol settings.
  • Config.Tranquilizer.weaponHash is now weaponName (a weapon name string). Changing the tranq weapon now also updates player-vs-player dart detection, which previously stayed locked to the default dart gun.
  • A model missing from a player's game build is skipped instantly with a named warning instead of freezing the load. A missing ped in the reporting-NPC pool no longer randomly leaves a call with nobody to report it.

Fixed

  • Every dispatched call was an aggressive-animal call. A debug value shipped enabled and silently restricted the call mix; all four call types now appear again. The option is still available as "Force call type" in settings for testing.
  • Changing a setting could break the clock-in menu camera (an extremely zoomed-in or empty view). Saved numbers now keep their exact values and previously saved settings repair themselves automatically on the next restart.

Documentation

  • docs/CONFIGURATION.md, docs/INSTALLATION.md, docs/TROUBLESHOOTING.md: updated for the weaponName rename.

Migration Guide

  • No SQL to run — the settings table is created automatically on first start and your existing config values are imported. Restart the server fully once after updating.
  • If you customized Config.Tranquilizer.weaponHash, move the value to weaponName as a weapon name string (e.g. 'WEAPON_G2') before your first start on this version.

Oxide GoPostalv1.3.0

Minor

Added

  • Live in-game settings editor — /postaljob settings — nearly every setting now lives in the database and is editable in-game by admins, applying live with no restart: pay, levels, timers, crew, complaints, vehicles, locations (with in-world placement previews), NPCs and blips, delivery markers, uniforms, props, animations and tutorials. Values are checked before saving and bad ones rejected with a reason.
  • Model swaps — new Compatibility section (Config.ModelSwaps): replace any prop, ped or vehicle model with one from your own packs. If a player's game build is missing a model, the server warns once naming the model and pointing at the settings menu.
  • Custom mailbox models — new Config.PostBoxModels and Config.LetterBoxModels lists: maps that replace the stock mailboxes can register their own props so the route builder's scanner finds them.
  • New /postaljob command: /postaljob settings (admin), /postaljob tutorials, /postaljob tutorialreset. The old commands still work.

Changed

  • Config files are now factory defaults. On the first start after updating, everything in the config files — 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; use /postaljob settings.
  • A model missing from a player's game build is skipped instantly with a named warning instead of freezing the load. The delivery-customer ped pool no longer burns a long timeout per missing ped, and a missing van model cleanly cancels the spawn instead of erroring mid-shift.

Fixed

  • Changing a setting could break the clock-in menu camera (an extremely zoomed-in or empty view). Saved numbers now keep their exact values and previously saved settings repair themselves automatically on the next restart.

Migration Guide

  • No SQL to run — the settings table is created automatically on first start and your existing config values are imported. Restart the server fully once after updating.

Oxide Pizza Jobv1.3.0

Minor

Added

  • Live in-game settings editor — /pizza settings — nearly every setting now lives in the database and is editable in-game by admins, applying live with no restart: pay, levels, timers, complaints, random events, vehicles, shop and delivery locations (with in-world placement previews), NPCs and blips, customer peds and reactions, uniforms, the pizza prop, animations and tutorials. Values are checked before saving and bad ones rejected with a reason.
  • Model swaps — new Compatibility section (Config.ModelSwaps): replace any prop, ped or vehicle model with one from your own packs. If a player's game build is missing a model, the server warns once naming the model and pointing at the settings menu.
  • New /pizza command: /pizza settings (admin), /pizza tutorials, /pizza tutorialreset. The old commands still work.

Changed

  • Config files are now factory defaults. On the first start after updating, everything in the config files — 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; use /pizza settings.
  • A model missing from a player's game build is skipped instantly with a named warning instead of freezing the load. The delivery-customer ped pool no longer burns a long timeout per missing ped.

Fixed

  • Changing a setting could break the shift menu camera (an extremely zoomed-in or empty view). Saved numbers now keep their exact values and previously saved settings repair themselves automatically on the next restart.

Migration Guide

  • No SQL to run — the settings table is created automatically on first start and your existing config values are imported. Restart the server fully once after updating.

Oxide Newspaperv1.2.0

Minor

Added

  • Live in-game settings editor — /newspaper settings — nearly every setting now lives in the database and is editable in-game by admins, applying live with no restart: pay, levels, timers, throwing, supplies, the bike, depots and houses (with in-world placement previews), NPCs and blips, uniforms, the paper bag, animations and tutorials. Values are checked before saving and bad ones rejected with a reason.
  • Model swaps — new Compatibility section (Config.ModelSwaps): replace any prop, ped or vehicle model with one from your own packs. If a player's game build is missing a model, the server warns once naming the model and pointing at the settings menu.
  • New /newspaper command: /newspaper settings (admin), /newspaper tutorials, /newspaper tutorialreset. The old commands still work.

Changed

  • Config files are now factory defaults. On the first start after updating, everything in the config files — 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; use /newspaper settings.
  • The throwable paper is configured as Config.Throw.weaponName (default 'WEAPON_ACIDPACKAGE', needs game build 2802+). On older builds the route now runs normally with a clear owner-facing warning instead of erroring — throws simply don't register until the weapon exists or is swapped. Unused keys pollInterval, maxPollTime and minThrowCooldown were removed.
  • A model missing from a player's game build is skipped instantly with a named warning instead of freezing the load. A missing bike model now cleanly cancels clocking in instead of aborting mid-way and leaving the player half clocked in.

Fixed

  • Changing a setting could break the shift menu camera (an extremely zoomed-in or empty view). Saved numbers now keep their exact values and previously saved settings repair themselves automatically on the next restart.

Documentation

  • docs/CONFIGURATION.md: Config.Throw updated for weaponName and the removed keys.

Migration Guide

  • No SQL to run — the settings table is created automatically on first start and your existing config values are imported. Restart the server fully once after updating.
  • If you customized Config.Throw.weaponHash, move the value to weaponName as a weapon name string.

Oxide Landscapingv1.3.0

Minor

Added

  • Cancel Current Yard: while mowing, the crew leader — or a solo worker — can cancel the current yard from the office menu or by targeting the work van. The yard is forfeited (it can't be restarted that shift), the rest of the round continues, and if it was the last yard the worker is sent back to the office. Yards already finished still pay at clock-out. Crew members can't cancel; they clock out to leave, exactly as before
  • Config.Cancel.cooldownSeconds in shared/config/job.lua (default 60) — how long the crew waits before starting the next yard after cancelling; applies to both crew members; set 0 to disable

Changed

  • Docs: the cancel feature is documented; location and yard configuration now have full field tables, plus an "adding a second office" guide that explains yards are a shared pool — a new office needs yards authored nearby to give local work

Oxide Roadside Assistancev1.3.0

Minor

Added

  • Cancel Current Task: while on an accepted call, the crew leader — or a solo worker — can cancel it from the dispatcher menu or by targeting the work truck. The scene (stranded vehicle, driver, cones) cleans up for both crew members, the winch stows, a lowered flatbed bed raises itself, and the truck stays; the worker goes back to waiting for calls. Cancelling doesn't count as a missed call, and calls already completed still pay at clock-out. Crew members can't cancel; they clock out to leave, exactly as before
  • Config.Calls.cancelCooldownSeconds (default 60) — the next call is dispatched only after this wait. Also editable live in /roadside settings under Calls & Dispatch → "Cancel cooldown"; set 0 to disable

Changed

  • Docs: the cancel feature is documented, and the "add a tow yard" instructions now describe the correct path — tow yards are added live in-game through /roadside settings (editing the config file on a live server has no effect once settings live in the database)

Oxide Animal Controlv1.2.0

Minor

Added

  • Cancel Current Task: while on an accepted call, the crew leader — or a solo worker — can cancel it from the office menu or by targeting the truck. The whole scene (animal, reporting civilian, bait, remains) cleans up for both crew members, the truck stays, and the worker goes back to waiting for calls. Cancelling doesn't count as a missed call, and calls already completed still pay at clock-out. Crew members can't cancel; they clock out to leave, exactly as before
  • Config.Calls.cancelCooldownSeconds in shared/config/job.lua (default 60) — the next call is dispatched only after this wait; the wait follows the crew if leadership changes; set 0 to disable
  • All new text ships translated in both included languages (English and Bosnian)

Changed

  • Docs: the cancel feature is documented; office configuration now has full field tables plus an "adding a second office" guide (call scenes are shared across offices — a second office needs no scene list of its own)