- Автор
- Совместимость с
- Amx Mod X 1.9.0, Amx Mod X 1.10.0 dev
- Требования
-
Доступ к корню сервера

ReHLDS Insight - это специальная сборка выделенного сервера Half-Life (HLDS), предназначенная для игры Counter-Strike 1.6. Её главная особенность в том, что все ключевые компоненты (ReHLDS, ReGameDLL, Metamod, AMX Mod X и т.д.) скомпилированы с отладочной информацией.
Когда обычный сервер падает, он часто не оставляет никаких следов или выдает "загадочную" информацию об ошибке. ReHLDS Insight, благодаря встроенной отладочной информации, при падении создает подробный crash log. Этот отчет содержит массу технической информации, которая может помочь понять, почему именно сервер упал.
Кроме того, он содержит название последнего исполняемого плагина AMX Mod X непосредственно перед моментом падения. Это дает важнейшую зацепку для поиска потенциального виновника сбоя.

Основная цель проекта - помочь администраторам серверов CS 1.6 диагностировать необъяснимые или случайные падения сервера. Если ваш сервер время от времени "крашится", и вы не можете понять причину, ReHLDS Insight может стать вашим лучшим инструментом для расследования.

Если ваш основной сервер CS 1.6 страдает от непонятных падений, выполните следующие основные шаги:
- Скачайте и подготовьте ReHLDS Insight:
- Перейдите в раздел Releases этого репозитория и скачайте последнюю версию ReHLDS Insight.
- Создайте отдельную папку для тестового сервера. Помните: ReHLDS Insight предназначен только для временной диагностики и не подходит для постоянной работы из-за возможного снижения производительности!
- Распакуйте архив ReHLDS Insight в эту новую папку.
- Перенесите вашу конфигурацию:
- Скопируйте все ваши плагины, модули и настройки с основного сервера на тестовый сервер с ReHLDS Insight. Это включает:
- AMX Mod X плагины.
- Дополнительные модули Metamod или AMX Mod X, которые вы устанавливали.
- Конфигурационные файлы плагинов и модулей.
- Карты, модели, звуки, спрайты и т.д.
- Любые другие ресурсы, необходимые для работы вашей сборки сервера.
ОЧЕНЬ ВАЖНО: При копировании НЕ ЗАМЕНЯЙТЕ (НЕ ПЕРЕЗАПИСЫВАЙТЕ) файлы с расширением .so, которые уже присутствуют в скачанной сборке ReHLDS Insight! Именно эти файлы содержат отладочную информацию. Если вы их замените, ReHLDS Insight не сможет создать подробный отчет о падении.
- Скопируйте все ваши плагины, модули и настройки с основного сервера на тестовый сервер с ReHLDS Insight. Это включает:
- Запустите и ожидайте:
- Запустите тестовый сервер с ReHLDS Insight.
- Дождитесь, когда сервер упадет (воспроизведется проблема).
- Изучите отчет:
- После падения найдите в корневой папке сервера файл отчета debug.log.
- Откройте его и найдите в конце секцию ------------ AMX Last Exec Plugin ------------
Имя плагина, указанное там, - это тот плагин, который выполнялся последним перед сбоем.

Код:
##############################################
Start of crash report
... (много технической информации GDB: стек вызовов, регистры, загруженные библиотеки) ...
#0 0xf1255182 in set_tr2 (amx=0x9684540, params=0xf10fd58c) at /app/amxmodx/modules/fakemeta/fm_tr2.cpp:64
#1 0xf13b2c57 in amx_Callback (amx=0x9684540, index=3, result=0xffb61bd0, params=0xf10fd58c) at /app/amxmodx/amxmodx/amx.cpp:479
#2 0xf13f0f52 in JIT_OP_SYSREQ () from /home/hunter/rehlds-insight/cstrike/addons/amxmodx/dlls/amxmodx_mm_i386.so
...
------------ AMX Last Exec Plugin ------------
crash_test.amxx <---- имя последнего выполнявшегося плагина AMX Mod X
End of crash report
##############################################

Хотя информация о последнем выполнявшемся плагине очень полезна, это не 100% гарантия, что именно этот плагин виноват в падении!
Возможно, падение действительно вызвано ошибкой в коде этого плагина.
Возможно, плагин просто оказался "не в том месте не в то время". Он мог выполнить какое-то действие (например, вызвать функцию движка или другого модуля), которое спровоцировало падение, но сама ошибка находится не в плагине, а глубже - в движке сервера или Metamod плагине или даже в сторонней библиотеке.
Тем не менее, знание последнего активного плагина - это отличная отправная точка для дальнейшего расследования.
Вы можете попробовать временно отключить этот плагин и посмотреть, прекратятся ли падения.

Сборки с отладочной информацией (debug builds), могут работать несколько медленнее, чем стандартные сборки (release builds), оптимизированные для максимальной производительности. Это связано с наличием дополнительных данных и отсутствием некоторых оптимизаций компилятора.
Поэтому, ReHLDS Insight не рекомендуется использовать в качестве вашего основного, "боевого" игрового сервера на постоянной основе. Его назначение - быть временным инструментом для:
- Диагностики причин падений.
- Тестирования плагинов разработчиками (скриптерами) в процессе их создания.

ReHLDS Insight может быть полезен и тем, кто пишет плагины для AMX Mod X. Если ваш плагин вызывает необъяснимые падения во время разработки или тестирования, запуск сервера на базе ReHLDS Insight может предоставить гораздо больше информации о причине сбоя, чем стандартный сервер. Детальный отчет GDB (даже если вы не C++ программист) иногда может подсказать, в каком направлении искать ошибку в вашем плагине.

Данная сборка предназначена для Linux. Если вы работаете на Windows, вы можете запустить ReHLDS Insight с помощью:
- WSL (Windows Subsystem for Linux): рекомендуемый способ. Установите WSL и дистрибутив Linux (например, Debian) из Microsoft Store, а затем работайте с сервером внутри Linux-окружения.
- Виртуальная машина: используйте приложения вроде Hyper-V, VirtualBox или VMware для установки полноценной ОС Linux и запускайте сервер внутри нее.

ReHLDS Insight включает следующие предустановленные ключевые компоненты (скомпилированные с отладочной информацией):