King of the Road

Euro Truck Simulator 2 workshop

SCS Software European Long-Haul Trucking Sim · Trucking Simulation / Logistics

Player tools indexed: 5 Admin consoles: 5

Cargo profit and fuel cost in both real and game hours, a pure-physics drivetrain and gradeability solver, range and refuel planning, time compression with delivery scheduling, and Convoy join troubleshooting; on the admin side a builder and linter over the official 26 server_config.sii keys (violations block output entirely), console and moderator commands split into three provenance tiers, server_packages export and migration, the virtual/physical port matrix with firewall rules, and SteamCMD deployment plus the logon token.

Player tools (5)

Instant interactive calculations and recipe planners

Distance, freight rate, consumption, fuel price and tolls are all editable; reports hourly income in both real hours and compressed game hours and counts the fixed 10/11 h rest. SCS never published a EUR/km rate table, so no default is invented

#freight rate#two hourly bases
Open tool →

Pure physics: wheel torque, tractive force, road speed in a chosen gear, and maximum grade including rolling and aero drag. Chassis types (4x2 / 6x2 / 6x2-4 / 6x4 / 8x4 / 8x4-4) and lift-axle behaviour are explained qualitatively only; the old tonnage bands and tank sizes had no source and were removed

#drivetrain#gradeability
Open tool →

Enter your actual in-game tank size and consumption to get full-tank range, refuel stops per trip, litres needed to reach a chosen station, and the saving from a price difference between origin and destination. Tank capacity is per-model accessory data with no official table, so nothing is hardcoded

#range#refuel stops
Open tool →

Two-way conversion between game time and real time (the ratio is editable: SCS never published one - the historical 24h ≈ 72 min figure and the widely cited 19x are shown side by side). Rest is a fixed 10 or 11 h, ferry time counts towards rest, and it tells you whether sleeping will make you late. Local career time is compressed; World of Trucks contracts run on real UTC

#time compression#deadline slack
Open tool →

Hard client requirements (you must own the game; the dedicated server cannot access Workshop; server_packages mirrors the host map/DLCs/mods so a mismatch blocks joining), the fact that you search by session search id and not by server name, that direct search still works behind NAT, plus a troubleshooting tree

#search id#join troubleshooting
Open tool →

Server admin and config generation (5)

Config files, startup scripts and command wizards for running a server

Builds the full official 26-key file from a single registry: 63/63/127/63 character limits, the official max_players ceiling of 8 (going higher requires explicitly confirming the unsupported g_max_convoy_size route), moderator_list count matching the indexed entries plus SteamID64 validation, virtual ports 100-200, LAN query port 27015-27020, timezones 0-2. Any violation blocks output entirely, and you can lint an existing file

#26 keys#violations block output
Generate config →

Three provenance tiers kept apart: A - documented officially (uset g_console "1", export_server_packages); B - maintained by the community on the official forum (goto, g_set_time with decimals, g_set_weather 1=rain 2=sun with f/i, g_traffic only 0/1, g_flyspeed has no fixed range, warp defaults to 1.0); and the only three server-side moderator chat commands (/set_time, /set_rain_factor, /help) - there is no RCON, no UI and no runtime promotion. A blacklist of widely circulated but nonexistent commands is included

#tiered sources#nonexistent-command blacklist
Generate config →

The full fix for "Server packages file not found": enable uset g_console "1" in config.cfg, load a map, open the console with ~ and run export_server_packages. Includes home-directory paths for all platforms, a checklist built from a real directory listing, the error text mapped to causes, and the roads_data_file_name absolute-path trap. This site does not generate that file - doing so offline would mean inventing data

#server_packages#absolute-path trap
Generate config →

Virtual ports (100/101, officially not forwarded) are kept apart from physical ports (27015/27016, which need both TCP and UDP rules); the LAN query port must sit in 27015-27020; multi-instance planning (ports and token unique per instance) with collision detection; netsh / ufw / firewalld command text. No NAT punching, but direct search still connects

#virtual vs physical#TCP+UDP
Generate config →

Anonymous SteamCMD install (ETS2 1948160 / ATS 2239530), the Linux executable bin/linux_x64/eurotrucks2_server, two fixes for steamclient.so, -homedir having to match on both sides, the four official startup parameters, the logon token having to be requested with the game appid 227300 (the wrong appid crashes the server on start), Ctrl+C to stop, server.log.txt / server.crash.txt and the known reason - 33 issue. Hardware requirements are not published, so none are guessed

