Euro Truck Simulator 2: Convoy Server, Mods and Settings
How to export your server packages, set up server_config.sii, get a logon token and get your players in with the right mods.
The server does not know your mods - a file does
A Euro Truck Simulator 2 server works differently from most. The server itself has neither the game, the DLC nor any mods installed. Everything it needs to know about the map, your DLC and your mods lives in two files that you generate in the game and upload.
That means three things:
- You have to export those files from your own computer before the server can even start
- You have to export them again every time you change mods or DLC
- Your players need exactly the same mods in the same order as the ones you exported with
The three files
| File | Where it comes from |
|---|---|
server_config.sii |
Created automatically the first time the server starts |
server_packages.sii |
You export it from the game |
server_packages.dat |
You export it from the game |
All three live in the server's home folder, which you find under Files in the Potionhost control panel.
Without the
server_packagesfiles the server will not start. The error in the log isServer packages file not found.
Step 1 - Export your server packages
This is done in the game on your own computer, not on the server.
- Find your game folder under
Documents/Euro Truck Simulator 2/and openconfig.cfg. - Change these two lines:
uset g_developer "1"
uset g_console "1"
- Launch the game and load the profile that has exactly the mods and DLC the server should run - enabled, in the right order.
- Drive into the game world so the map is loaded.
- Open the console with the key above Tab (
~, or²on an AZERTY keyboard) and type:
export_server_packages
- The two files are now in
Documents/Euro Truck Simulator 2/. Upload both to the server's home folder. - Restart the server.
Export again every time you: add, remove or update a mod, enable or disable a DLC, or change map mod. The files are a snapshot of your game setup - not a live connection.
Step 2 - server_config.sii
The file is created by the server itself on first startup. Stop the server, then edit it:
lobby_name: "My convoy server"
description: ""
welcome_message: ""
password: ""
max_players: 8
max_vehicles_total: 100
max_ai_vehicles_player: 50
max_ai_vehicles_player_spawn: 50
connection_virtual_port: 100
query_virtual_port: 101
connection_dedicated_port: 27015
query_dedicated_port: 27016
server_logon_token:
player_damage: true
traffic: true
hide_in_company: false
hide_colliding: true
force_speed_limiter: false
mods_optioning: false
timezones: 2
service_no_collision: false
in_menu_ghosting: false
name_tags: true
| Key | Default | Meaning |
|---|---|---|
lobby_name |
- | The name in the session browser. Max 63 characters |
description |
"" |
Description. Max 63 characters |
welcome_message |
"" |
Welcome message. Max 127 characters |
password |
"" |
Password to join |
max_players |
8 |
The officially supported ceiling is 8 players |
max_vehicles_total |
100 |
Total vehicles in the session |
player_damage |
true |
Whether players can damage each other |
traffic |
true |
AI traffic |
hide_in_company |
false |
Hide other players inside company areas |
hide_colliding |
true |
Hide a colliding vehicle after a teleport |
force_speed_limiter |
false |
Force the speed limiter on everyone |
mods_optioning |
false |
true makes mods marked optional genuinely optional |
service_no_collision |
false |
No collisions at service stations |
in_menu_ghosting |
false |
No collisions while a player has the game paused |
name_tags |
true |
Name tags above vehicles |
Moderators are added with a count and an indexed list of SteamID64s:
moderator_list: 2
moderator_list[0]: 76561198000000000
moderator_list[1]: 76561198000000001
They become moderators automatically on joining and can use commands such as /set_time and /set_rain_factor.
friends_onlyandshow_serverappear in the file but are not used on a dedicated server. They do nothing, whatever you set them to.
Step 3 - Get a logon token
Without a token the server runs on an anonymous account and gets a new server ID every time it restarts. That makes it hard to find again and unreliable to favourite.
- Go to Steam's game server account page at steamcommunity.com/dev/managegameservers.
- Create a token using the game's app ID: 227300 - not the server tool's ID.
- Put it into
server_config.sii:
server_logon_token: your_token_here
Use the game's app ID, not the server's. A token from the wrong game fails login with error 15. An invalid or expired token gives error 106.
One token per running server. Two servers sharing a token will conflict.
Ports: two kinds, and only one needs opening
This confuses almost everyone.
| Type | Keys | Default | Needs opening? |
|---|---|---|---|
| Virtual ports | connection_virtual_port, query_virtual_port |
100 and 101 |
No. They are internal identifiers in Steam's networking layer, not real ports. Valid range is 100-200 |
| Dedicated ports | connection_dedicated_port, query_dedicated_port |
27015 and 27016 |
Yes. These are what Steam uses to list the server in the session browser |
If you run several servers on one machine, each instance needs its own dedicated ports, its own virtual ports and its own token.
Mods on a convoy server
As noted, the server holds no mod files. Everything is decided by what you had enabled when you ran export_server_packages.
So:
- Every player needs the same mods installed and enabled, in the same order. Otherwise they cannot join.
- For a mod to be genuinely optional for players, the mod itself has to be marked optional and
mods_optioninghas to betrue. - Uploading
.scsfiles to the server makes no difference. That is not how mods work here.
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
Server packages file not found |
The server_packages files are missing |
Export them in the game and upload both |
| The server is not in the session browser | The dedicated ports are not open | Open 27015 and 27016 |
| Still not visible | The server has no public IP | Use direct search - dedicated servers do not support NAT punching |
| The server changes identity on every restart | Missing server_logon_token |
Get a token and put it in |
| Login fails with error 15 | The token is from the wrong game | Create the token with app ID 227300 |
| Login fails with error 106 | Invalid or expired token, or it is in use elsewhere | Create a new one |
| Players cannot join - mod mismatch | Their mods or order do not match the export | Export again and have them match the list |
| Mods were updated and now nothing works | server_packages predates the update |
Export and upload again |
Steam disconnected and the server closes |
The Steam connection dropped | Known behaviour - start the server again |
| Two servers conflict | Same ports or same token | Give each instance its own |
Good advice
- Keep a copy of the
server_packagesfiles that work. When troubleshooting it is good to be able to go back. - Write a fixed list of your mods and their order, and share it with your players. The order matters as much as the mods themselves.
- Always export from a profile set up exactly as the server should run - not from your everyday profile with random mods enabled.
- Set
welcome_messageto your Discord link. It is the one place everyone sees it. - Remember to export again after a game update that changes the map.
Can your players not join? Send us your mod list and server_config.sii in a ticket.