Table of Contents
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Назад
Как правильно подать заявку с проблемой:
Если вы хотите внести предложение, зарегистрировать ошибку, у вас ничего не получилось, либо вам нужна "живая" помощь и содействие - вы всегда можете подать заявку здесь. Достаточно нажать зеленую кнопку New issue
и заполнить форму.
Разработчики будут благодарны, если при описании проблемы - вы максимально подробно все распишете:
- Версию вашей операционной системы;
- Версию (номер сборки) HLDS-сервера (либо ReHLDS);
- Версию вашей игры (или мода);
- Версию (номер или дату сборки) Metamod-r;
- Можете дополнительно указать список модулей (набрав
meta list
в консоли сервера).
- Можете дополнительно указать список модулей (набрав
- Приложите логи;
- Приложите crashdump'ы;
Это поможет для более тщательного анализа и, возможно, исправления ваших проблем в будущем.
Получение дампов падения HLDS\reHLDS
Не стоит просто так выкладывать дампы в интернете, так как зачастую в них содержится полная информация о сервере, включая rcon и прочее. Для передачи можно архивировать их с паролем, что полезно ещё тем, что жмутся они весьма хорошо.
Windows
С использованием WER (Windows Error Reporting):
- Разрешить WER (отчеты об ошибках):
- До Vista:
- Запустить drwtsn32.exe и выбрать "Full" напротив Crash Dump File. Тут же можно увидеть (или настроить) куда будут складываться дампы.
- На Vista и выше:
- Редактирование реестра, удобный способ от s1lent:
- До Vista:
Развернутый и быстрый способ настроить реестр на получение дампов для новичков.
- Настройки:
- NAME_APP -
hlds.exe
- имя приложения, которому нужно будет создавать дампы в случае аварийного завершения.
- REG_LINK -
HKLM\Software\Microsoft\Windows\Windows Error Reporting
- путь до раздела Windows Error Reporting (Эту настройку скорее всего менять не нужно, думаю во всех Windows пути одинаковые)
- DumpType -
2
0
- Обычный дамп1
- Минимальный дамп2
- Полный дамп- DumpCount -
15
- количество создаваемых дампов, если в папке количество дампов будет больше указанного значения, то будет удаляться старый дамп для создания нового дампа.
- DumpFolder -
C:\CrashDumps
- путь до папки, куда будут складываться дампы.
- (во избежании всяких проблем не используйте пробелы или кириллицу в путях)
- Установка:
Скачать архив и разархивировать.
Запустить add_RegistryDumps.bat
После записи в реестр вы должны убедиться что у вас включена служба Отчеты об ошибках Windows.
Дальше нажать горячую клавишу Windows + R (Windows кнопка находится между ctrl и alt) или можно вызвать cmd.exe или Пуск - Выполнить, сразу после этого нужно ввести gpedit.msc, далее см. скриншот.
Конфигурация компьютера -> Административные шаблоны -> Компоненты Windows -> Отчеты об ошибок Windows
С использованием утилиты userdumps
- Инструкция от unKn0wn:
Способ получения дампов посредством утилиты от MicroSoft: UserModeProcessDumper \ Зеркало "UserModeProcessDumper8_1_2929_5.zip".
Спасибо Lev за настройки.
1. Инсталяция
Архив который вы скачали разархивируем (по умолчанию C:\kktools\userdump8.1).
- Запустите файл setup.exe из каталога:
- Если вы используете 32-битную ОС Windows XP/2003, то C:\kktools\userdump8.1\x86.
- Если вы используете 64-битную ОС Windows XP/2003, то C:\kktools\userdump8.1\x64.
- В окне Мастера установки нажмите на кнопку Далее.
- (Только для 32-битных ОС) В окне Terminate Mode выберите Disable "Dump on Process Termination" feature и нажмите на кнопку Далее.
- Нажмите на кнопку Готово и дождитесь завершения установки. В окне User Mode Process Dump Setup нажмите на кнопку ДА (Если по каким-то причинам вы не знаете как зайти в меню с настройками userdump -вы их всегда сможете найти в Панель управления - Process Dumper).
2. Добавление приложения
В открывшемся окне Свойства: User Mode Process Dumper Setup жмём New и добавляем имя нужной нам программы на пример: hlds.exe (расширение -обязательно!) и жмём ОК
3. Настройки
В окне Свойства: User Mode Process Dumper Setup находим созданное только-что правило приложения, выделяем его и жмём кнопку Rules В открывшемся окне Process Monitoring Ruless for hlds.exe
- Выберем Use custom rules.
- Если требуется меняем папку для хранения созданных дампов.
- В Exeption Codes выделяем (нажатием ЛКМ) следующие коды: "Access Violation, Overflow, Illegal Instruction, Stack oveflow."
- Выставляем параметр Save Mode в режим Cyclic saving (5 times). Должно получится примерно так:
PS: Рекомендую использовать совместно с Dr Watson с типом дампов "Краткий", т.к. доктор умеет вести логи в текстовом формате, которые дадут возможность отбирать нужные дампы. А userdump будет делать полные дампы.
Linux
Сервер надо запускать с ключем -debug.
Если в системе установлен gdb, то автоматически в файле debug.log
будет записываться внятная информация об ошибке. Так что рекомендуется его поставить (команда зависит от используемой системы, на Debian\Ubuntu - это apt install gdb
). Хотя для создания дампов это не требуется, это фактически обязательно надо сделать при наличии возможности, так как в debug.log
при этом будет записано место падения, что позволит сразу что-то сказать об ошибке. Получение этой же информации на другой системе из дамп-файла потребует наличия всех бинарников от сервера.
По умолчанию дамп-файл называется core
, записывается в рабочей папке, и, соответственно, будет перезаписываться. Во избежание, можно добавлять к имени идентификатор процесса:
echo 1 > /proc/sys/kernel/core_uses_pid
или складывать дампы в /tmp
:
echo /tmp/%e-%t-%p-%c.dmp > /proc/sys/kernel/core_pattern
Больше информации тут.
Запуск без sudo
(под root, иначе общие настройки системы должны быть выставлены на unlimited):
ulimit -c unlimited && ./hlds_run -debug ...
Запуск с sudo
(под пользователем hlds):
ulimit -Hc unlimited && sudo -u hlds sh -c "ulimit -Sc unlimited && ./hlds_run -debug ..."
Проверка запуска из под sudo:
ulimit -Hc unlimited && sudo -u hlds sh -c "ulimit -Sc unlimited && whoami && ulimit -Sc && ./hlds_run -debug ..."
выводит имя пользователя под которым произойдет запуск и лимит на создание дампов, после чего запускает сервер.
Для тестирования настроек создания дампов можете использовать специально разработанный модуль: FixItAll \ FixItAll зеркало или Crash.sma*.
Сводная таблица:
Папка
- каталог вашего мода или игры. В колонках и представлены названия исполняемых файлов из папки dlls
, которая находится в каталоге вашего мода или игры
.
❌ - версии под платформу не существует
Игра \ Мод | Папка | ||
---|---|---|---|
Action Half-Life | action | ahl.dll | ahl.so |
Adrenaline Gamer | ag | ag.dll | ag.so |
openAG | ag | ag.dll | ag.so |
Azure Sheep | asheep | hl.dll | ❌ |
Base Defense | bdef | server.dll | server.so |
The Battle Grounds | bg | bg.dll | bg.so |
Brutal Half-Life | bhl | bhl.dll | ❌ |
Brain Bread | brainbread | bb.dll | ❌ |
Half-Life: Blue Shift | bshift | hl.dll | bshift.so |
Bumper Cars | bumpercars | hl.dll | ❌ |
BuzzyBots | buzzybots | bb.dll | ❌ |
Chicken Fortress 3 | ckf3 | mp.dll | ❌ |
Counter-Strike 1.0 | cs10 | mp.dll | ❌ |
Counter-Strike 1.5 | csv15 | mp.dll | ❌ |
Counter-Strike 1.6 | cstrike | mp.dll | cs.so |
Counter-Strike:Condition Zero | czero | mp.dll | cs.so |
Counter-Strike:Condition Zero Deleted Scenes | czeror | cz.dll | cz.so |
Desert Crisis | dcrisis | dc.dll | dc.so |
Half-Life: Decay | decay | decay.dll | ❌ |
Deathmatch Classic | dmc | dmc.dll | dmc.so |
Day of Defeat | dod | dod.dll | dod.so |
Digital Paintball | dpb | pb.dll | pb.i386.so |
Earth's Special Forces (Old) | esf | hl.dll | hl.so (лежит не в dlls каталоге, а в linuxdll ) |
Earth's Special Forces | esf | hl.dll | hl.so |
Existence | existence | existence.dll | ❌ |
Firearms | firearms | firearms.dll | ❌ |
Frontline Force | frontline | frontline.dll | front.so |
Gangsta Wars | gangstawars | gwars27.dll | ❌ |
Gangwars | gangwars | mp.dll | ❌ |
Opposing Force | gearbox | opfor.dll | opfor.so |
Global Warfare | globalwarfare | mp.dll | gw.so |
Goldeneye | goldeneye | mp.dll | ❌ |
Headcrab Frenzy | hcfrenzy | hcfrenzy.dll | hcfrenzy.so |
Half-Life 1.5: Weapon Edition | hl15we | hl.dll | hl.so |
HL-Rally | hlrally | hlrally.dll | hlr.so |
Holy Wars | holywars | holywars.dll | hl.so |
Hostile Intent | hostileintent | hl.dll | hl.so |
International Online Soccer | ios | ios.dll | ios.so |
Judgement | judgedm | mp.dll | judge.so |
Kanonball | kanonball | kanonball.dll | hl.so |
Monkeystrike | monkeystrike | monkey.dll | ms.so |
Morbid Inclination | MorbidPR | morbid.dll | morbid.so |
Move In! | movein | hl.dll | hl.so |
Master Sword Continued | msc | ms.dll | ❌ |
Natural Selection | ns | ns.dll | ns.so |
Natural Selection Beta | nsp | ns.dll | ns.so |
Over Ground | og | og.dll | og.so |
Outlawsmod | ol | hl.dll | ol.so |
Operations 1942 | ops1942 | spirit.dll | spirit.so |
Open-Source Jailbreak | osjb | jail.dll | osjb.so |
Out Break | outbreak | hl.dll | ❌ |
Oz Deathmatch | oz | mp.dll | mp.so |
Paintball | paintball | mp.dll | pb.so |
Public Enemy | penemy | pe.dll | pe.so |
Point of No Return | ponreturn | mp.dll | ponr.so |
Pirates, Vikings and Knights | pvk | hl.dll | hl.so |
Rocket Crowbar 2 | rc2 | rc2.dll | rc2.so |
Resident Evil : Cold Blood | recbb2 | recb.dll | recb.so |
Gunman Chronicles | rewolf | gunman.dll | ❌ |
Ricochet | ricochet | mp.dll | ricochet.so |
Rocket Crowbar | rockcrowbar | rc.dll | rc.so |
Rival Species | rspecies | hl.dll | hl.so |
Scientist Hunt | scihunt | shunt.dll | shunt.so |
The Ship | ship | ship.dll | ship.so |
Science & Industry | si | si.dll | si.so |
Snow-War | snow | snow.dll | snow.so |
StargateTC (Old, 1.x) | stargatetc | hl.dll | hl.so |
StargateTC (Updated, 2.x) | stargatetc | hl.dll | stc.so |
StargateTC (Updated, 2.x) | stargatetc | hl.dll | stc_i386_opt.so |
Sven Coop (Old) | svencoop | hl.dll | hl.so |
Sven Coop (Steam) | svencoop | server.dll | server.so |
Swarm | swarm | swarm.dll | swarm.so |
Team Fortress Classic | tfc | tfc.dll | tfc.so |
The Wastes | thewastes | thewastes.dll | thewastes.so |
Project Timeless | timeless | timeless.dll | pt.so |
Tour of Duty | tod | hl.dll | hl.so |
Train Hunters | trainhunters | th.dll | th.so |
The Specialists | ts | mp.dll | ts.so |
The Trenches | tt | tt.dll | tt.so |
Underworld Bloodline | underworld | uw.dll | uw.so |
Half-Life | valve | hl.dll | hl.so |
VampireSlayer | vs | mp.dll | vs.so |
Wanted! | wantedhl | wanted.dll | hl.so |
Wizard Wars (Steam) | wizardwars | wizardwars.dll | wizardwars.so |
Wizard Wars Beta (Steam) | wizardwars_beta | wizardwars.dll | wizardwars.so |
Wizard Wars (Old) | wizwars | mp.so | hl.dll |
WormsHL | wormshl | wormshl.dll | wormshl.so |
Zombie Panic | zp | mp.dll | hl.so |
Любое содействие и вклад в проект - приветствуется. Чем больше тестов с вашей стороны и обратной связи, тем сильнее развитие Metamod-r и остальных связанных продуктов. Удачи!