Configuration
How the database-backed settings editor works and what every section of /meth settings covers.
oxide-meth is now configured in game, not by editing files. Everything is changed through a settings panel you open with /meth settings, and your changes are saved in your server's database.
This page explains how that works, then walks through what you can change, section by section.
How settings work now
The settings editor
Type /meth settings in the chat box while playing (you must be an admin). A panel opens with every setting the resource has, grouped into categories, with Basic and Advanced tabs and a search box. Change a value, click Save, and it applies straight away — no server restart. For the full walkthrough of the panel (searching, resetting, drawing placement zones), see Admin.
The database is the source of truth
"The database" is the MySQL storage your whole server already uses to remember characters, money, and so on. oxide-meth keeps its settings there too, in a shared table called oxide_settings (created automatically — you don't have to make it).
Here's the important part:
- The first time you start the resource after this update, every value from the config files is copied into the database. Anything you'd already customised in the files is kept exactly as it was — nothing is lost.
- From that point on, the database is in charge. Editing
shared/config.luaor the files inshared/config/no longer changes a setting that already exists — the resource reads the saved value instead. To change a setting, use/meth settings.
What the config files are still for
The config files (shared/config.lua, shared/config/*.lua) haven't gone away. They now serve as the factory defaults:
- On a brand-new install (an empty database), the files provide every starting value.
- When a future update adds a new setting, the file supplies that new setting's starting value the first time you boot the update. (Existing settings are untouched.)
- The reset button in the settings panel restores a setting to the value in the files. So if you change something and want the original back, open
/meth settings, find the setting, and click its reset-to-default control. (Editing the file by hand and restarting will not pull the value back in for a setting that already exists — use reset instead.)
You can still open the config files to read the shipped defaults, but treat them as reference, not as the place you make changes.
Wiping everything back to defaults
If you ever want to throw away all your saved changes and start from the shipped defaults again, see Troubleshooting.
What you can change
The settings panel groups everything under five categories. Below is what each section covers and the settings most servers care about. This is not an exhaustive field-by-field list — the panel itself labels and explains every field, and many of them (camera angles, prop positions, particle effects) are fine-tuning for how scenes look and rarely need touching.
Values shown are the shipped defaults.
Core
General — the top-level switches.
- Require ownership (default on) — only the player who placed a table or crystallizer can pick it back up or collect from it. Turn off to let anyone interact.
- Spawn distance (default
100m) — how close a player must be before placed equipment appears for them. - Debug logging (Advanced, default off) — prints extra detail to the server console. Leave off unless you're troubleshooting.
Placement Zones — where equipment may be placed. Zone mode picks the behaviour: Off (anywhere), Blocked areas (anywhere except the areas you draw — the default), or Allowed areas only (nowhere except the areas you draw). The two lists are stored separately so switching modes never loses a shape. Both ship empty. You draw them as polygon shapes directly in the world; see the zone walkthrough in the Admin guide.
Usage Whitelist — restricts who may use each item, by job and/or gang, with an optional minimum rank and on-duty requirement. Ships empty, which means every item is usable by anyone. Items you write no rule for stay open to everyone.
Dispatch (Advanced) — a chance that police get an alert when a player starts a production stage. Ships off (alert chance 0), so nothing changes until you turn it on. See Police alerts below for the full walkthrough.
Equipment — the two placeable items (the meth table and the crystallizer). Here you set which inventory item places each one, what it does (a cook/break/bag table or a drying crystallizer), the meth level required to place it (the crystallizer ships at 0 — no requirement), and the props that make it up. Removing an equipment entry that players have already placed in the world will leave those props orphaned, so take care.
Items & Stages — the inventory item names each production stage uses: the four cook ingredients, and the input/output items for cooking, drying, breaking, and bagging. If you rename an item here, you must also register the new name in your inventory (see Installation). Notable defaults: ingredients are hydrogen_peroxide, ammonia, hydrochloric_acid, sodium_benzoate; a cook makes a liquid_meth_tray, which dries into a crystallized_meth_tray, which breaks into crystal_meth shards, which bag into meth_baggy (variants use their own item names).
Production
Cooking — the cook minigame. The balance settings here:
| Setting | Default | What it does |
|---|---|---|
| Cook time | 20000 ms | Length of the temperature phase |
| Start temperature | 30 | Temperature when the cook begins |
| Heat rate | 0.13 | How fast the pot heats on its own (higher = harder) |
| Cool amount | 15 | How much a correct key press cools the pot |
| Overheat penalty | 3 | How much a wrong key press heats the pot |
| Key change interval | 4000 ms | How often the flashing key changes |
| Cold threshold / Max time cold | 15 / 5000 ms | Below this temperature the batch starts failing, and how long it survives there |
| Explosion on overheat | on | Whether hitting 100°C sets off a real explosion at the table |
| Cool-down keys | E, Q, R, G, X, H | The pool of keys the minigame picks from |
The batch is ruined at 100°C — that ceiling is fixed, but you can turn the explosion itself off with Explosion on overheat. The rest of the Cooking section (camera, scene props, fire and smoke effects) is scene dressing.
Drying — the crystallizer: drying time (default 300 seconds — 5 minutes per tray), the crystallizer prop, and the tray layout (how many slots; default 2 columns of 9 = 18 slots). You can't shrink the tray grid below a slot that currently holds a drying tray — the panel blocks it.
Breaking — the break minigame: min/max shards a tray gives (default 3–6), the hammer, and where shards appear. Variants can adjust their own shard cap.
Bagging — the scale minigame: shards per bag (default 3), the random shard weight range (0.3–1.0g), the target weight (1.0g) and the lightest weight a bag can be and still seal (0.8g).
Chemistry
Additives — the items that can be added during a cook. Each additive sets its display label, how it's added (pour a liquid or drag a solid into the pot), the meth level that unlocks it, and its chemistry: how it changes the heat speed, shifts the good-temperature window, and adds or removes purity. This is also where you'd add a brand-new additive.
Variants & Purity —
- Named variants — the recipes. Each variant maps a combination of additives (order doesn't matter) to a finished product with its own shard and bag item names, a shard-count modifier, and a value multiplier (a price multiplier your selling scripts can read — meth stores it but doesn't sell anything itself). A combo that matches no variant produces the default variant (standard Crystal). If you add a variant, register its shard and bag items in your inventory.
- Purity — the temperature sweet spot that earns clean product (default
35–65) and the most additives allowed in one cook (default2).
Player
Progression — the XP and levelling system:
- XP rewards — XP per action. Defaults: Cook
25, Dry10, Break30, Bag15(per bag). - Levels — the level thresholds, lowest first. Ships as 10 levels totalling 11,000 XP.
- Purity penalties — how many purity points each level loses on every cook, so low-level cooks make worse product. Ships from
-30at level 1 up to0at level 10.
Usage & Effects — what happens when a player uses a bagged meth item: the use cooldown (default 120 seconds), which effect types are switched on (stress relief, armour, healing, stamina), the base effect profile every variant starts from, how purity scales those effects, and per-variant overrides so each variant feels different. Also the on-screen visuals (screen filter, camera shake) during the high.
Stress relief
Stress relief needs a framework with a stress system — QBCore and QBX have one, ESX does not.
Immersion
Gas Mask & Fumes —
- Fume exposure — the screen effect a player gets from cooking without a mask: how long it lingers after the cook (default
120000ms — 2 minutes), how strong it gets, and how fast it builds and fades. - Gas mask — the wearable mask item, and how it looks (clothing component, drawable, texture). The defaults are for GTA's stock clothing — if you use a custom clothing pack, set a drawable that exists in your pack. Clothing packs often use different mask numbers for male and female characters: if the mask looks right on one and wrong on the other, set Female drawable (and Female texture) to the numbers your pack uses for female characters. Leave them at
-1and female characters simply use the same numbers as everyone else.
Animations (Advanced) — the crouch-and-place animation used when placing and picking up equipment. You'll rarely need to touch these.
Police alerts
Cooking is risk-free out of the box. If you want it to occasionally draw police, turn on the Dispatch section (under Core, on the Advanced tab).
When a player starts a production stage, the server rolls once. On a hit, a dispatch call goes out at the equipment's location — not the player's, so a suspect can't fake or move it.
| Setting | Default | What it does |
|---|---|---|
| Alert chance | 0 | Chance of an alert each time a stage is started. 0 turns alerts off completely. 0.15 means roughly one cook in seven. |
| Per-stage chance | all -1 | Set a different chance for one stage. -1 means "use the alert chance above". |
| Site cooldown | 300 s | How long before that same table or crystallizer can raise another alert. Other equipment is unaffected, so a player can't be alerted on repeatedly at one lab. |
| Alert jobs | police | Which jobs receive the alert. Capitalisation doesn't matter. |
| Call code, Title, Message | 10-15, "Suspected Narcotics Lab", … | The text responders see. The default message deliberately doesn't say what's being made — police get a location and a reason to look, not a confession. |
| Priority | 2 | 1 is highest. |
| Icon, Map blip | The Font Awesome icon and the blip drawn on the map. Search radius is the size of the circle around the site, so responders get an area to search rather than an exact door. |
The four stages you can tune separately are Cook, Break, Bag and Dry. A common setup is to leave the master chance low and raise just the cook, since that's the loudest part of the operation.
What "chance" means in practice. It's rolled per stage started, not per cook finished. A player who starts, cancels, and restarts rolls twice — but the site cooldown means only the first can actually alert.
What you need installed
Alerts go through whatever dispatch resource you run. Most are supported, including ps-dispatch, qs_dispatch, cd_dispatch, lb-tablet and the common MDTs. You don't strictly need one — with no dispatch resource installed, players with the alert job get a notification and a map blip instead.
If nobody with the alert job is online, the alert is discarded. That's intentional: there is no queue of stale calls waiting for the first officer to log in.
ESX
On ESX, every player with the job receives the alert whether or not they're clocked on — ESX has no on-duty concept for this.