Troubleshooting

Diagnose startup, settings, inventory, equipment, cooking, crystallizing, effects, progression, and police alert issues in oxide-meth.

Common problems and how to fix them. Work top to bottom — most issues are item names or load order.

The resource doesn't start

  1. Check the server console for red errors mentioning oxide-meth.
  2. Make sure ox_lib, oxmysql, and o-link all start before oxide-meth in your server.cfg.
  3. The database tables are created automatically the first time the resource starts — but that only works if oxmysql is connected to your database. If the console shows oxmysql connection errors, fix those first.
  4. Your framework and inventory resources must start before o-link — if other Oxide resources work, this is already right.

To see detailed logging from the resource, open /meth settings (as an admin), switch to the Advanced tab, turn on Debug logging, and save. Turn it back off when you're done.

I changed a setting in config.lua but nothing happened

This is expected. Settings are no longer read from the config files after the first start — they're saved in your database, and the file values only seed a fresh install.

To change a setting, open /meth settings in game (as an admin), edit it there, and save. Your change applies immediately.

If you specifically want a setting to go back to the value shown in the file, open /meth settings, find that setting, and click its reset to default control — that pulls the file value back in. Editing the file and restarting will not do this for a setting that already exists.

See Configuration for the full explanation.

The settings panel won't open

Symptoms: you type /meth settings and nothing appears, or you get a "No permission" message.

  1. You must be an admin. The panel is admin-only. Set your admin permission the same way as the test commands — see Admin. A player without admin access can't open it.
  2. o-link must be running. The panel talks to the server through o-link. If other Oxide resources work on your server, this is already fine; if nothing Oxide-related works, check that o-link started without errors.
  3. Give the server a moment after a restart. The panel refuses to open until the resource has finished loading settings from the database (usually a second or two after start). Try again.

How do I reset all settings back to defaults

