Fishing
Troubleshooting

Troubleshooting

Common issues

SymptomCause / Fix
Console: schema.sql not found - tables will NOT be createdResource folder is incomplete. Re-upload medit8z_fishing so schema.sql is present at the root.
Items show as [?] in inventoryitems.lua was not merged into ox_inventory/data/items.lua. Re-do install step 2.
Item icons render as grey squaresPNGs from medit8z_fishing/images/ were not copied into ox_inventory/web/images/. Copy all 86 files.
Player can't start fishing — "You need a Fishing License…"Player is missing the fishing flag in QBX licences metadata. Sell one at City Hall or grant via SetMetaData.
Tackle box accepts non-fishing itemsThe whitelist hook in server/smain.lua failed to register, or Config.TackleBoxWhitelist is empty. Verify the table and restart.
Daily / weekly challenges never resetResource crashed or StartChallengeResetChecker (in smain.lua) failed to start. Check the console for Lua errors and restart.
Skill respec costs the wrong amountThe legacy event handler was removed to close a duplicate-cost exploit. All respec calls now route through lib.callback in sprogression.lua — make sure your client isn't calling a removed event.
attempt to index a nil value (field 'qbx_core') on startqbx_core started after medit8z_fishing. Move it earlier in server.cfg, or rely on the declared dependencies block.
MySQL errors on first startoxmysql is not started or your DB connection string is wrong. The script will retry once but won't recover from an unreachable DB.
Boat rentals despawn instantlyA vehicle persistence resource is force-deleting the boat. Whitelist the rental plate or disable cleanup for the rental coords.
Leaderboards show empty / stalemedit8z_fishing_leaderboards is a cache, refreshed periodically. Sell or catch a fish to trigger an update, or restart the resource.

Debug mode

Enable verbose server-side logging:

-- config/config.lua
Config.Debug = true

This will print catch resolution, PendingCatch lifecycle, validation failures, durability changes, and DB call timings to the server console. Disable in production.

Clean database reset

If you need to wipe all fishing progress:

DROP TABLE IF EXISTS
  medit8z_fishing_players,
  medit8z_fishing_skills,
  medit8z_fishing_catches,
  medit8z_fishing_encyclopedia,
  medit8z_fishing_achievements,
  medit8z_fishing_challenges,
  medit8z_fishing_prices,
  medit8z_fishing_leaderboards,
  medit8z_fishing_weekly_stats,
  medit8z_fishing_titles,
  medit8z_fishing_location_visits,
  medit8z_fishing_rarity_counts,
  medit8z_fishing_boat_rentals,
  medit8z_fishing_location_stats,
  medit8z_fishing_equipment,
  medit8z_fishing_challenge_tracking;

Restart the resource — all 16 tables will be recreated from schema.sql.

⚠️

This wipes every player's progress, achievements, leaderboard standings, and active boat rentals. There is no undo.

Verifying anti-exploit guardrails

These should all fail on the server with a console warning:

  • A client calling completeCatch twice for the same pendingId — rejected via used flag
  • A completeCatch call faster than MIN_MINIGAME_TIME (1.5s) without a legitimate skip skill
  • A catch claim with a rod/reel/bait/lure the player doesn't actually have in inventory
  • A direct call to a removed legacy skill / prestige event — no handler exists, the call is dropped

If any of these succeed, you're running a modified copy. Restore from the original release and reapply config edits to the config/ folder only.

Support

Direct support is available in Discord (opens in a new tab) — no ticket queues, no support tiers. Verified bugs are fixed within 7 days of report. Lifetime updates are included with every purchase.

When reporting an issue, please include:

  • Server framework version (qbx_core, ox_inventory, ox_lib, oxmysql)
  • Resource version (medit8z_fishing version from fxmanifest.lua)
  • Steps to reproduce
  • Server console output with Config.Debug = true