/
mc-node.net →
FiveM

How do I add addon cars to my FiveM server?

Updated 31/08/20265 min read
In this article
  1. Addon or replace: what is the difference?
  2. The folder structure of a vehicle resource
  3. Step 1: upload the resource via SFTP
  4. Step 2: enable the resource in server.cfg
  5. Step 3: test the car in-game
  6. Making the car purchasable in ESX
  7. Making the car purchasable in QBCore
  8. Common problems
  9. Further reading

GTA V ships with hundreds of vehicles, but a roleplay or racing server only truly stands out with custom cars. In this guide you will install an addon vehicle on your FiveM server: upload the resource via SFTP, enable it in server.cfg, test it in-game and then make the car purchasable in the ESX or QBCore vehicle shop.

Addon or replace: what is the difference?

Custom vehicles come in two flavours. A replace vehicle overwrites an existing GTA model: its files carry the name of a stock car (for example adder.yft) and everyone who spawns that model will see the new car from then on. An addon vehicle is added to the game as a completely new model with its own spawn name, without overwriting anything. Addon is almost always the better choice: you keep all original cars, avoid conflicts between resources and can give the vehicle its own price and shop category. This guide therefore focuses on addon cars.

The folder structure of a vehicle resource

An addon car is a regular FiveM resource. Inside the folder you will usually find:

  • fxmanifest.lua — describes the resource and points to the meta files.
  • stream/ — the model files: .yft (the 3D model, often with a _hi.yft variant) and .ytd (the textures).
  • data/ — the meta files: vehicles.meta (model name and spawn data), carvariations.meta (colours and variants), carcols.meta (tuning options and lights) and handling.meta (driving behaviour). Some cars ship extra files such as vehiclelayouts.meta.

You will find the spawn name in vehicles.meta inside the <modelName> tag — this guide uses sultan3 as an example. You will need that name later for spawning and for the shop.

Step 1: upload the resource via SFTP

  1. Connect to your server via SFTP with FileZilla or WinSCP, for example. Our SFTP article explains how.
  2. Open your FiveM server's resources folder. A subfolder in square brackets, such as resources/[cars], keeps things tidy — FiveM scans bracketed folders automatically.
  3. Upload the complete vehicle folder (for example sultanclassic) into that subfolder.
  4. Make sure fxmanifest.lua sits directly inside the vehicle folder and not in an extra nested folder — the most common mistake with extracted downloads.

Step 2: enable the resource in server.cfg

  1. In the MC-Node panel, open the Files tab and open server.cfg.
  2. Add a line at the bottom: ensure sultanclassic. Use the resource's folder name here, not the spawn name.
  3. Save the file and restart your server from the Console tab.

Step 3: test the car in-game

  1. Join your server, open your admin menu — vMenu or the txAdmin menu, for example — and pick the option to spawn a vehicle.
  2. Enter the spawn name (sultan3). On an ESX server with default commands, /car sultan3 works too.
  3. If the car appears, the resource is running. Take a moment to check the handling and whether all textures load.

Making the car purchasable in ESX

The default esx_vehicleshop reads its stock from the vehicles database table.

  1. In the panel, open the Databases tab and use the credentials shown there to log in to the database panel (phpMyAdmin).
  2. Select your server's database and open the SQL window.
  3. Run this query: INSERT INTO vehicles (name, model, price, category) VALUES ('Sultan RS Classic', 'sultan3', 125000, 'sports');
  4. Note: model must match the spawn name exactly and the category must exist in the vehicle_categories table.
  5. Restart the vehicle shop resource or the whole server; the car now shows up at the dealership.

Making the car purchasable in QBCore

QBCore does not use a database table but a shared config file.

  1. Via the Files tab, open resources/[qb]/qb-core/shared/vehicles.lua.
  2. Add a new entry, for example: { model = 'sultan3', name = 'Sultan RS Classic', brand = 'Karin', price = 125000, category = 'sports', type = 'automobile', shop = 'pdm' },
  3. The value shop = 'pdm' puts the car in the default vehicle shop; category decides which tab it appears under in the shop menu.
  4. Fully restart the server from the Console tab — shared files are only loaded at startup.

Common problems

  • Streaming lag or invisible cars — Oversized .ytd files (4K textures of tens of megabytes) fill up players' texture memory, causing lag, pop-in or invisible vehicles. Downscale textures to 2K or use an optimized version of the car.
  • Duplicate spawn names — Two resources with the same modelName conflict: the car will not spawn or the wrong model appears. Remove one of the resources, or rename the model, its file names and every meta reference consistently.
  • Car does not appear in the shop — Usually the shop category was forgotten or is wrong. In ESX the category must exist in vehicle_categories; in QBCore it must match the categories in the shop config. Also check that the spawn name in the shop matches exactly.
  • Resource will not start — Check the error in the Console tab. Does the folder name in your ensure line match, and is fxmanifest.lua directly inside the vehicle folder?
  • Model not found when spawning — The resource is not running or you typed the wrong spawn name. Verify the name in vehicles.meta and restart the server after changes.

Further reading

New to databases? Read how to create a database and how to connect to your database. If your server still feels sluggish after adding cars, also check our guide on server lag. Stuck anyway? Open a ticket via our support page and include the resource name and the error from the console.