mirror of
https://github.com/rehlds/metamod-r.git
synced 2025-07-21 12:46:20 +03:00
Updated Troubbleshouting (markdown)
parent
b4e266a502
commit
2b705b44c0
@ -17,16 +17,125 @@ Developers will be grateful if the description of the problem be as much detail
|
||||
|
||||
This will help for a more thorough analysis and possibly correction of your problems in the future.
|
||||
|
||||
***
|
||||
## Universally
|
||||
***
|
||||
|
||||
##  Windows
|
||||
|
||||
### Once metamod-r is installed the server shuts down immediately
|
||||
## Получение дампов падения HLDS\reHLDS
|
||||
|
||||
##  Linux
|
||||
 [Источник](https://aghl.ru/forum/viewtopic.php?f=10&t=1441).
|
||||
|
||||
`Subsection needs to be expanded`
|
||||
**Не стоит просто так выкладывать дампы в интернете, так как зачастую в них содержится полная информация о сервере, включая rcon и прочее. Для передачи можно архивировать их с паролем, что полезно ещё тем, что жмутся они весьма хорошо.**
|
||||
|
||||
###  Windows
|
||||
|
||||
#### С использованием WER (Windows Error Reporting):
|
||||
* Разрешить WER (отчеты об ошибках):
|
||||
- До Vista:
|
||||
- Запустить drwtsn32.exe и выбрать "Full" напротив Crash Dump File. Тут же можно увидеть (или настроить) куда будут складываться дампы.
|
||||
- На Vista и выше:
|
||||
- Редактирование реестра, удобный способ от [s1lent](https://github.com/s1lentq):
|
||||
>
|
||||
> #### Развернутый и быстрый способ настроить реестр на получение дампов для новичков.
|
||||
>
|
||||
> * Настройки:
|
||||
> - **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`
|
||||
>
|
||||
> 
|
||||
>
|
||||
> *  [add_RegistryDumps.zip](http://aghl.ru/forum/download/file.php?id=3071)
|
||||
> *  [remove_RegistryDumps.zip](http://aghl.ru/forum/download/file.php?id=3536)
|
||||
>
|
||||
|
||||
#### С использованием утилиты userdumps
|
||||
* Инструкция от _unKn0wn_:
|
||||
|
||||
>
|
||||
> Способ получения дампов посредством утилиты от MicroSoft:  [UserModeProcessDumper](http://www.microsoft.com/en-us/download/details.aspx?id=4060). Спасибо [Lev](https://github.com/LevShisterov) за настройки.
|
||||
>
|
||||
> ##### 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` Больше информации [тут](http://man7.org/linux/man-pages/man5/core.5.html).
|
||||
|
||||
Запуск без `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](http://aghl.ru/forum/viewtopic.php?f=19&t=1680&p=19549).
|
||||
|
||||
|
||||
***
|
||||
|
||||
### Summary table:
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user