What goes wrong most often, what it actually means, and what to do about it. Most of these are configuration, not faults — and the script says which gate shut, either in the player's notification or in the server console. Read both before opening a ticket.
Installation and Access#
The console says "You have renamed the script!" and freezes
The folder is not called qs-fishingjob. Rename it back — the item exports, events and saved data all use that name — and restart.
Using a rod, the kit or a net does nothing
On ox_inventory or qs-inventory the item entries must keep their client = { export = 'qs-fishingjob....' } lines — copy them from items_ox.lua or items_qs.lua whole. On ESX, QBCore and Qbox the script registers the items itself, so check that the item exists in your inventory at all. An item that does nothing on another inventory needs Config.RegisterUsableItemsManually = true.
Using the rod takes it out and puts it straight back
Two handlers fire on one click: the inventory's own export and the script's registration. Turn Config.RegisterUsableItemsManually off, and make sure no other fishing script registers the same rods.
"This item does not exist" when buying, catching or hauling
The item named in the message is missing from your inventory's item list. The server console prints no such item in the inventory: <item> with where it was asked for. Add it from the matching items file, or on ESX import items(ESX).sql.
"You are not allowed to do that" on /fisheradmin
The player does not have the ACE command.fishing (or whatever Config.AdminPanel.Ace says). Add add_ace group.admin command.fishing allow to server.cfg and make sure the player is in group.admin.
I edited config.lua and nothing changed
Either the resource was not restarted, or that setting was changed in the admin panel — a saved setting wins over the file. Open /fisheradmin, find the setting (it is marked as changed) and press the arrow beside it to go back to the file's value, then restart.
I saved a setting in the panel and nothing changed
Correct behaviour. Saved settings apply on the next restart of qs-fishingjob, and the panel shows a banner until then. Starting or stopping an event is the only thing that is immediate.
The fisherman or the blip is missing
With Config.RequireJob = true, only players holding a job in Config.FisherJob see the blip. If nobody sees the NPC, the client console names the model that would not load — check Config.StartJob.ped.model. On QBCore or Qbox, "no qb core answered in twenty seconds" means the core started after Fishing Job or was renamed.
Rod Fishing#
The cast prompt is greyed out
The reason is written on the prompt. The usual ones: standing within five metres of the fisherman, sitting at the wheel of a boat (move to a passenger seat or stand on deck), a net still out, or water too deep for you — reachable depth grows with level and with reels and lines that carry depth points.
"You need a fishing rod" or "You need level X to fish with that rod"
The rods are checked on the server at the moment of the cast. The player either has none of the items in Config.RodTiers, or only rods above their level. The Wooden Rod works from level 1 and costs $20 in the shop.
From the shore I only ever catch the same few fish
Correct behaviour. From the shore the water always counts as 6 m, mid-water, wherever you stand. The deep and abyssal species — and the best money — need a boat. The Guide in the job panel marks which fish can be caught from the shore.
Every catch sells for the same price
Weight pricing needs ox_inventory: it is the only inventory the shop can read a single fish's weight from. On any other inventory each species sells at its base price in Config.Fish, and the weight still counts for records and tournaments.
The line keeps snapping
The camera is swung too far off centre. Pull the way the arrows point, but ease off when the tension bar turns amber. Deep and abyssal fish are hard on purpose; a hook adds fight ease and a line adds line strength.
Boats, Traps and Nets#
The rented boat has no keys
Check the boot line: vehicle keys none means no supported key script was running when Fishing Job started — move it above ensure qs-fishingjob. glfp10_carkeys and mono_carkeys hand keys out as an item, which a rental does not create.
The boat refund was refused
The boat must be brought back within Config.BoatRental.ReturnRadius (45 m) of the dock; the message says how far away it is. A rental that runs out simply disappears with no refund.
A crab trap cannot be placed
The water two metres in front must be at least 10 m deep, you cannot drop it while standing on a pier or bridge, another trap may not be within 20 m, and the player must be under their trap limit (one, two from level 16, three from level 31). The trap item itself needs level 5.
My crab trap disappeared
It rotted. A full trap breaks up Config.CrabTraps.Decay.BreaksAfter minutes later (three hours by default), even while its owner is offline; online owners are warned first. Traps also survive restarts, so one that is missing after a restart was already gone.
"You need a boat rented from the fishing job" when using a net
Nets work only from a boat rented in the job panel, by the player who rented it, while sitting in it. A personal boat or a crewmate's rental does not count.
The net does not fill, or it tore
It fills by distance at the right speed: nothing below 3 m/s, best around 7.5. Above 12 m/s, or dragged over water shallower than 4 m, it loses integrity until it tears and the catch is lost. Watch the speed gauge.
Spearfishing and Cooking#
There are no sharks anywhere
Correct behaviour. Sharks exist only during a Shark Hunt mission, and only inside its marked zone. Take the mission at level 20; cutting a shark loose without one says "You are not on a shark hunt". On a replaced map, check that the zones in Config.Speargun.Hunt.Zones are still open water.
The speargun will not fire
It fires only while swimming underwater, needs spear items as ammunition, and needs level 20. "The speargun model is missing" means qs-fishing-props is not running.
Props are invisible: no float, nets, skewers or grill boat
The client console says how many props are missing. Start qs-fishing-props before qs-fishingjob and make sure the folder was copied whole.
A campfire cannot be built
It needs three of one wood in Config.Campfire.Fuel.Items, natural ground (sand, grass, dirt — not roads, concrete or floors), no water, at least 8 m from another fire, and outside the no-build circles around the fisherman and the dock. A player may have two fires going. If the wood items do not exist in your inventory, nobody can light one.
"You have no raw skewers to grill" with the espeto boat
The grill boat cooks the raw fish in your bag. Bring any fish except shark, and set the boat down on dry land, not on water or in a vehicle.
Shop, Missions and Events#
"The shop is not answering"
The server console prints the shop could not be built: followed by the reason — most often an item in the config that does not exist in the inventory, or a typo in an edited table.
"Your inventory did not answer" or "Your inventory is full"
Two different things. "Did not answer" means the inventory could not be reached — usually still loading after a join; try again. "Full" is a bag without room or weight to spare. Nothing is charged for an item that could not be given.
A mission cannot be started
Only the crew leader can start one, every member must meet its level, and a player already on a mission must abandon it first. With Config.RequireJob on, the player must hold a fisher job.
A released fish did not count for the mission
Correct by default. Set Config.CatchDecision.ReleaseCountsForQuests = true if released fish should count.
Scheduled tournaments never start
They run on ox_lib's cron. "ox_lib cron is unavailable" in the console means your ox_lib is too old; update it. An entry in Config.Tournaments.Schedule that is not HH:MM is skipped with its own message. Times are the server's clock, and with FishersOnly on, only fishers are told.
The leaderboard fails with "Illegal mix of collations"
The script aligns its tables to your framework's collation on start. If the database user may not alter tables, the console prints the exact ALTER TABLE statement to run by hand.
Console Messages#
Every message starts with [qs-fishingjob]. Red ones stop a feature; yellow ones are warnings.
Message | Means |
|---|---|
| The boot line: what was detected. Not an error. |
| An item the config names is not registered in your inventory. |
|
|
| Settings from the admin panel are in use. Not an error. |
| A setting saved under an older version has no place in this one. It is kept in the database and ignored. |
| The tables could not be created — check oxmysql and the database user's rights. |
| The fisher job could not be inserted; import |
| Scheduled tournaments are off until ox_lib is updated. |
|
|
Turn on Config.Debug while setting up and the script explains every step in the server console and in F8 — including what each catch rolled and why. Leave it off on a live server: it prints a lot.
Still stuck? Open a ticket and include the boot line (
[qs-fishingjob] framework … · inventory …), any red or yellow[qs-fishingjob]lines from the server console, your framework and inventory with their versions, and a screenshot of the F8 console for anything about the interface.



