Resource Management

Learn how to install, configure, and manage resources for your FiveM server

What Are FiveM Resources?

Resources are the building blocks of your FiveM server. They can be scripts, maps, vehicles, or other assets that add functionality and content to your server. Understanding how to properly install and manage resources is essential for running a successful FiveM server.

This guide will walk you through the process of installing and managing resources, from downloading to configuration and troubleshooting.

Types of Resources

Scripts

Lua or JavaScript code that adds functionality to your server

Examples:

  • Job systems
  • Custom HUDs
  • Admin tools
  • Economy systems

Maps/MLOs

Custom maps and interiors for your server

Examples:

  • Custom buildings
  • Interior modifications
  • New locations
  • Map extensions

Vehicles

Custom vehicles for your server

Examples:

  • Car packs
  • Custom emergency vehicles
  • Tuned vehicles
  • Special vehicles

Weapons

Custom weapons and weapon modifications

Examples:

  • Weapon packs
  • Custom weapons
  • Weapon attachments
  • Weapon skins

Clothing/Props

Custom clothing and props for your server

Examples:

  • Clothing packs
  • Custom uniforms
  • Accessories
  • Props and items

Resource Structure

Basic Resource Structure

A typical FiveM resource consists of several files and folders organized in a specific structure. Understanding this structure is important for properly installing and managing resources.

Resource Structure
my_resource/
  ├── fxmanifest.lua    # Resource manifest (required)
  ├── client.lua        # Client-side code
  ├── server.lua        # Server-side code
  ├── config.lua        # Configuration file
  ├── ui/               # UI files (if needed)
  │   ├── index.html
  │   ├── style.css
  │   └── script.js
  └── stream/           # Streamed assets (if needed)
      └── assets.ytd

The fxmanifest.lua file (or __resource.lua for older resources) is the most important file in a resource. It tells FiveM what files to load and how to load them.

Resource Manifest

The manifest file (fxmanifest.lua) defines how the resource works and what files it includes. Here's a basic example:

fxmanifest.lua
fx_version 'cerulean'
game 'gta5'

author 'Your Name'
description 'Description of your resource'
version '1.0.0'

client_scripts {
    'config.lua',
    'client.lua'
}

server_scripts {
    'config.lua',
    'server.lua'
}

ui_page 'ui/index.html'  -- Only if you have UI

files {                  -- Files to be downloaded by clients
    'ui/index.html',
    'ui/style.css',
    'ui/script.js'
}

The manifest specifies which files should run on the client side, which should run on the server side, and which files should be downloaded by clients (like UI files).

Resource Installation Guide

1. Download the Resource

First, download the resource from a trusted source. This could be:

  • Official FiveM forums
  • Trusted marketplaces (Tebex, etc.)
  • GitHub repositories
  • Discord communities

Always verify the source of your resources. Malicious scripts can compromise your server and players' data.

2. Extract and Prepare

Extract the downloaded files (usually a .zip or .rar file) and prepare them for installation:

  • Extract the files to a temporary location
  • Read any included documentation or installation instructions
  • Check for dependencies that need to be installed first
  • Verify the resource structure (should have a fxmanifest.lua or __resource.lua file)
Proper folder structure is crucial for resources to work correctly

3. Install Dependencies

Many resources depend on other resources to function properly. Common dependencies include:

  • Framework: ESX, QBCore, etc.
  • Database: mysql-async, oxmysql, etc.
  • Utility scripts: es_extended, async, etc.

Make sure all dependencies are installed and working before proceeding.

Pro Tip: Start your server with the -v flag to see detailed error messages that might indicate missing dependencies.

4. Copy to Resources Folder

Copy the resource folder to your server's resources directory:

server-data/resources/[category]/[resource_name]

It's a good practice to organize resources into categories:

  • [core] - Core resources like frameworks
  • [esx] or [qb] - Framework-specific resources
  • [standalone] - Resources that don't depend on a framework
  • [maps] - Map resources
  • [vehicles] - Vehicle resources
  • [scripts] - Custom scripts

5. Configure the Resource

Most resources have a configuration file (usually config.lua or config.json) that needs to be edited:

  • Open the configuration file in a text editor
  • Adjust settings according to your server's needs
  • Configure framework integration if needed
  • Set up database connections if required
  • Save the changes

Pro Tip: Make a backup of the original configuration file before making changes. This makes it easier to revert if something goes wrong.

6. Add to server.cfg

Add the resource to your server.cfg file to ensure it starts with your server:

server.cfg
# Start the resource
ensure my_resource

# Or with priority (lower number = higher priority)
ensure [0] mysql-async    # Database should start first
ensure [5] es_extended    # Framework next
ensure [10] my_resource   # Your resource after dependencies

The ensure command tells the server to start the resource. Make sure to add it after any dependencies.

7. Import Database Files

If the resource includes database files (usually .sql files), you'll need to import them:

  • Locate the .sql files in the resource
  • Import them into your database using phpMyAdmin, MySQL Workbench, or command line
  • Check for any database errors
mysql -u username -p database_name < resource_name.sql

Replace username and database_name with your actual database credentials.

8. Start and Test

Finally, start or restart your server and test the resource:

  • Restart your server or use the refresh and start resource_name commands
  • Check the server console for any errors
  • Join the server and test the resource functionality
  • Verify that it works as expected
If you make changes to the resource, you can use the refresh command followed by restart resource_name to apply them without restarting the entire server.

Troubleshooting Common Issues

Resource fails to start

1

Check the server console for error messages

2

Verify that all dependencies are installed and started first

3

Check for syntax errors in the resource files

4

Ensure the resource folder name matches the name in fxmanifest.lua

5

Try starting the resource manually with the 'start' command

Missing dependencies

1

Read the resource documentation to identify required dependencies

2

Install all required dependencies

3

Ensure dependencies are started before the resource in server.cfg

4

Check for version compatibility between resources

Database errors

1

Verify database connection settings

2

Check that all required tables exist in the database

3

Ensure the database user has proper permissions

4

Import any missing SQL files

5

Check for database version compatibility

Script errors during gameplay

1

Check the client console (F8) for error messages

2

Look for errors in the server console

3

Verify configuration settings

4

Check for conflicts with other resources

5

Try disabling other resources to isolate the issue

Advanced Resource Management

Resource Commands

These commands can be used in the server console to manage resources:

start [resource]

Starts a resource that isn't currently running

stop [resource]

Stops a running resource

restart [resource]

Restarts a running resource

refresh

Refreshes the resource list (use after adding new resources)

list

Lists all resources and their status

Resource Management Best Practices

1

Organize resources into categories using folders like [core], [scripts], [maps], etc.

2

Use version control (like Git) to track changes to your resources

3

Create backups before making major changes

4

Document changes to resources and configurations

5

Test resources on a development server before deploying to production

6

Monitor performance after adding new resources

Need Help With Resources?

Join our Discord community to get help with resource installation, configuration, and troubleshooting. Our experienced members are ready to assist you with any questions you might have.