VGKAMI
Advertise Get listed

Game Guides

How to Install Mods on a FiveM Server

October 26, 2026 12 min read

Most FiveM “mods” are installed as resources: folders containing client scripts, server scripts, maps, vehicles, or other streamed assets. You install a resource by placing the folder that contains its fxmanifest.lua under your server’s resources/ directory, configuring any documented dependencies, adding its exact folder name to server.cfg with ensure, and then checking the console and in-game behavior.

This guide covers both an existing FXServer and a new server deployed through txAdmin. It also explains folder layout, load order, Windows and Linux considerations, common startup errors, backups, and safe rollback procedures.

What is a FiveM mod, and where does it go?

In FiveM terminology, a downloadable mod is usually a resource. A resource is a self-contained package that can include Lua, JavaScript, or C# scripts, map data, vehicle files, UI files, and configuration. Cfx.re describes FiveM servers as running on a collection of resources.

Resources belong in the server-data directory’s resources/ folder. The resource itself must contain fxmanifest.lua; older packages may use the legacy __resource.lua manifest. FiveM uses that manifest to determine which scripts and streamed files to load.

server-data/
  resources/
    [scripts]/
      my_resource/
        fxmanifest.lua
        client.lua
        server.lua

Folders in square brackets, such as [scripts] or [cars], are category folders. They group resources for organization; they are not normally the resource name you put in an individual ensure line. Do not confuse the archive’s outer folder with the actual resource folder: the folder you install is the one containing the manifest.

What do I need before installing a resource?

You need an operating server, access to its server-data directory, and permission to edit the active server.cfg. A new server also needs FXServer and a Cfx.re license key. txAdmin is bundled with FXServer and can deploy a basic FiveM server through a browser-based recipe.

Existing server checklist

  • Confirm which server-data directory the live process uses.
  • Locate the active server.cfg, especially if txAdmin manages the server.
  • Back up the entire server-data folder, server.cfg, and txAdmin’s txData before changing resources.
  • Make sure you can read the server console or txAdmin live log.
  • Check whether the resource requires a particular framework, database, library, game build, or permission system.

Setting up a new server

For a new installation, use the recommended FXServer artifact for your operating system, extract it, and launch FXServer.exe on Windows or the supplied Linux run script on Linux. On first launch, follow the txAdmin setup page, link your Cfx account, choose the FiveM Basic or CFX Default recipe, create a server registration key, and deploy the server.

On GTAV Enhanced, install the Microsoft Visual C++ 2017 Redistributable before running the server. A missing runtime can prevent the server process from starting even when the resource files are correct.

How do I install a FiveM resource step by step?

The reliable sequence is: back up the server, inspect the package, extract the correct folder, configure it, add an exact ensure entry, and verify the result in the console and in game.

1. Back up the active server

Stop the server or use a maintenance window, then make a dated copy of the server-data directory. Include the active server.cfg and txAdmin data. A backup gives you a known-good rollback point if a script crashes the server, changes database data, or conflicts with another resource.

2. Inspect the download before copying anything

Use a source you trust and download a package explicitly made for FiveM and your server’s game or framework. Read its README before extracting it. Record every stated dependency, framework version, database migration, convar, permission, and required start order.

Open the archive and locate the directory containing fxmanifest.lua or __resource.lua. That directory is the resource. If you see a path such as download-name/five-resource/fxmanifest.lua, install five-resource, not the unnecessary outer download-name folder. A deeply nested or duplicated path is a common reason a resource never appears.

3. Copy the resource into resources

In the server-data directory, open resources/. Copy the resource folder directly there, or place it one level below a bracketed category folder.

server-data/
  resources/
    my_resource/
      fxmanifest.lua

or

server-data/
  resources/
    [scripts]/
      my_resource/
        fxmanifest.lua

Do not place the manifest in an extra directory level, and do not rename files referenced by the manifest. If the package contains several separate resources, inspect each manifest and install each resource in its own folder unless the author’s instructions specify a different layout.

4. Configure only documented settings

Open the configuration files named by the author. Typical settings include framework references, coordinates, permissions, database connection details, key bindings, convars, and feature toggles. Preserve the supplied manifest and edit configuration rather than replacing core files.

Keep database passwords, license keys, and other secrets out of public repositories and screenshots. If the README includes a SQL migration, apply it using the database procedure documented for your server before testing features that depend on the new tables.

5. Add the resource to server.cfg

