RE:NODE
Обзор хостинга

Руководства12 мин чтения

Euro Truck Simulator 2 convoy dedicated server guide

Host an ETS2 Convoy server: SteamCMD install, export_server_packages, every server_config.sii key, ports, Steam tokens, mods and the 8-player cap.

Эта статья пока на английском. Мы её переводим.

0 прочтений

An Euro Truck Simulator 2 dedicated server is a small, free Steam download that runs a persistent Convoy session so your group can drive together without one person having to host and stay online. It is one of the cheapest game servers there is - 1 GB of memory and a fraction of a core is genuinely enough - and the player cap is eight, which is a limit in the game and not something a host can raise.

The step that stops most people is not the install. It is server_packages: two files you have to export from inside the game, with exactly the DLC and mods you want the server to run, and then copy onto the server. Miss it and the server refuses to start with a message about map data. Do it once and forget what it was for, and the next map DLC you buy will break the server in a way that looks like a bug.

What the ETS2 dedicated server is, and what it is not#

Convoy is SCS Software's own multiplayer mode, added to the base game. The dedicated server is the same game engine with no graphics, holding the shared world open so players can come and go. Both Euro Truck Simulator 2 and American Truck Simulator have one, and the files and steps below are the same for both with different app ids.

What it is not is TruckersMP. TruckersMP is a separate, unofficial modification with its own servers, its own rules and hundreds of players in one world. You cannot host a TruckersMP server; that infrastructure is theirs. If what you want is a busy public road full of strangers, that is the project to join. If what you want is eight friends, a shared map and your own rules, this is the one.

Two design decisions matter more than any setting:

  • The session is not persistent in the way a survival game is. Every player drives their own profile, with their own company, garages, jobs and money. The server holds the shared world, the traffic and everybody's position. There is no world save to back up and no economy to wipe.
  • Everybody must be running the same map. The server advertises exactly which base map, which DLC and which mods it is built from, through the server_packages files. A player whose set does not match will not get in.

Requirements and resource usage#

This is close to the lightest dedicated server you will ever run.

PlayersRAMvCPUNotes
2-4, base map1 GB0.75Comfortable
8, base map and DLC1-2 GB1The full cap
8, large map mods2-3 GB1.5Map mods are the only real load
  • CPU: modest. The server runs AI traffic and relays positions; it is not simulating eight trucks' physics in detail.
  • Disk: a few gigabytes. The exported server_packages.dat is the largest single file and grows with each map DLC and map mod you enable.
  • Network: small by game server standards. Eight players producing position and traffic updates is not a bandwidth problem.

Because the cap is eight, there is no sizing question to agonise over. Buy the smallest plan, and only think again if you are running a large map mod combination. How many players fit on a server is about games where the answer is interesting; this is not one of them.

Installing the dedicated server#

The server is a separate Steam application, app id 1948160 for Euro Truck Simulator 2. American Truck Simulator has its own.

bash
$ steamcmd +force_install_dir /home/ets2/server +login anonymous \    +app_update 1948160 validate +quit

Anonymous login works for most people. If Steam refuses the download, log in with an account that owns the game instead. The executables are:

code
bin/win_x64/eurotrucks2_server.exebin/linux_x64/eurotrucks2_server

Start it once and it will create its home folder and a default server_config.sii, then stop with an error about missing server packages. That is the expected first run. The home folder is Documents\Euro Truck Simulator 2\ on Windows and ~/.local/share/Euro Truck Simulator 2/ on Linux, and you can move it with -homedir.

ParameterWhat it does
-server "file"Use a specific server packages file
-server_cfg "file"Use a specific config file
-homedir "path"Put the config and packages somewhere of your choosing
-nosingleAllow more than one server instance on the same machine

SteamCMD explained covers app ids, validate and scripted updates in general if this is your first Steam dedicated server.

server_packages: the step everyone misses#

The server has to know what the map looks like, and it gets that by being handed a snapshot exported from a real game client. You generate it on the PC that has the DLC and mods you want, and you re-generate it every time that set changes.

  1. Open config.cfg in the game's home folder (the same Documents\Euro Truck Simulator 2\ path) and set uset g_console "1" and uset g_developer "1".
  2. Start the game with exactly the DLC enabled and the mods active that the server should run.
  3. Press the console key (the one above Tab) and type export_server_packages.
  4. Two files appear in the game's home folder: server_packages.sii and server_packages.dat.
  5. Copy both into the server's home folder, next to server_config.sii.
