Rozwiązywanie problemów
Jak poprawnie zgłosić problem:
Jeśli chcesz coś zaproponować, zgłosić błąd albo własne niepowodzenie, lub potrzebujesz pomocy „na żywo”, zawsze możesz się zwrócić tutaj. Wystarczy kliknąć zielony przycisk New issue i wypełnić formularz.
Twórcy będą wdzięczni, jeśli opis problemu będzie możliwie szczegółowy:
- Wersja twojego systemu operacyjnego; Wersja (numer kompilacji) serwera HLDS (albo ReHLDS);
- Wersja twojej gry (albo modyfikacji);
- Wersja Metamod-r (numer albo data kompilacji);
- Opcjonalnie możesz podać też listę modułów (wpisując
meta listw konsoli serwera).
- Opcjonalnie możesz podać też listę modułów (wpisując
- Dołącz logi;
- Dołącz zrzuty awaryjne;
Pomoże to w dokładniejszej analizie i, być może, w naprawieniu twoich problemów w przyszłości.
Jak zdobyć zrzuty awaryjne HLDS\reHLDS
Źródło główne (po rosyjsku).
Kopia (po rosyjsku).
Nie publikuj zrzutów ot tak w internecie, bo często zawierają pełne informacje o serwerze, w tym rcon i podobne dane. Do przekazania spakuj je z hasłem, co jest wygodne również dlatego, że kompresują się bardzo dobrze.
Windows
Za pomocą WER (Raportowanie błędów systemu Windows):
- Włącz WER (raporty o błędach):
- Przed Vistą:
- Uruchom drwtsn32.exe i wybierz "Full" przy Crash Dump File. Tam też zobaczysz (albo ustawisz), gdzie zrzuty będą zapisywane.
- Na Viście i nowszych:
- Przez edycję rejestru — wygodna metoda od s1lenta:
Szczegółowy i szybki sposób skonfigurowania rejestru pod zrzuty awaryjne, dla początkujących.
- Ustawienia:
- NAME_APP -
hlds.exe- nazwa aplikacji, dla której mają powstawać zrzuty w razie awarii.
- REG_LINK -
HKLM\Software\Microsoft\Windows\Windows Error Reporting- ścieżka do sekcji Windows Error Reporting (tego ustawienia najpewniej nie trzeba zmieniać; wydaje mi się, że ścieżki są takie same we wszystkich wersjach Windowsa)
- DumpType -
20- Zwykły zrzut1- Minimalny zrzut2- Pełny zrzut- DumpCount -
15- liczba tworzonych zrzutów; jeśli liczba zrzutów w folderze przekroczy podaną wartość, stary zostanie usunięty, żeby zrobić miejsce nowemu.
- DumpFolder -
C:\CrashDumps- ścieżka folderu, w którym będą zapisywane zrzuty.
- (żeby uniknąć problemów, nie używaj w ścieżkach spacji ani cyrylicy)
- Instalacja:
Pobierz archiwum i je rozpakuj.
Uruchom add_RegistryDumps.bat
Po zapisaniu do rejestru upewnij się, że usługa Windows Error Reporting jest włączona.
Następnie naciśnij Windows + R (klawisz Windows jest między ctrl a alt), albo otwórz cmd.exe, albo Start - Uruchom; zaraz potem wpisz gpedit.msc i spójrz na zrzut ekranu.
Konfiguracja komputera -> Szablony administracyjne -> Składniki systemu Windows -> Raportowanie błędów systemu Windows
Za pomocą narzędzia userdumps
- Instrukcja od unKn0wn:
Sposób na zdobycie zrzutów przy użyciu narzędzia Microsoftu:
UserModeProcessDumper \
kopia "UserModeProcessDumper8_1_2929_5.zip".
Podziękowania dla Leva za ustawienia.
1. Instalacja
Rozpakuj pobrane archiwum (domyślnie do C:\kktools\userdump8.1).
- Uruchom plik setup.exe z katalogu:
- Jeśli używasz 32-bitowego Windows XP/2003, to C:\kktools\userdump8.1\x86.
- Jeśli używasz 64-bitowego Windows XP/2003, to C:\kktools\userdump8.1\x64.
- W oknie kreatora instalacji kliknij Next.
- (Tylko dla systemów 32-bitowych) W oknie Terminate Mode wybierz Disable "Dump on Process Termination" feature i kliknij Next.
- Kliknij Finish i poczekaj na zakończenie instalacji. W oknie User Mode Process Dump Setup kliknij przycisk YES (Jeśli z jakiegoś powodu nie wiesz, jak wejść do ustawień userdump, zawsze znajdziesz je w Panelu sterowania - Process Dumper).
2. Dodanie aplikacji
W otwartym oknie Properties: User Mode Process Dumper Setup kliknij New, dodaj nazwę potrzebnego programu, na przykład: hlds.exe (rozszerzenie jest obowiązkowe!) i kliknij OK
3. Ustawienia
W oknie Properties: User Mode Process Dumper Setup znajdź właśnie utworzoną regułę aplikacji, zaznacz ją i kliknij przycisk Rules W otwartym oknie Process Monitoring Ruless for hlds.exe
- Wybierz Use custom rules.
- W razie potrzeby zmień folder, w którym zapisywane są zrzuty.
- W Exception Codes zaznacz (lewym przyciskiem) następujące kody: "Access Violation, Overflow, Illegal Instruction, Stack overflow."
- Ustaw parametr Save Mode na Cyclic saving (5 times). Powinno to wyglądać mniej więcej tak:
PS: polecam używać go razem z Dr Watsonem ustawionym na typ zrzutu "Brief", bo Dr Watson prowadzi logi w formacie tekstowym, co pozwala wybrać potrzebne zrzuty. A userdump wykona pełne zrzuty.
Linux
Serwer trzeba uruchomić z flagą -debug.
Jeśli w systemie zainstalowany jest gdb, czytelne informacje o błędzie trafiają automatycznie do pliku debug.log. Dlatego warto go zainstalować (polecenie zależy od systemu; na Debianie\Ubuntu jest to apt install gdb). Choć nie jest to konieczne do tworzenia zrzutów, w praktyce warto to zrobić, kiedy tylko się da, bo miejsce awarii zapisuje się w debug.log, co pozwala od razu powiedzieć coś o błędzie. Zdobycie tych samych informacji na innym systemie z pliku zrzutu wymagałoby wszystkich plików binarnych z serwera.
Domyślnie plik zrzutu nazywa się core, zapisuje się w katalogu roboczym i w związku z tym będzie nadpisywany. Żeby tego uniknąć, możesz dodać do nazwy identyfikator procesu:
echo 1 > /proc/sys/kernel/core_uses_pid
albo kierować zrzuty do /tmp:
echo /tmp/%e-%t-%p-%c.dmp > /proc/sys/kernel/core_pattern Więcej informacji
tutaj.
Uruchomienie bez sudo (jako root; w przeciwnym razie ogólne ustawienia systemu trzeba ustawić na unlimited):
ulimit -c unlimited && ./hlds_run -debug ...
Uruchomienie z sudo (jako użytkownik hlds):
ulimit -Hc unlimited && sudo -u hlds sh -c "ulimit -Sc unlimited && ./hlds_run -debug ..."
Sprawdzenie uruchomienia przez sudo:
ulimit -Hc unlimited && sudo -u hlds sh -c "ulimit -Sc unlimited && whoami && ulimit -Sc && ./hlds_run -debug ..."
wypisuje nazwę użytkownika, na którym nastąpi uruchomienie, oraz limit tworzenia zrzutów, a następnie uruchamia serwer.
Do przetestowania ustawień zrzutów możesz użyć modułu stworzonego specjalnie w tym celu:
FixItAll \
Kopia FixItAll or
Crash.sma*.
Tabela zbiorcza:
Folder - katalog twojej modyfikacji albo gry. W kolumnach
i
znajdują się nazwy plików wykonywalnych z folderu dlls, który leży w katalogu twojej modyfikacji albo gry.
❌ - wersja dla tej platformy nie istnieje
| Gra \ Modyfikacja | 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 (stary) | esf | hl.dll | hl.so (leży w linuxdll, a nie w katalogu dlls) |
| 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 (stary, 1.x) | stargatetc | hl.dll | hl.so |
| StargateTC (zaktualizowany, 2.x) | stargatetc | hl.dll | stc.so |
| StargateTC (zaktualizowany, 2.x) | stargatetc | hl.dll | stc_i386_opt.so |
| Sven Coop (stary) | 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 (stary) | wizwars | mp.so | hl.dll |
| WormsHL | wormshl | wormshl.dll | wormshl.so |
| Zombie Panic | zp | mp.dll | hl.so |
Każda pomoc i każdy wkład w projekt są mile widziane. Im więcej testów i opinii, tym lepiej rozwijają się Metamod-r i pozostałe powiązane produkty. Powodzenia!



