Press Enter to search

Home › Guides › Car Spawns as a Tanker

FiveM Car Spawns as a Tanker or Trailer:
Causes and Fix

A car that spawns as a tanker, a trailer or a random vanilla vehicle means the game registered the spawn name but could not stream the custom model, so it fell back to whatever was in memory. Six causes explain every case we have diagnosed; the first one alone covers most of them.

Updated: August 2026 7 min read By the FiveMRides Team

The Short Answer

The tanker is not a bug in the car. It is the engine’s fallback when a vehicle is registered but cannot be streamed: the spawn name resolved (so you do not get "Invalid model"), the game asked for the YFT and YTD, the request failed, and the last vehicle model still loaded in memory - often a tanker or trailer from traffic - got used instead. The same failure sometimes shows as the car not appearing at all after a short freeze.

Because the failure is silent, the console rarely says anything useful. The cause is almost always one of the six below, and you can check them in under ten minutes. If the car spawns correctly on a Windows test box but turns into a tanker on the Linux server, jump straight to cause 2.

Not sure whether it is a streaming problem?

If the spawn menu says "Invalid model", the car never registered - that is a manifest or meta problem, covered in the car not spawning guide. If the menu accepts the name and you get the wrong vehicle, you are on the right page.

The 6 Causes, Ranked by Frequency

1. A texture dictionary (YTD) that is too heavy

The most common cause by a wide margin. FiveM streams each texture into a segment with a hard ceiling of 16 MiB per texture. A single 4096x4096 DXT5 texture is 21.3 MB on its own, so one uncompressed 4K diffuse map is enough to break the whole car. A YTD that exceeds the overall streaming budget does the same thing. Nothing is logged; the model simply never arrives and the game substitutes another vehicle.

Fix: run the resource through the free Optimizer. It resizes any texture above the limit and applies per-type compression (BC5 normals, BC7 speculars, DXT diffuse), typically bringing a 40 to 70 MB YTD under 16 MB without visible loss. The texture loss guide covers the same root cause with a different symptom.

2. Stream/ with a capital S on a Linux server

Linux file systems are case-sensitive. A resource whose folder is named Stream/ works on Windows, then streams nothing on the production server: the metas load (so the car registers), but no YFT or YTD is ever found. This is the classic "works on localhost, tanker on the VPS" pattern, and it is common in ZIPs assembled on Windows.

Fix: rename the folder to lowercase stream/. Check data/ and the file names inside too.

3. Stream file names that do not match modelName

The game looks for modelName.yft, modelName_hi.yft and modelName.ytd using the <modelName> from vehicles.meta. If the files were renamed and the meta was not, the name resolves but the files do not. We repaired a customer car whose stream files were named polyr36nd while vehicles.meta said polyr36n: registered, never streamed, spawned as a trailer every time.

Fix: open vehicles.meta, copy the exact modelName, and rename every streamed file to use it as the base name. Confirm the spawn name against the spawn codes tool.

4. Missing or misordered data_file lines

If a data_file declaration is missing, or carvariations.meta is declared before vehicles.meta, the vehicle data loads partially. Depending on what is missing you get a model with no variation data, tuning and sirens that silently die, or a spawn that falls back to another vehicle.

Fix: every meta gets its own data_file line, in the order vehicles.meta, carcols.meta, carvariations.meta, handling.meta. The car pack guide has a complete manifest you can copy.

5. A YFT saved without a valid RSC7 header

Every streamed YFT and YTD starts with an RSC7 resource header. Some conversion tools write the file body without it, or with the wrong version and flags. The file has the right name and size, so nothing looks wrong on disk, but the client rejects it at stream time.

Fix: re-download the original ZIP and replace the YFT, or re-convert the car with a tool that writes the header correctly. A hex editor shows the problem immediately: a valid file begins with the bytes RSC7.

6. Two resources declaring the same spawn name or modkit ID

When two resources register the same modelName, or two cars share a modkit id in carcols.meta, which definition wins changes with load order. The result is random: one restart the car is fine, the next it spawns as the other car, a tanker, or a bare chassis with missing parts.

Fix: search every resource for the duplicate name or ID and rename one. If the cars came from a merged pack, the car pack guide explains how to dedupe modkit IDs, or rebuild the pack with the Carpack Builder, which does it automatically.

The Fix, Step by Step

  1. Bring every texture under 16 MB. Upload the resource to the free Optimizer, use the default preset, download the result. This alone fixes the majority of tanker spawns.
  2. Rename Stream to stream. Do it on the server itself, not only in the ZIP, and restart the resource.
  3. Check the file names. Every file in stream/ must use the exact modelName from vehicles.meta as its base name. Verify the spawn name with the spawn codes tool.
  4. Verify fxmanifest.lua. One data_file line per meta, vehicles.meta before carvariations.meta, no missing commas in files { }.
  5. Re-download the ZIP if the YFT is corrupted. A YFT that does not start with RSC7 cannot be repaired in place; replace it with the original.
  6. Bought it at FiveMRides? Skip the steps above and bring the resource folder to Discord: repaired or replaced, usually the same day.

After the fix, the car still lags or pops in late?

That is a different problem: a model with no LOD levels forces the full mesh at every distance. See the vehicle LOD fix guide.

Symptom, Cause, Fix

Symptom Cause Fix
Tanker or trailer on every spawn, short freeze first Texture over 16 MiB or YTD over budget Optimizer, default preset
Works on Windows, tanker on the Linux VPS Stream/ capital S Rename to stream/
Name accepted, wrong vehicle, YTD is small Stream file names differ from modelName Rename files to the meta’s modelName
Car appears but tuning, sirens or liveries are dead data_file missing or carvariations before vehicles Fix manifest order
Files look intact, client still refuses the model YFT without RSC7 header Re-download or re-convert
Random result after each restart Duplicate spawn name or modkit ID Rename or dedupe; rebuild the pack

Frequently Asked Questions

Why does my FiveM car spawn as a tanker?

The spawn name registered but the custom model could not be streamed, so the game reused a vehicle already in memory. The usual reason is a texture over the 16 MiB limit inside the YTD; the next two are a capitalized Stream/ folder on Linux and stream files whose names do not match the modelName in vehicles.meta.

Why does the car spawn as a trailer on my server but not on localhost?

Your local machine is Windows and the server is Linux. Linux is case-sensitive, so a Stream/ folder with a capital S is never read there. Rename it to lowercase stream/ on the server and restart the resource.

How big can a FiveM vehicle YTD be?

The limit that matters is per texture: no single texture may exceed 16 MiB. A 4096x4096 DXT5 texture is 21.3 MB and fails on its own. Keep the whole YTD well under 16 MB as well; optimized cars usually land between 8 and 12 MB.

Can a tool fix a car that spawns as a tanker?

Yes for the texture cause, which is the most common: the free FiveMRides Optimizer brings every texture under the limit. Folder case, file names and manifest order are one-minute manual edits. A YFT with a broken RSC7 header has to be replaced from the original download.

Fix the Texture, Fix the Tanker

Run the resource through the Optimizer: every texture under 16 MB, per-type compression, ready to stream in under a minute.

Web-based • No software to install • FiveMRides cars: repaired or replaced

Scroll to Top