enabled in config.cfgwritten to the home foldercopied acrossjoin convoyETS2 game clientyour DLC and modsPlayersmust match the setDeveloper consoleexport_server_packagesserver_packages.sii and .datDedicated serverreads them at start
Where server_packages comes from

On a panel host you still have to do steps 1 to 4 on your own PC - there is no way around it, because the export needs a full game client. Step 5 is a file upload; SFTP and the file manager has the connection details.

server_config.sii explained#

SII is SCS's own format. Keep the wrapper and the generated _nameless identifier exactly as the server wrote them, and edit only the values.

server_config.sii
SiiNunit{server_config : _nameless.1855.8AF0.3390 { lobby_name: "Night Shift Haulage" description: "Slow convoy, realistic driving, Fridays 20:00 CET" welcome_message: "Keep it on the road. Rules in the Discord." password: "diesel" 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 friends_only: false show_server: true moderator_list: 2 moderator_list[0]: 76561198012345678 moderator_list[1]: 76561198087654321}}
KeyDefaultWhat it does
lobby_namegenericThe name in the server browser
descriptionemptyShown when a player selects the server
welcome_messageemptyPrinted to each player on join
passwordemptyJoin password. Empty means anyone may join
max_players8The cap. Eight is the game's limit, not a default
max_vehicles_total100Total AI vehicles in the session
max_ai_vehicles_player50AI traffic around each player
player_damagetrueWhether players can damage each other
traffictrueAI traffic at all. Turning it off is a big performance saving
hide_in_companyfalseHide other trucks inside company depots
hide_collidingtrueGhost trucks that would otherwise collide
force_speed_limiterfalseForces the in-game speed limiter on everyone
mods_optioningfalseLets players choose whether to load optional mods
service_no_collisionfalseNo collisions at service stations
in_menu_ghostingfalseA player in a menu cannot be hit
name_tagstrueNames above trucks
friends_onlyfalseRestricts joining to Steam friends
show_servertrueList the server publicly
moderator_list0Count of moderators, followed by indexed entries

Three of these decide the character of the server. hide_colliding on is the anti-grief default and makes trucks pass through each other when a collision would have happened; turn it off only for a group that has agreed to play seriously. player_damage off removes the rest of the ramming problem at the cost of any realism. force_speed_limiter is the one that settles whether your convoy is a convoy or a race.

moderator_list is a counted array: the number first, then one moderator_list[n] line per SteamID64, numbered from zero. Get the count wrong and the entries after it are ignored. Listed players are promoted automatically when they join, which is how you get a kick and ban capability without an RCON console.

Edit the file with the server stopped. Like most game servers, this one rewrites its config on shutdown and will cheerfully overwrite what you typed.

Ports and the Steam logon token#

PortProtocolPurpose
27015UDPConnection
27016UDPSteam query

Those are connection_dedicated_port and query_dedicated_port. The two virtual ports, 100 and 101, are internal identifiers used by Steam's networking layer rather than something your firewall sees - but if you run two servers on one machine they have to differ, along with the dedicated ports. Both real ports are UDP; a TCP-only rule produces a server that runs and cannot be found. Game server ports explained covers the query port and why it is separate.

server_logon_token is a Steam game server login token. Without one the server runs as an anonymous game server, which limits how it is listed and identified; with one it has a persistent identity in Steam's browser. Generate it at Steam's game server account page, and note the trap the official documentation calls out explicitly: use the game app id, 227300 for Euro Truck Simulator 2, not the dedicated server app id. A token created against 1948160 will not work. Steam game server tokens covers what these are, how bans against them work and why you want one per server.

If you would rather give people a name than an address, an A record pointing at the server works - see connecting a domain to a game server.

Mods and DLC on a convoy server#

The rule is simple and unforgiving: the server runs whatever was active in the client that exported the packages, and joining players need a matching set.

  • Map DLC. Buy Iberia after exporting, and your new roads are not on the server until you re-export. Everyone on the server also needs the DLC to drive there.
  • Map mods. Large map mods work, and they are the main reason an ETS2 server would ever need more than 1 GB. Export with them active, and distribute the exact same mod versions to your players.
  • Truck and trailer mods. These behave better than map mods, because they do not change the world data, but a mismatch still causes trouble when a player spawns a vehicle nobody else has.
  • `mods_optioning: true` lets players decide whether to load optional mods rather than requiring them. Useful for cosmetic packs, not for anything that touches the map.

