-
-
Notifications
You must be signed in to change notification settings - Fork 38
Устранение проблем
Если вы хотите внести предложение, зарегистрировать ошибку, у вас ничего не получилось, либо вам нужна "живая" помощь и содействие - вы всегда можете подать заявку здесь. Достаточно нажать зеленую кнопку New issue
и заполнить форму.
Разработчики будут благодарны, если при описании проблемы - вы максимально подробно все распишете:
- Версию вашей операционной системы;
- Версию (номер сборки) HLDS-сервера (либо ReHLDS);
- Версию вашей игры (или мода);
- Версию (номер или дату сборки) Metamod-r;
- Можете дополнительно указать список модулей (набрав
meta list
в консоли сервера).
- Можете дополнительно указать список модулей (набрав
- Приложите логи;
- Приложите crashdump'ы;
Это поможет для более тщательного анализа и, возможно, исправления ваших проблем в будущем.
Не стоит просто так выкладывать дампы в интернете, так как зачастую в них содержится полная информация о сервере, включая rcon и прочее. Для передачи можно архивировать их с паролем, что полезно ещё тем, что жмутся они весьма хорошо.
- Разрешить 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
- Инструкция от unKn0wn:
Способ получения дампов посредством утилиты от MicroSoft: UserModeProcessDumper \ Зеркало "UserModeProcessDumper8_1_2929_5.zip".
Спасибо Lev за настройки.
Архив который вы скачали разархивируем (по умолчанию 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).
В открывшемся окне Свойства: User Mode Process Dumper Setup жмём New и добавляем имя нужной нам программы на пример: hlds.exe (расширение -обязательно!) и жмём ОК
В окне Свойства: 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 будет делать полные дампы.
Сервер надо запускать с ключем -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 и остальных связанных продуктов. Удачи!