If you want to throw away every change you've made and start over from the values the resource shipped with:

  1. In your database tool (the same one you use to view your server's database — for example phpMyAdmin, HeidiSQL, or the database tab in your hosting panel), run this once:

    DELETE FROM oxide_settings WHERE resource = 'oxide-meth';
  2. Restart oxide-meth (restart oxide-meth in the server console or txAdmin).

On the next start the resource re-seeds every setting from the config files, exactly like a fresh install. This only affects meth's settings — the WHERE resource = 'oxide-meth' part makes sure no other resource is touched. (To reset just one setting instead of all of them, use the reset-to-default control in /meth settings.)

"You don't have the required items" (but the player does)

This almost always means an item name doesn't match exactly.

  1. Compare the item names in your inventory against the tables in Installation — every letter and underscore must match (hydrogen_peroxide, not hydrogen-peroxide or HydrogenPeroxide).
  2. Make sure all the variant shard and baggy items exist. If a player cooked Blue Sky, breaking and bagging need crystal_meth_blue_sky and meth_baggy_blue_sky to exist.
  3. If you also run oxide-weed, make sure baggy and cannabis_leaf are only defined once in your inventory.

Using an equipment item does nothing

  1. The item must be marked usable in your inventory (qb-inventory: useable = true; ox_inventory: usable by default).
  2. Equipment can't be used from inside a vehicle — the player gets a warning message.
  3. The crystallizer can have a level requirement (the Required level field on its entry in the Equipment section of /meth settings) — it ships at 0, but check if you changed it.
  4. Placement is blocked by your placement zones — the player gets "Can't place items in safe zones" (they're inside a blocked area) or "You can only place equipment inside a designated area" (zone mode is Allowed areas only and they're outside every allowed area, or none are drawn).
  5. A Usage Whitelist rule is blocking the item for their job or gang — the player gets "You aren't allowed to use this", "Your rank is too low to use this", or "You must be on duty to use this". Check the rule for that item under Usage Whitelist in /meth settings; deleting the rule restores the old open-to-everyone behaviour.

No interaction options on placed equipment

The walk-up options (Cook Meth, Break Meth, etc.) come through your targeting resource (usually ox_target) via o-link. If other Oxide resources' target options work, meth's will too. If none work, your targeting resource isn't running or isn't connected through o-link.

Cooking won't start

  1. The player needs at least 1 of each of the four ingredients: hydrogen_peroxide, ammonia, hydrochloric_acid, sodium_benzoate.
  2. The table must be one placed through this resource — a decoration prop won't work.
  3. If additives don't appear in the additive panel, the player either doesn't have any in their inventory or hasn't reached that additive's unlock level.

Trays won't dry / crystallizer looks empty after a restart

  1. Confirm the drug_equipment and meth_drying_slots tables exist in your database.
  2. Drying takes 5 minutes by default (Config.Drying.dryingTime) — a tray collected early isn't ready, and the script will say so.
  3. With ownership on (Config.RequireOwnership = true, the default), only the player who placed a tray can collect it. Other players get no response by design.
  4. If trays lose their variant/purity when going in or out of the crystallizer, your inventory resource isn't preserving item metadata — check that you're on a supported inventory (see o-link's documentation).

Breaking or bagging gives nothing

  1. Breaking needs at least 1 crystallized_meth_tray in the player's inventory.
  2. Bagging needs at least 3 shards of one product plus at least 1 baggy.
  3. If the action completes but no item arrives, the player's inventory may be full — they'll get an "inventory is full" message and the materials are refunded.
  4. Make sure every variant's shard and baggy item is registered (this is the most common cause).

Gas mask doesn't show on the player

The mask is a clothing component. It ships with component 1, drawable 175 — those numbers are for the default GTA clothing. If your server uses a custom clothing pack, find a mask drawable that exists in your pack and update the Drawable (and Texture) fields in the Gas mask section of /meth settings.

Gas mask shows on male characters but not female (or vice versa)

Most clothing packs number male and female clothing differently, so one drawable number can't fit both. Set Female drawable (and Female texture) in the Gas mask section of /meth settings to the numbers your pack uses for female characters — male characters keep using Drawable/Texture. At -1 (the default), female characters use the same numbers as everyone else.

Usage effects look wrong or don't trigger

  1. Only bagged meth is usable — shards and trays are not.
  2. The baggy items must be marked usable in your inventory.
  3. There's a cooldown (120 seconds by default) after the previous high ends — the player gets a wait message.
  4. Meth can't be used inside a vehicle.
  5. If armour or healing seem to vanish instantly, another resource (a HUD or health script) may be overriding them.

Progression doesn't save

  1. Confirm the drugs_progression table exists.
  2. Watch the server console for oxmysql errors — usually wrong database credentials or a missing table.
  3. Progression is saved per character. If /meth stats shows nothing, the character may not be fully loaded yet — have the player relog.

Police alerts never fire

  1. Check Alert chance under Dispatch in /meth settings (Advanced tab). It ships at 0, which means off. Set it to 1 while testing so every cook alerts.
  2. If a stage's Per-stage chance is set to something other than -1, that value wins over the master chance for that stage.
  3. Someone with the alert job (default police) must be online. With nobody on that job, the alert is discarded rather than queued.
  4. Check the job name matches what your framework actually uses. A typo means no one is ever found.
  5. Only the first alert from a given table or crystallizer fires within the Site cooldown window (default 5 minutes). Test at a second piece of equipment, or lower the cooldown.

Police alerts fire too often

Lower Alert chance, or set the noisy stage's Per-stage chance to a lower number and leave the rest at -1. Raising the Site cooldown also helps: it caps how often any one lab can be reported, no matter how many stages are run there.

Quick test tools

  • /meth kit — gives a full production kit (admin)
  • /meth sellkit — gives finished product with random variants/purities (admin)
  • /meth setlevel [id] [level] — set a player's level to test unlocks (admin)
  • /meth stats — confirms the client can talk to the server and read progression

See Admin for the permission setup these need.