Keep a written list of the mod set and its versions somewhere other than the server, next to a copy of server_config.sii and the packages. That list is the only thing that lets you rebuild a working server after a bad update - and after every game patch the drill is the same: update the server, re-export packages from an updated client, then restart. What to do when a mod update breaks is the wider habit.

Running it day to day#

There is no world save, so backups are about configuration rather than progress: server_config.sii, server_packages.sii, server_packages.dat and your mod list. That is a small archive, and it is the difference between a five-minute recovery and an evening of re-exporting. Backups that actually restore applies even when there is very little to back up, because the restore is the part people have not practised.

Moderation is thinner than you may be used to. There is no RCON, no console to attach to and no command line to type into a running session. What you have is the moderator list, which promotes named Steam accounts as they join and gives them kick and ban powers in game, plus password for keeping strangers out entirely. That is enough for eight people who know each other, and it is the reason a public ETS2 server needs a moderator physically present rather than a set of automated rules.

The eight-slot cap is also a community management problem rather than a technical one. A group of fifteen cannot all drive together, so the servers that work run to a schedule - a fixed convoy night, a posted route, and a sign-up. The server itself costs almost nothing to leave running between those nights, which is the argument for leaving it up rather than starting it on demand and discovering at 20:00 that the last game patch broke your packages.

A weekly restart is worth scheduling even on a server this light; it clears any drift and gives you a fixed point to hang the SteamCMD update on. On a panel the Schedules tab can run a power action on a cron expression, and scheduled tasks worth having lists the ones that earn their place. Convoy sessions do not survive a restart, so put it at an hour nobody drives.

On RE:NODE, ETS2 plans come with two port allocations, so the connection and query ports are ready on the Network tab, and server_config.sii is editable in the browser without an SFTP client. Backup slots are included on every tier and restoring is one button.

Troubleshooting#

"Server packages file not found." The two exported files are missing from the server's home folder, or you copied only the .sii and not the .dat. Both are needed.

The server starts and nobody can find it. Check show_server, then check that both UDP ports are open, then add a logon token if you have not. Test with a direct connection in the meantime.

A player is refused with a mismatch. Their DLC or mod set differs from the export. The quickest fix is to have them match yours; the correct fix is to publish the exact list.

The server broke after a game update. Update the server through SteamCMD, then re-export the packages from an updated client. Doing only the first half is the most common version of this problem.

Config changes keep reverting. The server was running when you edited. Stop, edit, start.

Two servers on one machine fight each other. They need different dedicated ports, different virtual ports and the -nosingle flag.

Everything looks fine and players still time out. Read the server log rather than guessing; it names the file or the port it could not use. Reading the console is about getting information out of exactly this kind of output.

FAQ#

How many players can an ETS2 convoy server hold?

Eight. That is the limit in the game, documented by SCS, and no host can raise it. Setting a larger number in server_config.sii does not give you more slots.

Do I need to own the game to run the server?

You need the game to export the server packages, which is a required step, so in practice yes. The server download itself is free and usually works with an anonymous SteamCMD login.

Is this the same as TruckersMP?

No. TruckersMP is an unofficial modification with its own servers that you cannot self-host. Convoy is SCS's official mode, capped at eight players, and this is its dedicated server.

Why does the server need a file exported from my game?

Because the map, the DLC and the mods together define the world, and the server has no way to know which combination you want. export_server_packages snapshots it, and the server refuses to start without that snapshot.

Where do I get a server logon token?

From Steam's game server account page, generated against app id 227300 for Euro Truck Simulator 2. The official documentation is explicit that you must use the game app id and not the dedicated server one.

Do players keep their money and garages on a convoy server?

Yes. Each player drives their own profile and economy. The server only hosts the shared world, so there is nothing to wipe and nothing to lose when it restarts.


Комментарии

Полностью анонимно: без аккаунта, без почты, без cookie. Мы храним имя, которое вы ввели, текст и время - больше ничего. Количество ссылок ограничено, разметка не отображается.

0/2000