Add an ensure line using the resource folder’s exact name, including capitalization and underscores:

ensure my_resource

FiveM defines ensure [resourceName] as starting a stopped resource or restarting it if it is already running. Put required libraries and frameworks before the resource that consumes them. Keep the standard resources from your server template unless you intentionally replace them.

If a resource is inside resources/[scripts]/my_resource, the individual line is still ensure my_resource. FiveM can also ensure a category, but starting individual resources makes dependencies and failures easier to identify.

6. Restart and test

Restart through txAdmin or the normal server process. For a running server, you can issue the command in the server console:

ensure my_resource

Watch the console and txAdmin live log for manifest errors, missing dependencies, script exceptions, and asset warnings. Then join the server and exercise the feature: use the documented command, open the UI, spawn the vehicle, visit the map location, or test the item the resource provides. A resource that reports “started” can still have a runtime or configuration problem that only appears in game.

How should resources and dependencies be ordered?

Load order matters whenever one resource expects another resource’s exports, events, shared objects, database tables, or framework services. Start the provider before the consumer.

Typical dependency pattern

  1. Start core or framework resources.
  2. Start shared libraries and utility resources.
  3. Start database or inventory resources required by the feature.
  4. Start the new script, map, vehicle pack, or UI resource.

Use the exact dependency names from the README; do not infer them from the download’s filename. If the author supplies a block of ensure lines, preserve its order unless you have a specific reason to change it. A missing export or “no such resource” error usually means the dependency is absent, misnamed, or started too late.

Some packages include both a framework-specific version and a standalone version. Install only the variant that matches your server. Running both can produce duplicate commands, conflicting events, or repeated database writes.

What is the difference between common FiveM resource types?

The installation location is broadly the same, but the files and verification test differ by resource type.

Resource type What it usually contains What to verify after starting
Script Client/server scripts, configuration, commands, and framework hooks Console starts cleanly; commands, permissions, events, and UI work
Map or MLO Map definitions, streamed models, collisions, and placement data Travel to the documented coordinates and check interiors, collisions, and props
Vehicle pack Vehicle metadata, models, textures, handling, and names Use the documented spawn name and check model, sound, handling, and texture loading
Clothing or streamed asset Component, drawable, texture, or other streamed files Open the relevant clothing or appearance menu and confirm the asset is present
UI resource Client scripts, browser files, NUI pages, and callbacks Open the feature in game and check both display and server callbacks

The table describes common patterns, not a substitute for the package README. A map may also require a separate IPL or loader resource, while a script may require a database migration or framework export.

Should I use txAdmin or the vanilla FXServer workflow?

Both workflows run the same resources. txAdmin provides a browser panel for deployment and process management; the vanilla workflow gives you direct control over the server process and configuration files.

Deployment path Best for Important details
txAdmin New administrators who want guided deployment and an operational panel Bundled with FXServer; first-time setup normally opens at localhost:40120 on the host; use the panel to start, stop, restart, and inspect resources
Vanilla FXServer Administrators who already manage artifacts, launch parameters, and files directly Launch from the correct server-data directory, select the intended config, and monitor the process console yourself

Installing through txAdmin

Start FXServer without +exec arguments for first-time panel initialization. Open the URL shown by the process, link your Cfx account, deploy the CFX Default recipe, and create the server registration key when prompted. Once deployed, use the panel’s resource and live-console views to restart or inspect the resource.

When editing an established txAdmin server, make sure you select the active data folder and configuration file. Editing a template or an unused copy of server.cfg will not change the running server.

Installing without txAdmin

Place the resource in the server-data directory used by your launch command, edit that directory’s active server.cfg, and restart the normal FXServer process. If the process is pointed at a different data directory, changes made elsewhere will appear to have no effect.

Why does a FiveM resource fail to start?

Most startup failures are path, name, manifest, dependency, or configuration problems. Read the first meaningful error in the console rather than fixing only the final cascade of messages.

“No resources found” or “Failed to start resource”

Verify that FXServer was launched from the correct server-data directory. The vanilla setup guidance specifically warns that a wrong working directory can produce these messages. Confirm that the resource is under resources/, that the manifest is inside the resource folder, and that the active configuration points to this directory.

The resource does not appear

  • Check that the folder is directly under resources/ or one bracketed category level.
  • Confirm the folder contains fxmanifest.lua or legacy __resource.lua.
  • Copy the exact folder name into ensure; spelling, underscores, spaces, and case matter.
  • Make sure you edited the active server.cfg, not a sample or unused file.

