How to Add Fishing to Your FiveM Server: Step-by-Step Installation Guide (2026)
Step-by-step guide to installing and configuring a fishing system on your FiveM server — from resource setup to item registration, framework integration, and testing.
Prerequisites
Before installing a fishing system, make sure you have:
- A running FiveM server — Locally or hosted, with a framework installed
- ESX, QBCore, or QBOX — Your chosen framework must be functional
- An inventory system — ox_inventory, qs-inventory, or your framework's built-in inventory
- Database access — MySQL/MariaDB for market economy tables
- FTP or file access — To upload resource files to your server
If you're missing any of these, get them set up first. Fishing scripts build on top of your existing server infrastructure — they don't replace it.
Step 1: Download and Extract
After purchasing your fishing script:
- Download the ZIP file from Tebex/your provider
- Extract the contents
- You should see a folder structure containing:
- Main resource folder (e.g., alone_fishing)
- SQL file(s) for database setup
- Documentation or README
Place the main resource folder in your server's resources/ directory:
server/
├── resources/
│ ├── [your framework]/
│ ├── [other scripts]/
│ └── alone_fishing/ ← here
Step 2: Import the Database
The fishing system needs database tables for the dynamic market economy. Run the included SQL file against your server's database:
Via phpMyAdmin:
- Open phpMyAdmin
- Select your server's database
- Click "Import"
- Upload the SQL file
- Click "Go"
Via command line:
mysql -u root -p your_database < fishing_market.sql
This creates tables for tracking species prices, daily sales, and market state.
Step 3: Register Items
Your inventory system needs to recognize fishing items. The exact method depends on your inventory:
ox_inventory
Add to your items file (ox_inventory/data/items.lua):
-- Fishing Rods
['fishing_rod_basic'] = {
label = 'Basic Fishing Rod',
weight = 2000,
stack = false,
close = true,
description = 'A simple fishing rod for beginners'
},
['fishing_rod_carbon'] = {
label = 'Carbon Fishing Rod',
weight = 1500,
stack = false,
close = true,
description = 'A lightweight carbon fiber rod with improved catch rates'
},
['fishing_rod_pro'] = {
label = 'Pro Fishing Rod',
weight = 1200,
stack = false,
close = true,
description = 'Professional grade rod for serious anglers'
},
-- Bait
['bait_standard'] = {
label = 'Standard Bait',
weight = 100,
stack = true,
close = true,
description = 'Basic fishing bait'
},
['bait_premium'] = {
label = 'Premium Bait',
weight = 100,
stack = true,
close = true,
description = 'Premium bait that attracts rare fish'
},
-- Fish (repeat for each species)
['fish_sea_bass'] = {
label = 'Sea Bass',
weight = 2000,
stack = true,
close = true,
description = 'A common saltwater fish'
},
-- ... more species
QBCore Shared Items
Add to qb-core/shared/items.lua:
fishing_rod_basic = { name = 'fishing_rod_basic', label = 'Basic Fishing Rod', weight = 2000, type = 'item', image = 'fishing_rod_basic.png', unique = true, useable = true, shouldClose = true, description = 'A simple fishing rod for beginners' },
fishing_rod_carbon = { name = 'fishing_rod_carbon', label = 'Carbon Fishing Rod', weight = 1500, type = 'item', image = 'fishing_rod_carbon.png', unique = true, useable = true, shouldClose = true, description = 'Improved catch rates' },
Step 4: Configure the Script
Open the fishing script's config file (usually config.lua or shared/config.lua):
Framework Detection
Most modern fishing scripts auto-detect your framework. If not, set it manually:
Config.Framework = 'auto' -- 'auto', 'esx', 'qbcore', 'qbox'
Biome Locations
Customize fishing zone coordinates:
Config.Biomes = {
coast = {
label = "Coast",
locations = {
vector3(-1850.0, -1245.0, 8.6), -- Vespucci Beach
vector3(-1435.0, -1500.0, 2.0), -- Del Perro Beach
}
},
river = {
label = "River",
locations = {
vector3(-1092.0, 4907.0, 214.0), -- Raton Canyon
}
},
-- ... more biomes
}
Market Settings
Configure the dynamic market:
Config.Market = {
resetTime = 24, -- Hours between price resets
minPricePercent = 30, -- Minimum price as % of base (floor)
supplyThreshold = 100, -- Units sold before hitting min price
}
Step 5: Add to server.cfg
Ensure the resource starts with your server:
ensure alone_fishing
Place it after your framework and inventory resources:
ensure oxmysql
ensure es_extended # or qb-core
ensure ox_inventory # or your inventory
ensure alone_fishing
Step 6: Test Everything
Basic Functionality Test
- Start your server
- Connect as a player
- Give yourself a fishing rod and bait:
/giveitem fishing_rod_basic 1 - Go to a configured biome location
- Use the fishing rod
- Verify the minigame appears and works
- Check that caught fish appears in your inventory
Market Economy Test
- Sell several fish of the same species
- Check if the price decreases with each sale
- Wait for the reset timer or manually reset
- Verify prices return to base values
Framework Integration Test
- Check that items appear correctly in your inventory UI
- Verify money is added through your framework's economy
- Test with all roles (admin, player) to ensure permissions work
Common Installation Issues
"Resource not found"
Cause: Resource folder name doesn't match the ensure command
Fix: Check the exact folder name and match it in server.cfg
"Items not showing in inventory"
Cause: Items not registered in your inventory system
Fix: Double-check item names match between the fishing config and your inventory's items file
"Framework not detected"
Cause: Script loads before framework
Fix: Move ensure alone_fishing after your framework's ensure line
"Market prices not updating"
Cause: Database tables not imported
Fix: Re-run the SQL import and check for errors
Alone Fishing Installation
Alone Fishing simplifies this entire process:
- Drop the resource folder into
resources/ - Import the included SQL file
- Add items to your inventory (copy-paste configs provided for ESX, QBCore, QBOX)
ensure alone_fishingin server.cfg- Start and fish
Auto-detection handles framework and inventory identification. Default biome locations are pre-configured to GTA V's best fishing spots. The documentation walks through every step with screenshots.
Support: If you get stuck, join the Discord and the team will help you get set up.
Ready to Add Real Fishing to Your Server?
Alone Fishing delivers everything discussed in this article — 5 biomes, 11 species, interactive minigame, Rust-style dynamic market. ESX, QBCore & QBOX.
Get Alone Fishing on Tebex — €14.99