Устранение проблем
Сервер падает сразу при запуске («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
- Убедитесь, что импортировали правильный открытый ключ (отпечаток
63547829004f07716f7be4856c32c4282e60fb67) с сервера ключей, например с keyserver.ubuntu.com. - Убедитесь, что файл подписи
.ascсоответствует скачанному архиву — они публикуются парами для каждого выпуска и не взаимозаменяемы между версиями. - Скачайте оба файла заново, если какой-либо из них был изменён промежуточным прокси-сервером или CDN (некоторые корпоративные прокси подменяют содержимое при скачивании бинарных файлов).
Как получить сведения о падении
Если сервер именно падает, а не завершается штатно:
- Linux — запускайте сервер с ключом
-debug. При установленномgdbReHLDS автоматически записывает подробности падения в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или дамп падения.
Чем подробнее описание, тем быстрее сопровождающий сможет воспроизвести и исправить проблему.