2
0
mirror of https://github.com/rehlds/metamod-r.git synced 2024-12-25 22:25:33 +03:00
14 Troubbleshouting
STAM edited this page 2018-09-05 23:19:20 +03:00
This file contains ambiguous Unicode characters

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.

Back

How to report about the problem correctly:

If you want to make an offer, register a mistake, your fail or you need "live" help and assistance-you can always apply here. Just press the green New issue button and fill out the form.

Developers will be grateful if the description of the problem be as much detail as possible:

  • The version of your operating system; The version (build number) HLDS server (either ReHLDS);
  • The version of your game (or mod);
  • Metamod-r version (build number or build date) ;
    • You can optionally specify a list of modules (by typing meta list in the server console).
  • Attach the logs;
  • Apply crashdumps;

This will help for a more thorough analysis and possibly correction of your problems in the future.


Получение дампов падения HLDS\reHLDS

Main source (rus). Mirror (rus).

Не стоит просто так выкладывать дампы в интернете, так как зачастую в них содержится полная информация о сервере, включая rcon и прочее. Для передачи можно архивировать их с паролем, что полезно ещё тем, что жмутся они весьма хорошо.

Windows

С использованием WER (Windows Error Reporting):

  • Разрешить WER (отчеты об ошибках):
    • До Vista:
      • Запустить drwtsn32.exe и выбрать "Full" напротив Crash Dump File. Тут же можно увидеть (или настроить) куда будут складываться дампы.
    • На Vista и выше:
      • Редактирование реестра, удобный способ от s1lent:

Развернутый и быстрый способ настроить реестр на получение дампов для новичков.

  • Настройки:
    • 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 \ mirror for "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

  1. Выберем Use custom rules.
  2. Если требуется меняем папку для хранения созданных дампов.
  3. В Exeption Codes выделяем (нажатием ЛКМ) следующие коды: "Access Violation, Overflow, Illegal Instruction, Stack oveflow."
  4. Выставляем параметр 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 mirror or Crash.sma*.


Summary table:

Folder - the directory of your mod or game. In columns and the names of the executable files from the folder 'dlls, which is located in the directoryyour mod or game'.

- platform version does not exist

Game \ Mod Folder
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

Any assistance and contribution to the project is welcome. The more tests and feedback, the stronger the development of Metamod-r and other related products. Goodluck!