How to Install FiveM Mods
A complete step-by-step guide to installing scripts, MLOs, and resources on your FiveM server β for ESX, QBCore, and QBOX.
Installing mods on a FiveM server is straightforward once you understand the structure. Whether you're adding a police job, a custom map, or a full economy system, the core process is always the same: drop the files in the right place and tell your server to load them.
This guide covers everything from setting up your server environment to troubleshooting common errors. Follow the steps in order for the smoothest experience β especially if you're installing your first mod.
Prerequisites
Before You Start
Server Requirements
- A running FiveM server (Windows or Linux)
- FTP, SFTP, or direct file access to your server
- A framework installed: ESX, QBCore, or QBOX (check mod compatibility)
- oxmysql or mysql-async installed for database-dependent scripts
- ox_lib installed for scripts that depend on it
Database Setup
Many scripts require database tables. If the mod includes a .sql file, import it into your FiveM database before starting the server.
-- Example SQL import for ESX
CREATE DATABASE fivem_server;
USE fivem_server;
-- Import your framework SQL files
SOURCE es_extended.sql;
SOURCE essentialmode.sql;Script Types
Client-Side Scripts
Run entirely in the player's game client. These handle visual effects, UI overlays, and HUD elements β no database required.
Server-Side Scripts
Run on your server and manage game logic, player data, economy, and jobs. These typically require a database and framework.
Framework Scripts
Built specifically for ESX, QBCore, or QBOX. These extend the framework's core features and must match your installed framework version.
MLOs & Map Add-ons
Custom 3D interiors and world modifications. These stream assets directly to players and don't require a framework β just add them to resources and start them.
Installation Steps
Locate Your Resources Folder
All FiveM scripts live inside the resources folder on your server. Find it using the path below for your operating system.
# Windows - Default path
C:\FiveM\server\resources
# Linux - Default path
/home/fivem/server/resourcesUpload the Script Folder
Extract the downloaded archive and upload the script folder into your resources directory. The folder must contain a fxmanifest.lua (or legacy __resource.lua) file.
Tip
[jobs], [maps], [standalone]) to keep things manageable as your server grows.Add to server.cfg
Open your server.cfg and add an ensure line for the new script. Place it after your framework and any dependencies it requires.
# Add to your server.cfg file
# Place after your framework (ESX/QBCore)
# Essential resources first
ensure oxmysql
ensure ox_lib
# Your new script
ensure my-awesome-script
# Alternative: use 'start' instead of 'ensure'
start my-awesome-scriptRestart or Refresh Your Server
Use the server console to load the new resource without a full server restart. These commands are available in the live console.
Useful Console Commands
refresh- Reloads the resource list from diskensure [script-name]- Starts or restarts a specific resourcerestart [script-name]- Restarts a currently running resourcestop [script-name]- Stops a running resource
Test In-Game
Join your server and test the new script. Check the server console for errors if something doesn't work as expected.
Success
Framework Guides
The load order in server.cfg is critical. Always start your framework core before any scripts that depend on it.
LegacyESX Installation
The original roleplay framework with years of stability and the largest script library.
# ESX server.cfg order example
ensure oxmysql
ensure es_extended
ensure esx_menu_default
ensure esx_menu_dialog
ensure esx_menu_list
# Your ESX scripts
ensure esx_policejob
ensure esx_mechanicjob
ensure my-custom-esx-scriptPopularQBCore Installation
The most popular modern framework with excellent performance and beginner-friendly design.
# QBCore server.cfg order example
ensure oxmysql
ensure qb-core
ensure qb-target
# Your QBCore scripts
ensure qb-policejob
ensure qb-mechanicjob
ensure my-custom-qb-scriptModernQBOX Installation
The newest framework with improved architecture, TypeScript support and modern performance.
# QBOX server.cfg order example
ensure oxmysql
ensure qbx-core
ensure ox_lib
# Your QBOX scripts
ensure qbx-police
ensure my-custom-qbox-scriptNot sure which framework to use?
Troubleshooting
Script Not Loading
The resource starts but doesn't appear to do anything in-game.
- Check that the folder name in
server.cfgmatches the actual folder name exactly (case-sensitive on Linux) - Verify the folder contains a valid
fxmanifest.luafile - Run
refreshthenensure [name]in the server console and check for errors
Database Errors on Start
The server console shows SQL or database connection errors when the script starts.
- Import the script's
.sqlfile into your database if you haven't already - Ensure
oxmysqlis started before the script inserver.cfg
Framework Mismatch
Errors reference missing framework exports or functions that don't exist.
- Confirm the script is designed for your framework (ESX vs QBCore vs QBOX)
- Check the script's documentation for minimum framework version requirements
Check the Console First
ensure [script-name].Best Practices
Stay Organized
Keep your resources folder organized
Backup First
Always backup your server before installing new mods
Load Order
Ensure proper load order in your server.cfg
Test Thoroughly
Test mods on a development server first
Turn this tutorial into a launch-ready script stack
Once the install flow is clear, move into the framework hub or commercial path that matches your server build.
Framework hub
Start with the QBCore script stack
If you're launching on a modern framework, move into the QBCore hub for install-ready scripts, compatibility context, and verified premium options.
Open QBCore hubFramework hub
Review the ESX path
Use the ESX landing page when your server depends on the legacy framework and you want scripts that fit its established ecosystem.
Open ESX hubPremium catalog
Compare premium scripts
Move from installation theory into the live catalog to compare real products, framework labels, and production-ready resources.
Open premium shopLaunch faster
See curated bundles
Bundles cut setup time when you want a working server foundation instead of choosing every script one at a time.
View bundlesFeatured Mods
Ready to add your first script? These are some of the most popular mods in our catalog β compatible with the major frameworks and easy to install.
Advanced Police Job
Full-featured police job with arrest system, evidence handling, MDT, and duty management. Supports ESX and QBCore.
Custom Vehicle Dealer
Modern vehicle dealership UI with test drive, financing, and inventory management. Fully configurable and framework-agnostic.
Mechanic Job Script
Complete mechanic job with repair system, parts inventory, and customer towing. Works with ESX, QBCore, and QBOX.
Custom Interior MLO Pack
High-quality custom interior MLOs for police stations, hospitals, and shops. Drag-and-drop installation with no SQL required.
Need a complete server setup?
Browse our curated server template bundles β everything you need to launch a fully-featured FiveM server, pre-configured and ready to go.
View Server TemplatesFrequently Asked Questions
Do I need to restart the whole server to add a new script?
refresh in the server console to reload the resource list, then ensure [script-name] to start the new resource without a full restart. A full restart is only required when the script's SQL needs to run on first load.Can I run ESX and QBCore scripts on the same server?
What does "ensure" mean in server.cfg?
ensure starts a resource if it's not running, or restarts it if it is. It's preferred over start because it's idempotent β safe to call multiple times. Use it for all your resources in server.cfg.Why do some scripts require ox_lib?
How do I update a script to a newer version?
Ready to Build Your Server?
Browse hundreds of free and premium FiveM scripts. Everything is compatible with ESX, QBCore, and QBOX β download and install in minutes.