Left 4 Dead 2 выделенный сервер Проблемы с аутентификацией в Steam
Я использую выделенный игровой сервер для игры Valve Left 4 Dead 2 на моем размещенном корневом сервере. У меня было несколько лет назад, когда я все еще запускал Debian Squeeze (6, oldstable, x86_64) на своих серверах и хотел установить его снова сейчас на Debian Wheezy (7, стабильный, multiarch x86/x86_64). При запуске сервера я вижу некоторые сообщения об ошибках, и никто не может подключиться к серверу.
Я запускаю выделенный сервер с помощью следующей команды:
sudo -u l4d2 /opt/left4dead2/srcds_run -steam_dir /opt/left4dead2/steamcmd -steamcmd_script /opt/left4dead2/left4dead2.steamcmd -autoupdate -ip 1.2.3.4 -port 27016
При запуске процесса выделенного сервера я вижу следующие строки в выводе:
[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
[S_API FAIL] SteamAPI_Init() failed; unable to locate a running instance of Steam, or a local steamclient.dll.
И после некоторых, вероятно, не связанных с кабелем шумоподобных пятен текста:
[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
dlopen failed trying to load:
/opt/left4dead2/.steam/sdk32/steamclient.so with error:
/opt/left4dead2/.steam/sdk32/steamclient.so: cannot open shared object file: No such file or directory
Сервер настроен как сервер Steam Group (у меня есть несколько команд echo в файле конфигурации, и я знаю, что он был успешно загружен), и он должен быть виден всем в указанной группе, которая находится в игре. Он не отображается, и я не могу присоединиться вручную, введя команду в игре connect 1.2.3.4:27016
, Соответствующий порт UDP открыт на брандмауэре системы.
Несколько месяцев назад Valve заменили их hldsupdatetool
Утилита для загрузки файлов игрового сервера с новым инструментом под названием SteamCMD, этот инструмент, согласно объявлению списка рассылки Valve, теперь является обязательным.
Я использовал следующую команду для установки игрового сервера:
cd /opt/left4dead2
sudo -u l4d2 steamcmd/steamcmd.sh +login anonymous +force_install_dir .. +app_update 222860 validate +quit
Мне удалось избавиться от последних трех строк, создав каталоги /opt/left4dead2/.steam/sdk32
и копирование steamclient.so
от /opt/left4dead2/steamcmd/linux32/
в то место, которое было описано как решение проблемы здесь. Но я все еще не могу подключиться к серверу вообще.
Я надеюсь, что кто-то может помочь мне с этим, и что ошибка сервера - подходящее место для такой проблемы. Я не нашел более подходящей ветки Stack Exchange для публикации.
1 ответ
Погугление ошибки дает следующее:
При запуске сервера с Linux вы можете получить следующую ошибку
[S_API FAIL] SteamAPI_Init() не выполнен; невозможно найти работающий экземпляр Steam или локальный steamclient.dll.
Решите проблему, скопировав steamclient.so в каталог ~/.steam/sdk32/steamclient.so
cp steamcmd / linux32 / steamclient.so ~/.steam/sdk32/steamclient.so