Dependency or export errors

Install the named dependency and start it before the resource that calls it. Check whether the package requires a particular framework branch or version. If the dependency is present but still unavailable, compare the spelling in its folder name, manifest, and ensure line.

The script crashes immediately

Read the first stack trace or error after startup, then revert your last configuration change. Test the resource with only its documented dependencies enabled. This isolates a syntax mistake, incompatible framework hook, permission issue, or conflicting resource without the noise of unrelated scripts.

Assets are missing in game

Inspect the manifest’s files and data entries, and compare streaming folder names with the package’s README. Test at the documented location or with the documented spawn name. Clear only the relevant client cache if the resource author explicitly documents that step; indiscriminate cache deletion can make diagnosis harder.

Configuration edits disappear

txAdmin may be running a different data folder or configuration file than the one you opened. In the panel’s existing-server setup, select the actual server-data directory and active configuration. Then make the change there, restart the resource, and confirm the new value in the live log or in game.

What changes on Windows, Linux, and GTAV Enhanced?

The resource folder layout and server.cfg syntax are the same across supported operating systems, but the server executable and file paths differ. Windows uses FXServer.exe; Linux uses the supplied run script. Use the path conventions of the host operating system and avoid copying a Windows-only binary dependency into a Linux server.

On GTAV Enhanced, install the Microsoft Visual C++ 2017 Redistributable before launching the server. This prerequisite concerns the server runtime, not the placement of a particular resource.

When moving a server between hosts, copy the complete server-data directory, active configuration, and required txAdmin data, then verify absolute paths, database settings, permissions, and launch arguments. Do not assume that a resource’s README path examples match the new host.

How do I keep a modded FiveM server safe and maintainable?

Resource installation is an ongoing maintenance task. Treat each package as code that can affect players, data, and server permissions.

  • Use trusted sources: Review the author, release notes, license, and community reports before installing unfamiliar code.
  • Stage changes: Test new resources on a private server before putting them on a public instance.
  • Limit permissions: Grant only the ACL or framework permissions the resource requires; avoid broad administrative access.
  • Track changes: Keep dated backups and record the resource version, configuration edits, and database migration applied.
  • Update deliberately: Read changelogs for breaking configuration, framework, or database changes before replacing a working version.
  • Keep rollback available: If an update causes errors, stop the server, restore the previous resource and configuration, and restore database data only when the migration changed it.

Do not overwrite a working manifest or delete a dependency merely because the new package includes similarly named files. Compare versions and follow the author’s upgrade instructions.

What should I check before declaring the installation complete?

A resource is installed successfully only when its files, dependencies, configuration, startup state, and in-game behavior all pass a check.

  1. The resource folder is in the intended server-data directory.
  2. fxmanifest.lua or __resource.lua is at the resource folder’s top level.
  3. Every README dependency is installed and ordered before the new resource.
  4. Required convars, permissions, database changes, and framework settings are present.
  5. The active server.cfg contains the exact ensure resourceName entry.
  6. The console or txAdmin log shows no startup error for the resource.
  7. The documented command, map, vehicle, item, or interface works in a real client session.
  8. A dated backup exists before the next resource or configuration change.

Frequently Asked Questions

Can I install a resource while players are connected?

You can issue an ensure command on a running server, but players may see missing assets, interrupted scripts, or inconsistent state while it restarts. Use a maintenance window for resources that change databases, inventories, framework events, or streamed maps.

Do I need to unzip every file from a downloaded archive?

No. Install the resource directory that contains the manifest and keep any separate documentation or optional variants outside the live resource tree. Copying an archive’s wrapper folders can hide the manifest and make the server report that the resource is missing.

How can I tell which server.cfg txAdmin is using?

Use the existing-server configuration in txAdmin to identify the selected server-data folder and configuration file, then make a harmless, documented change and confirm it appears after restart. Editing a template or another copy will not affect the process managed by the panel.

Should every folder inside resources have an ensure line?

Only resource folders with a manifest are installable resources. Bracketed folders such as [scripts] are organizational categories; add an entry for each resource you want started, or use a category start only when you understand the resulting load order.

What is the safest way to test an unfamiliar script?

Clone or back up the server, run the package on a private instance, and enable only its documented dependencies. Check its permissions, database behavior, network callbacks, and console output before moving it to a public server.