Перейти к основному содержимому

Устранение проблем

Сервер падает сразу при запуске («Illegal instruction» и подобное)​

Файлам ReHLDS необходимы наборы инструкций SSE, SSE2 и SSE3 (а SSE4.1 / SSE4.2 используются при наличии). Почти всегда это проблема процессора или виртуализации, а не конфигурации:

  • Убедитесь, что процессор хоста действительно поддерживает SSE3. На реальном оборудовании, выпущенном после ~2005 года, это редко становится проблемой, но некоторые минимальные конфигурации VPS и виртуальных машин предоставляют гостевой системе урезанный набор инструкций.
  • Если сервер работает в виртуальной машине, проверьте в гипервизоре настройки модели процессора и проброса его возможностей.

Движок не загружается или ведёт себя как «неправильный» файл​

Обычно причина в несоответствии версии движка или платформы:

  • Убедитесь, что базовый сервер — это доюбилейная сборка из Steam (версия движка ≤ 8684), установленная через steamcmd, как описано в разделе Установка. ReHLDS несовместим со старыми сборками 5xxx и ниже, установленными устаревшим hldsupdatetool.
  • Убедитесь, что вы скопировали файл, соответствующий вашей операционной системе: swds.dll для Windows, engine_i486.so для Linux. Файл от другой платформы (как и скопированный не полностью) не загрузится.
  • В Linux проверьте, что у заменённого файла сохранились права на чтение и выполнение для учётной записи, от которой работает сервер.

Сторонний плагин перестал работать после установки ReHLDS​

ReHLDS не является бинарно совместимым с оригинальным HLDS — он собирается не теми компиляторами, которыми Valve собирала оригинальные файлы. Плагины, выполняющие низкоуровневое патчинг движка или поиск по сигнатурам (известный пример — Orpheu), могут сломаться, если в них нет явной поддержки ReHLDS. Прежде чем считать виновником сам ReHLDS, посмотрите список изменений и трекер задач плагина на предмет заметок о совместимости с ReHLDS.

Не проходит проверка подписи GPG​

  1. Убедитесь, что импортировали правильный открытый ключ (отпечаток 63547829004f07716f7be4856c32c4282e60fb67) с сервера ключей, например с keyserver.ubuntu.com.
  2. Убедитесь, что файл подписи .asc соответствует скачанному архиву — они публикуются парами для каждого выпуска и не взаимозаменяемы между версиями.
  3. Скачайте оба файла заново, если какой-либо из них был изменён промежуточным прокси-сервером или CDN (некоторые корпоративные прокси подменяют содержимое при скачивании бинарных файлов).

Как получить сведения о падении​

Если сервер именно падает, а не завершается штатно:

  • Linux — запускайте сервер с ключом -debug. При установленном gdb ReHLDS автоматически записывает подробности падения в debug.log, и этого обычно достаточно, чтобы определить место сбоя без полного дампа памяти. Чтобы сохранять ещё и дамп памяти, перед запуском сервера разрешите их создание для процесса (ulimit -c unlimited), а также рассмотрите echo 1 > /proc/sys/kernel/core_uses_pid, чтобы повторные падения не перезаписывали друг друга.
  • Windows — включите создание минидампа или полного дампа при падении hlds.exe средствами Windows Error Reporting (Конфигурация компьютера → Административные шаблоны → Компоненты Windows → Отчёты об ошибках Windows в групповых политиках либо соответствующие ключи реестра) или воспользуйтесь отдельной утилитой для сбора дампов.
предупреждение

Дампы падений и debug.log могут содержать чувствительные сведения о сервере (в том числе связанные с RCON). Не публикуйте их открыто — передавайте разработчикам напрямую по закрытому каналу или в зашифрованном архиве с паролем.

Как сообщить о проблеме​

Заведите задачу в трекере задач ReHLDS и укажите:

  • Сборку или версию ReHLDS (тег выпуска либо коммит) и платформу (Windows/Linux).
  • Точную сборку или версию движка HLDS, на которую он был установлен.
  • Мод, который вы запускаете (Half-Life, Counter-Strike 1.6, Condition Zero и т. д.), и его версию.
  • Версии Metamod, AMX Mod X, ReGameDLL_CS и список плагинов, если они используются.
  • Шаги для воспроизведения проблемы и относящийся к делу вывод консоли, debug.log или дамп падения.

Чем подробнее описание, тем быстрее сопровождающий сможет воспроизвести и исправить проблему.