Проблемы и оптимизация

Сервер KF2 не обновляет Workshop: исправление 2025 года

С середины июля 2025 года выделенные серверы Killing Floor 2 не могут обновлять только что опубликованный контент Workshop. Здесь описаны причина и обходной путь от сообщества. Если сервер ещё не настроен, начните с руководства по настройке сервера.

Проблема

Любой мод (карта, набор или мутатор), скомпилированный или созданный с 11 июля 2025, не обновляется на стороне сервера. На стороне клиента проблемы нет.

Причина

  • Примерно в феврале 2025 года или раньше Steam добавил для некоторых блоков данных поддержку сжатия ZSTD - более быстрого и эффективного, чем прежний LZMA, чтобы ускорить загрузки.
  • Свежие Steam DLL из SteamCMD (на момент написания версия 9.86.62.31 от 27 июня 2025) подтверждённо работают с новыми элементами Workshop, видимо, потому что понимают блоки ZSTD.
  • 11 июля 2025 Workshop, судя по всему, начал сохранять новый контент блоками ZSTD.
  • Выделенный сервер KF2 поставляется со старыми Steam DLL, которые не читают новый формат, поэтому загрузка падает.

Настоящее решение - новый релиз выделенного сервера от Tripwire с обновлёнными Steam DLL. До этого DLL придётся заменить самостоятельно.

Временное решение для Windows

  1. Запустите SteamCMD, чтобы он обновился.
  2. Скопируйте из каталога SteamCMD файлы:
    • steamclient.dll
    • steamclient64.dll
    • tier0_s.dll
    • tier0_s64.dll
    • vstdlib_s.dll
    • vstdlib_s64.dll
  3. Вставьте их в каталог Binaries\Win64 вашего сервера и подтвердите замену.

Временное решение для Linux

Автор не пользуется Linux и не смог проверить решение сам, но предлагает следующее:

  1. Запустите SteamCMD для обновления.
  2. Из папки linux32 SteamCMD скопируйте crashhandler.so и libtier0_s.so, из linux64 - steamclient.so.
  3. Поместите их в каталог Binaries\Win64\lib64 сервера. Старые файлы можно заранее переименовать в .so.old для резервной копии.

Перед заменой сохраните оригинальные DLL и помните, что обычное обновление сервера может перезаписать их снова.

Вопросы и ответы

Почему новые предметы Workshop не скачиваются на сервер KF2?
Элементы, созданные с 11 июля 2025, хранятся в сжатии ZSTD, а старые Steam DLL из комплекта выделенного сервера KF2 его не читают.
Как исправить на Windows?
Скопируйте DLL steamclient, tier0_s и vstdlib_s (32 и 64 бит) из папки SteamCMD в Binaries\Win64 сервера.
Это постоянное решение?
Нет. Это временная мера, пока Tripwire не выпустит сборку сервера с обновлёнными Steam DLL.