On this page
Torchlite offers two Assetto Corsa servers, and they work quite differently. Assetto Corsa is Kunos's own dedicated server. Assetto Corsa (Freeroam + AI) runs AssettoServer, a community server built for free roam and AI traffic. This guide covers the Steam login the first one needs, adding cars and tracks to both, and how players connect.
Which server to pick
| Assetto Corsa | Assetto Corsa (Freeroam + AI) | |
| Server software | Kunos acServer | AssettoServer |
| Downloaded from | Steam, with your login | AssettoServer's GitHub releases |
| Steam login needed | Yes | No |
| Starts with | Whatever the Kunos download contains | BMW M3 E30 on Magione |
| Built for | Practice, qualifying and races | Cruising, traffic, drift lobbies |
Pick the first for a classic race server. Pick Freeroam + AI to drive around a map with friends or with traffic, which also spares you the whole Steam login part of this guide.
Why the standard server needs a Steam login
Kunos publishes the dedicated server as its own app on Steam, and Steam only lets accounts that own Assetto Corsa download it. The anonymous download that works for many other games is refused, so the install has to log in as someone who owns the game.
When you create the server on torchlite.host, the setup step asks for Steam Username and Steam Password. Anything you leave empty is filled with changeme so the server can still be created. With changeme as the login, the install cannot download anything, and the server will not start until you fix it.
To fix or change the login later, open Startup in the panel, correct Steam Username and Steam Password, then go to Settings and press Reinstall Server. The install output appears in the Console, so you can watch the login happen.
Admin Password is unrelated to Steam: it is the password you type in game to become race admin. Each server gets a random one; read it on Startup, or replace it with your own (at least 8 characters).
Use a separate Steam account
We strongly suggest a second Steam account that owns Assetto Corsa and nothing else, instead of your main one:
- The login is stored as an ordinary startup variable, shown in plain text on the Startup page. Anyone who can open that page, such as a subuser, can read it.
- If the password ever leaks, you lose one copy of a racing game, not your library, inventory or wallet.
- A dedicated account can use Steam Guard by email, which works with the install. The mobile authenticator does not, as the next section explains.
Buy or gift the game to the new account, give it a password you use nowhere else, and never add a payment method to it.
Getting past Steam Guard
Steam Guard wants a code when an account logs in from a machine it has not seen, and the server is one. The egg has a Steam Auth Code field for this. With email Steam Guard:
- Leave Steam Auth Code empty and press Reinstall Server. The login fails and Steam emails a code to the account.
- Paste the code into Steam Auth Code on Startup.
- Press Reinstall Server again straight away. Codes expire, and the egg itself warns that a slow install can outlive one.
- When the install finishes, clear Steam Auth Code. A code only works once.
Mobile authenticator codes change every 30 seconds. The install downloads SteamCMD before it logs in, so such a code is usually stale by the time it is used.
With Auto Update at 1, the default, every start logs in to Steam again to look for updates. SteamCMD normally remembers the machine after one successful code. If a start ever fails at the Steam login, set Auto Update to 0; Assetto Corsa hardly gets updates any more, so you lose very little.
Add cars and tracks
Every car and track the server runs needs a copy on the server. Check content/cars and content/tracks in Files to see what is there, then upload what is missing, with the folder names exactly as on your PC:
content/
cars/
my_mod_car/
tracks/
my_mod_track/Whole folders work. Content Manager, the launcher most players use, can also pack a server preset with only the files a server needs, which makes the upload much smaller. Big uploads are easiest as one zip over SFTP, unpacked with Unarchive in the file manager.
Then stop the server and edit cfg/server_cfg.ini. In [SERVER], CARS lists car folders separated by semicolons, TRACK is the track folder and CONFIG_TRACK the layout folder, empty for tracks without layouts:
[SERVER]
CARS=bmw_m3_e30;my_mod_car
TRACK=my_mod_track
CONFIG_TRACK=
MAX_CLIENTS=12
PICKUP_MODE_ENABLED=1
REGISTER_TO_LOBBY=1cfg/entry_list.ini has one block per grid slot, numbered from CAR_0. MODEL must be one of the names in CARS, and SKIN a folder from that car's skins folder:
[CAR_0]
MODEL=my_mod_car
SKIN=red
SPECTATOR_MODE=0
DRIVERNAME=
TEAM=
GUID=
BALLAST=0
RESTRICTOR=0Keep the number of blocks in line with MAX_CLIENTS and with the track's pit boxes. With PICKUP_MODE_ENABLED=1, players take any free car from the list.
Do not edit the server name, passwords or ports in this file. On every start the panel rewrites NAME, PASSWORD, ADMIN_PASSWORD and the three port lines from Startup, so change them there.
The Freeroam + AI server
This one installs the latest AssettoServer release from GitHub and never asks for a Steam login. On Startup you set Server name, Server Password, Admin Password and Max clients (2 to 25); Http port is shown read-only.
It starts with the BMW M3 E30 on Magione, Kunos content every player owns. The server holds no copy of it, so the install tells AssettoServer not to stop over the missing car checksums. The install also fills cfg/entry_list.ini with one M3 per Max clients, but only when the file is empty: raise Max clients later and you add the extra blocks yourself.
To run your own content, upload it as above, change CARS, TRACK and CONFIG_TRACK in cfg/server_cfg.ini, and update the MODEL lines in cfg/entry_list.ini.
AI traffic stays off until you switch it on, and it needs three things:
- A
fast_lane.aispline in the track'saifolder, inside the layout folder if the track has layouts. Free roam maps made for traffic usually ship one. EnableAi: trueincfg/extra_cfg.yml, where the default file hasfalse.- An
AIline on the entry list blocks traffic may use:AI=autolets traffic drive the car while no player has it,AI=fixedkeeps it for traffic only.
Restart after the changes. Reinstall Server also updates AssettoServer; the install only fetches config files that are missing, so yours stay. Take a backup first anyway.
Ports and joining
The panel attaches two ports to every Assetto Corsa server when it is created, and you cannot add more. Both are listed on the Network page:
| Port | Protocol | Used for |
| Main port (marked Primary) | TCP and UDP | Game traffic while driving |
| Second port | TCP | HTTP: the lobby and Content Manager query it before joining |
The panel writes both into server_cfg.ini on every start. With REGISTER_TO_LOBBY=1, the server shows up in the online list under its name. To join directly, add it in Content Manager by its IP and the HTTP port, not the main one.
In game, type /admin and your Admin Password in the chat to get admin rights, then /help for the commands. The server also needs renewing while it runs, as the renewal guide explains.
Common problems
The install fails at the Steam login
Check Steam Username and Steam Password on Startup: changeme means nothing was filled in at creation. Make sure the account owns Assetto Corsa, then press Reinstall Server.
Steam Guard keeps rejecting the code
The code expired or was already used. Reinstall with the field empty to get a fresh one, paste it and reinstall at once. On the mobile authenticator, switch the account to email Steam Guard.
My name or password changes keep reverting
You edited server_cfg.ini, and the panel overwrote it on the next start. Use Server Name, Server Password and Admin Password on Startup instead.
Players are kicked with a checksum error
Their copy of a car or track differs from the server's. Everyone needs the exact same version of every mod, so share the files or the link you used.
The Freeroam server has no traffic
Check all three requirements: the spline in the right ai folder, EnableAi: true, and entries with AI=auto or AI=fixed. A missing fast_lane.ai is the usual cause.
Stuck on a step?
Ask on the forum. Your question links back to this guide, so whoever answers knows where you are.
About the author
Torchlite team
The people who run Torchlite
We build and run the Torchlite panel and the nodes. Every guide is checked on our own servers before it goes up, and updated when the panel changes.



