TheMasterWiki

Полное руководство по установке 32-битного сервера Synergy на Linux

В данном руководстве собран опыт успешной отладки и запуска выделенного сервера Synergy (версии 25.3+) на операционных системах семейства Linux (Ubuntu/Debian). Руководство учитывает специфику 32-битной архитектуры старого движка Source Engine и содержит готовые решения для исправления критических ошибок (`Segmentation fault`, конфликты плагинов SourceMod и проблемы с MOTD).

1. Подготовка системы и окружения

Поскольку сервер Synergy является 32-битным, современная 64-битная система Linux не сможет запустить его без поддержки соответствующих библиотек.

Шаг 1.1: Включение поддержки 32-бит (Multiarch)

Выполните команды от имени пользователя root:

dpkg --add-architecture i386
apt-get update

Шаг 1.2: Установка необходимых пакетов и GDB

Установите библиотеки, необходимые для работы SteamCMD, сетевого стека Source Engine, а также дебаггер gdb для корректной работы автоматических скриптов перезапуска (-debug):

apt-get install -y lib32gcc-s1 lib32stdc++6 lib32z1 libtinfo5:i386 \
                   libsdl2-2.0-0:i386 gdb locales-all

2. Установка SteamCMD и файлов игры

Не рекомендуется запускать игровой сервер под учетной записью root из соображений безопасности. Создайте отдельного пользователя steam.

Шаг 2.1: Создание пользователя

useradd -m -s /bin/bash steam
su - steam

Шаг 2.2: Загрузка SteamCMD и сервера Synergy

Скачайте SteamCMD и запустите установку выделенного сервера Synergy (AppID 17520):

mkdir ~/Steam && cd ~/Steam
wget [https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz](https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz)
tar -xvzf steamcmd_linux.tar.gz

Запуск обновления и скачивание Synergy

./steamcmd.sh +login ВАШ_ЛОГИН_STEAM +app_update 17520 +app_update 220 +quit

3. Решение критических ошибок (Fixing Crashes)

Ошибка wrong ELF class: ELFCLASS64 и Segmentation fault

При автоматическом поиске библиотек скрипт srcds_run может подтянуть 64-битную версию steamclient.so, что приводит к моментальному падению сервера при загрузке карты.

Решение: Принудительно скопируйте 32-битную версию библиотеки в системную директорию SDK:

# Создаем целевую директорию, если она отсутствует
mkdir -p ~/.steam/sdk32

Копируем строго 32-битный файл из папки linux32

cp ~/Steam/linux32/steamclient.so ~/.steam/sdk32/steamclient.so

4. Брендинг сервера и настройка окна MOTD

Чтобы сервер корректно отображал название TheMaster2009SF | Fresh Campaign [24/7] и не показывал пустое окно приветствия игрокам, файлы разметки должны находиться в корневой директории мода, а не в подпапке cfg.

Выполните команду для генерации текстовых файлов приветствия:

cat << 'EOF' > ~/Steam/steamapps/common/Synergy/synergy/motd.txt
=====================================================
      TheMaster2009SF | Fresh Campaign [24/7]
=====================================================

 Добро пожаловать на наш сервер Synergy CO-OP!

 Правила сервера:
 1. Не мешать другим игрокам (не блочить проходы).
 2. Не спамить в текстовый и голосовой чат.
 3. Для ухода в АФК используйте команду !afk.
 4. Уважайте других игроков.

 Желаем приятного прохождения кампании Half-Life 2!
=====================================================
EOF

Дублируем для совместимости со старыми клиентами

cp ~/Steam/steamapps/common/Synergy/synergy/motd.txt ~/Steam/steamapps/common/Synergy/synergy/motd_text.txt

6. Запуск сервера

Для полноценного вывода сервера в глобальный интернет-браузер (в обход FakeIP систем Steam) используйте параметр -nofakeip.

Команда для запуска из папки ~/Steam/steamapps/common/Synergy:

./srcds_run -game synergy -console -port 27015 -nofakeip +maxplayers 32 +map d1_trainstation_01

После успешного старта сервер авторизуется в Steam анонимно и начнет принимать подключения по вашему внешнему IP-адресу. Для управления плагинами прямо из консоли используйте команду sm plugins list.

On this page