Как известно, в Euro Truck Simulator 2 появился режим конвоев, где можно создавать сессии для друзей и вместе выполнять доставки, общаясь в текстовом чате и с помощью рации по кнопке [x], наподобие TruckersMP. А в конце прошлого года, SCS Software выпустили ПО, с помощью которого можно запускать сессию конвоя отдельно от игры (выделенный сервер). Эта новость пришлась по вкусу многим игрокам и сейчас в списке сессий конвоя можно увидеть большое количество выделенных серверов. К сожалению, пока что лимит игроков в сессии — 8, но я надеюсь, что в будущем этот лимит поднимут. Ну а сегодня я расскажу как запустить выделенный сервер ETS2 на ОС семейства Linux, а именно на Ubuntu 22.04.
Рекомендую выполнять указанные далее действия от имени отдельного пользователя. В нашем примере это будет пользователь ets.
Устанавливаем SteamCMD
Устанавливаем SteamCMD прямо из репозитория, потому что он умеет обновлять сам себя, да и при таком варианте не придется вручную ставить 32-битные библиотеки:
sudo apt install steamcmd
Запускаем SteamCMD для обновления: steamcmd
После завершения обновления, можно выйти из него: quit
Устанавливаем выделенный сервер ETS2
Начинаем процесс установки в домашнем каталоге пользователя:
cd ~ && steamcmd +login anonymous +app_update 1948160 validate +quit
После завершения операции, перейдем в директорию, куда были установлены исполняемые и вспомогательные файлы сервера:
cd "Steam/steamapps/common/Euro Truck Simulator 2 Dedicated Server"
Далее нам нужно запустить сервер, чтобы он создал рабочую папку:
cd bin/linux_x64 && ./server_launch.sh
По итогу сервер выдаст ошибку *** ERROR *** : [MP] Error: Server packages file not found и самостоятельно завершится, не обращайте внимания.
Рабочая папка сервера была создана и теперь мы сделаем символьную ссылку к ней для удобства:
cd ~ && ln -s ".local/share/Euro Truck Simulator 2" ETS2_Server
Это значит что в домашней директории пользователя (в моем примере это /home/ets) появится ссылка ETS2_Server, которая будет вести на рабочую директорию сервера ETS2.
Выгружаем необходимые данные из Euro Truck Simulator 2
Для успешного запуска сервера, требуется 2 специальных файла (те самые server packages из текста ошибки). Эти файлы можно получить только из игры на вашем ПК.
Запустите игру и дождитесь меню выбора персонажа. Если вы не используете моды, смело можете пропустить этот абзац и примечание к нему, но если пользуетесь, то вам следует знать некоторые детали. Если у вас включены какие то моды, то ваш будущий сервер будет требовать их наличие у каждого игрока, который будет пытаться подключиться к сессии. Вы можете сделать сессию на ProMods или RusMap или вовсе не использовать моды. Здесь все на ваше усмотрение.
Примечание: если ваш сервер будет работать с модами, то при обновлении какого-либо мода в Steam, вам будет необходимо снова генерировать файлы server packages из игры и импортировать на сервер.
Если вы определились с модами, загрузитесь в мир, откройте консоль по клавише [~] и отправьте команду export_server_packages
После выполнения команды, в вашей папке «Документы => Euro Truck Simulator 2» будут созданы файлы server_packages.dat и server_packages.sii. Их нужно загрузить на сервер, в директорию /home/ets/ETS2_Server (рядом с server_config.sii). Для обмена файлами можно использовать WinSCP.
Настраиваем выделенный сервер ETS2
Откройте файл /home/ets/ETS2_Server/server_config.sii в любом удобном для вас текстовом редакторе и внесите желаемые изменения (замените /home/ets на путь к домашней папке вашего пользователя или используйте ~/ETS2_Server/server_config.sii).
Описание параметров:
lobby_name— название сессии (макс. 63 символа)description— описание сессии (макс. 63 символа)welcome_message— приветственное сообщение сессии, которое будет приходить игроку в чат, после подключения (макс. 127 символов)
Обратите внимание: в этих параметрах можно использовать русские символы, но после запуска сервера, эти символы в конфиге будут заменены на шестнадцатеричные значения байтов UTF-8 символов. Также следует помнить, что сервера с русскими названиями в списке будут отображаться ниже всех серверов, имеющих английское название.
password— пароль сессии, если нужен (макс. 63 символа)max_players— максимум игроков, пока лимит 8server_logon_token— токен Steam авторизации, в целом не обязателен, но лучше сделайте и пропишите- токен получаем здесь, номер игры 227300 для ETS или 270880 для ATS
player_damage— столкновения между игрокамиtraffic— трафикhide_in_company— скрывать игроков в зонах компанийhide_colliding— скрывать столкнувшееся ТС после телепортацииforce_speed_limiter— принудительное ограничение скоростиmods_optioning— позволить модам, помеченным как необязательные, быть действительно необязательнымиtimezones— принимает значения от 0 до 2service_no_collision— выключить коллизии в зонах сервисаin_menu_ghosting— столкновения при нахождении в менюname_tags— показывать теги имен игроков над их ТС
Если вам не нужны модераторы в сессии, то оставьте значение параметра moderator_list по умолчанию. Если модераторы все же нужны, измените значение на 1 и добавьте на новой строке еще один параметр, в котором нужно указать SteamID64 модератора. Вы можете добавить несколько модераторов, увеличивая число в квадратных скобках. В итоге это может выглядеть вот так:
...
moderator_list: 1
moderator_list[0]: 76561198210303223
moderator_list[1]: 76561197990364979
...
На этом работа с конфигом завершена. Вы можете экспериментировать с разными параметрами и настроить все на ваш вкус.
Теперь создадим скрипт автозапуска сервера ETS2:
nano ETS2_Server_Run.sh
вставляем следующее содержимое:
#!/bin/sh
cd "Steam/steamapps/common/Euro Truck Simulator 2 Dedicated Server/bin/linux_x64" && ./server_launch.sh &
Сохраняем при помощи [Ctrl]+[o] и выходим при помощи [Ctrl]+[x].
Затем добавляем права на запуск: sudo chmod +x ETS2_Server_Run.sh
Другие настройки
Теперь вам необходимо открыть порты, чтобы ваш выделенный сервер ETS2 был доступен извне и отображался в списке сессий конвоев в игре. Для этого выполните следующие команды:
sudo iptables -A INPUT -p tcp -m multiport --dports 27015,27016 -j ACCEPT
sudo iptables -A INPUT -p udp -m multiport --dports 27015,27016 -j ACCEPT
Не забудьте принять меры, чтобы правила сохранялись после перезагрузки сервера. В конце этой статьи есть пример решения этой задачи.
По желанию, вы также можете добавить сервер в автозапуск, чтобы при перезагрузке вашего VPS, игровой сервер запускался автоматически. Для этого откройте crontab -e и добавьте следующую строку:
@reboot cd /home/ets && ./ETS2_Server_Run.sh >/dev/null 2>&1
Не забудьте заменить путь к домашнему каталогу на свой.
На этом все. Теперь вы можете перезагрузить ваш VPS и выделенный сервер ETS2 автоматически запустится. Или просто запустите сервер в фоновом режиме вручную:
cd ~ && ./ETS2_Server_Run.sh >/dev/null 2>&1 &
Когда сервер запущен в фоновом режиме, вы не видите его выводы в консоль, поэтому вам понадобятся логи сервера: ~/ETS2_Server/server.log.txt