#SteamCMD#1948160
Generate config →

Euro Truck Simulator 2 Ports & Protocols

Port Protocol Purpose
27015 TCP/UDP Physical connection port used by the Steam game server api to fill the sessions browser; forwarding needs both TCP and UDP rules
27016 TCP/UDP Physical query port, also used by the Steam game server api; for LAN the official range is 27015-27020; forwarding needs both TCP and UDP rules

Euro Truck Simulator 2 Dedicated Server Install (SteamCMD)

SteamCMD appid 1948160

sudo useradd -m -s /bin/bash steam
sudo apt update && sudo apt install -y steamcmd lib32gcc-s1
sudo -u steam -i \
  /usr/games/steamcmd +force_install_dir /opt/gameserver \
  +login anonymous +app_update 1948160 validate +quit

https://modding.scssoft.com/wiki/Documentation/Tools/Dedicated_Server

Euro Truck Simulator 2 Config file paths

  • server_config.sii
  • config_ds.cfg
  • server.cfg.sii
  • mods_info.sii
  • config.cfg

Server notes

ETS2 ships an official dedicated server (server AppID 1948160, downloadable anonymously via SteamCMD - the host need not own the game, but every joining player must; the ATS dedicated server is a different AppID, 2239530, and the two are not interchangeable). The first launch only creates the server home and a default server_config.sii and then always fails with "Server packages file not found": on a machine that owns the game set uset g_console to "1" in config.cfg, load a map, press ~ and run export_server_packages, then copy the generated server_packages.sii and server_packages.dat into the server home (they are not linked to any account and can be copied freely; the dedicated server does not use the Steam Client and therefore cannot access Workshop). There are two classes of port: connection_virtual_port 100 and query_virtual_port 101 are virtual (official allowed range <100,200> and explicitly no forwarding needed), while connection_dedicated_port 27015 and query_dedicated_port 27016 are the physical ports used by the Steam game server api and forwarding must cover both TCP and UDP; for LAN the official range for query_dedicated_port is <27015,27020>. Multiple instances on one machine need -nosingle, and the official text requires that "ports and logon token must be different for each session instance". A server_logon_token must be requested at steamcommunity.com/dev/managegameservers using the **game appid 227300** - officially "Use the game appID to generate token, not the server appID!", and the upstream egg README adds that the wrong appid makes the server "crash upon startup". Whether a token is required at all has two readings (the wiki says an anonymous account yields a non-persistent server id and a token is only needed for persistence; the upstream egg README calls it required), so both are listed. The official session limit is 8 players (the comment reads "limit is 8 players"); the widely repeated 128 comes from the unofficial g_max_convoy_size, which needs config_ds.cfg in the server home plus chmod 400 on Linux, and is unsupported. The server has no UI, no RCON and no runtime promotion: moderators are pre-registered by SteamID64 in server_config.sii, runtime intervention is limited to the three chat commands /set_time, /set_rain_factor and /help, and stopping the server is Ctrl+C. NAT: there is no punching, so appearing in the session browser needs a public IP or port forwarding, but the official text states "session direct search works even for server that is behind NAT"; searching only works by the session search id printed at startup, never by server name. On Linux, [S_API FAIL] SteamAPI_Init() failed means steamclient.so is missing - either run the server_launch.sh shipped next to the executable or ln -s steamcmd/linux64/steamclient.so ~/.steam/sdk64/steamclient.so (the upstream egg places both sdk32 and sdk64). An incomplete server_config.sii does not stop the server: it silently falls back to defaults, which looks like "running but with no server name, so it cannot be found in the list". No server was run, no live session was established and no server branch buildid was obtained here. One more note: hasServerList being false here means "this site has not implemented the ETS2 query protocol, so no live server status is offered", not "this game has no server list" - ETS2 does have a real dedicated server and an in-game session browser; the official text only says these physical ports are used by the Steam game server api and never states that they answer standard A2S, so the protocol is not guessed.

FAQ

Which Euro Truck Simulator 2 tools can I use online?
We list 5 tools for Euro Truck Simulator 2: Cargo Profit & Fuel Cost, Drivetrain & Gradeability Solver, Range & Refuel Planner, Time Compression & Delivery Planner, Joining a Convoy Session. All of them run straight in your browser.
Do these tools cost anything or need installing?
No. Everything runs in the page: no install, no sign-up, no cost. Enter your values and the result appears instantly, and you can copy the generated configs and commands with one click.