This guide explains how to install custom tracks, cars, and skins on your Assetto Corsa dedicated server hosted with Legion Hosting. For basic server configuration, see the Assetto Corsa Server Setup Guide.
Content Directory Structure
The server reads custom content from two directories:
| Directory | Contents |
|---|---|
content/cars/ |
Each subfolder is a car. Contains data/, skins/, model.ini, and other car data files. |
content/tracks/ |
Each subfolder is a track. Contains data/, models/, surfaces.ini, and optionally layout variant subfolders. |
Uploading Custom Content via SFTP
Use an SFTP client such as FileZilla to upload content to your server. See the SFTP file upload guide for connection instructions. Your SFTP credentials are shown in GPanel under the Files tab.
Installing a Custom Car
- Download the custom car from a trusted source (e.g. RaceDepartment). The download should contain a folder with the car's internal name (e.g.
my_custom_car). - Connect to your server via SFTP using the credentials from GPanel.
- Upload the entire car folder to
content/cars/. The result should becontent/cars/my_custom_car/with subfolders likedata/andskins/inside. - Open
cfg/server_cfg.iniin the GPanel file editor and add the car folder name to theCARSline, separated by a semicolon:CARS=ks_ferrari_f40;ks_bmw_m3_e30;my_custom_car - Open
cfg/entry_list.iniand add one or more[CAR_N]grid slots for the new car. SetMODELto the car folder name andSKINto a valid skin folder name inside the car'sskins/directory:[CAR_4] MODEL=my_custom_car SKIN=default SPECTATOR_MODE=0 DRIVER_NAME= TEAM= GUID= BALLAST=0 - Start the server and check the GPanel console log for any errors.
Installing a Custom Track
- Download the custom track from a trusted source. The download should contain a folder with the track's internal name (e.g.
my_custom_track). - Connect to your server via SFTP.
- Upload the entire track folder to
content/tracks/. The result should becontent/tracks/my_custom_track/. - If the track has layout variants, make sure the variant subfolders are preserved inside the track folder (e.g.
content/tracks/my_custom_track/full/,content/tracks/my_custom_track/short/). - Open
cfg/server_cfg.iniand update the track settings:TRACK=my_custom_track CONFIG_TRACK=fullIf the track has no layout variants, leave
CONFIG_TRACKempty. - Start the server and check the GPanel console log for any errors.
Installing Custom Skins
Custom skins are placed inside the car's skins/ directory. Each skin is a subfolder containing texture files.
- Download the custom skin. It should be a folder containing
.ddsor.pngtexture files (e.g.my_livery/). - Upload the skin folder to
content/cars/<car_name>/skins/. The result should becontent/cars/ks_ferrari_f40/skins/my_livery/. - To use the skin on a grid slot, update the corresponding
[CAR_N]block incfg/entry_list.ini:SKIN=my_livery
Verifying Installed Content
After uploading, you can verify your content is correctly installed:
- In the GPanel Files tab, navigate to
content/cars/orcontent/tracks/and confirm the folder names match what you set inserver_cfg.ini. - Start the server and watch the console log. If the server cannot find a referenced track or car, the error message will name the missing file or folder.
- If using Content Manager on the client side, it will display missing content warnings before a join attempt, making it easy to identify what players still need to install.
TRACK, CARS, MODEL, and SKIN must exactly match the folder names on disk. A mismatch in capitalization will cause the server to fail to start or produce checksum errors.
Related Articles
- Assetto Corsa: Server Setup Guide
- Assetto Corsa: Troubleshooting Common Issues
- How to Upload Files via SFTP