HLGuard
Opis
HLGuard - Jeden z najstarszych systemów działających wyłącznie na serwerze gry Half-Life - HLDS. Projekt przejęty przez grupę programistów The Z Project w momencie rozłamu UnitedAdmins i utrzymywany do dziś.
- The Z Project - strona domowa
Zalety
- działa tylko na serwerze - nie trzeba klienta
- rozbudowane możliwości dostosowania programu w działaniu do potrzeb graczy i serwera i dodatków
- ogranicza ruch sieciowy o nadmiarowe dane, które wykorzystują antycheaty
- możliwośc integracji z takimi bazami danych jak SteamBans czy AMX Bans
- działa z większością innych programów antycziterskich
Wady
- czasem fakt, iż jest to tylko wersja serwerowa nie wystarcza i trzeba go wspomagać innymi programami.
- potrafi pożerac pamięć serwera, oznacza to, że trzeba serwer restartować mniej więcej co 48h - wtedy czuje się wyraźne polepszenie grywalności.
Linki
- UnitedAdmins - pierwotna strona projektu.
- The Z Project - aktualna strona projektu.
- Nightly Builds zobacz Nightly Builds
- Instrukcja po angielsku - zawierająca parę ciekawych tekstów.
- FAQ po angielsku
- O WallHacku]
Instalacja
Wymagania
- HLGuard: http://www.thezproject.org/downloads/hlguard/hlg_1_8.zip
- Zainstalowany i działający MetaMod
Instalacja
- Wypakowywujemy ZIP'a z HLGuardem do cstrike/
- Edytujemy /addons/metamod/plugins.ini
Dla Windows dopisujemy:
win32 addons/hlguard/dlls/hlguard_mm.dll
lub, jeśli procesor naszego serwera to athlon-xp/pentium 4 możemy użyć specjalnej biblioteki optymalizowanej pod te procesory
win32 addons/hlguard/dlls/hlguard_mm_optimized.dll
Dla Linux dopiszemy:
linux addons/hlguard/dlls/hlguard_mm_i686.so
lub, jeśli procesor naszego serwera to athlon-xp/pentium 4 możemy użyć specjalnej biblioteki optymalizowanej pod te procesory
linux addons/hlguard/dlls/hlguard_mm_optimized_i686.so
W przypadku wystąpienia problemów z bibliotekami _optimized_ należy używać zwykłych.
Konfiguracja
Podstawowa
- Otwieramy addons/hlguard/config/hlguard.cfg
Widzimy w nim cos takiego (tyle ze po angielsku. Na potrzeby tutorialu przetłumaczyłem, o co mniej więcej chodzi):
hlguard 1 off // [[Aimbot]] Warning System hlguard 2 on // Wykrywanie niedozwolonych aliasów, itd. hlguard 3 on // Detekcja Rapid/BurstFire hlguard 4 on // Blokowanie [[WallHack]]'a hlguard 5 off // Blokowanie [[SpeedHack]]'a hlguard 6 off // Klient [[Steambans]] - jeśli nie wiesz, co to jest, to zostaw na off hlguard 7 on // Wykrywanie szybkich i częstych zmian nicka (tzw. nick spam) hlguard 8 on // Wlaczanie stref blokujących błędy map (np. wyjścia poza mapy)
To, co ma byc włączone zmieniamy z off na on. Bądź, jeżeli cos ma byc wyłączone to z on na off.
UWAGA Jeśli uzywacie Nightly builds powyżej wersji n3 to pozycja hlguard 5 może byc na on - zmieniono ja ze Speedhacka na CvarBlocking i moze byc aktywowana. Więcej w punkcie Nightly Builds.
Jeżeli chcemy, aby HLG w grze pokazywał ze przeskanował już configi znajdujemy to:
// One-Time messages // hlg_action "a:not found" "hlg_clexec #%u 'alias hlgauth';say '[HLGUARD] %n completed the HLGuard alias scan.'" // // Repeating messages // hlg_action "a:not found" "say '[HLGUARD] %n completed the HLGuard alias scan.'"
I zmieniamy na:
// One-Time messages hlg_action "a:not found" "hlg_clexec #%u 'alias hlgauth';say '[HLGUARD] %n completed the HLGuard alias scan.'" // // Repeating messages hlg_action "a:not found" "say '[HLGUARD] %n completed the HLGuard alias scan.'"
Aby ustawić tryb HLGuarda trzeba znaleźć
// Use ONE of these config files designed for InterNET, LAN and LEAGUE servers: hlg_loadmode net // InterNET mode - Banowanie przez STEAM ID // hlg_loadmode lan // LAN mode - Banowanie przez adres IP (przydatne na LANie) // hlg_loadmode league // League mode - HLG nie banuje. Pokazuje tylko ze ktoś 'coś' ma i zapisuje do logów
Zmieniając tryb należy usunąć // (dwa slashe) sprzed 'nowego' trybu a dodać to samo na tym 'stary'.
Aby włączyć funkcje banowania nickow trzeba znaleźć: Kod:
// hlg_exec addons/hlguard/config/hlg_nameban.cfg
i zamienić na Kod:
hlg_exec addons/hlguard/config/hlg_nameban.cfg
Więcej o tym jest niżej.
Aby włączyć zgodę na przeskanowanie systemu przez HLguard trzeba znaleźć:
// hlg_exec addons/hlguard/config/hlg_agreement.cfg
i zamienic na
hlg_exec addons/hlguard/config/hlg_agreement.cfg
Zawansowana konfiguracja
Pamiętaj, aby zawsze zrobić kopie zapasowa pliku, który edytujesz.
Rózne bajery
Radzę zajrzeć tutaj - kilkanaście fajnych linii aby HLGuard był bardziej fajowy :)
AMXBans
Dostosowywanie HLGuarda, aby działał z AMXBANS.
- Otwieramy plik hlg_net.Cfg i zmieniamy sekcje w pliku:
- Alias Detection Actions
hlg_action "b:found:10" "banid 0.0 %w;kick #%u [HLGUARD] Banned: Permanently. Reason: %y;wait;writeid" hlg_action "t:found:10" "banid 1440.0 %w;kick #%u [HLGUARD] Banned: 24 hours. Reason: %y;wait;writeid"
na
hlg_action "b:found:10" "amx_ban 0 %w [HLGUARD] You have been banned. Reason: %y" hlg_action "t:found:10" "amx_ban 1440 %w [HLGUARD] You have been temporarily banned. Reason: %y"
- Steambans check actions
hlg_action "h:found:10" "banid 1440.0 %w;kick #%u [HLGUARD] Banned: 24 hours. Reason: You are SteamBans blacklisted! Visit www.steambans.com for more information;wait;writeid"
na
hlg_action "h:found:10" "amx_ban 1440 %w [HLGUARD] Banned: 24 hours. Reason: You are SteamBans blacklisted! Visit www.steambans.com for more information"
- Nameban Actions
hlg_action "q:found:10" "banid 120.0 %w;kick #%u [HLGUARD] Banned: 2 hours. Reason: %y;wait;writeid"
na
hlg_action "q:found:10" "amx_ban 120 %w [HLGUARD] Banned: 2 hours. Reason: %y"
- Aimbot Warning System Detection Actions (Abandoned, not updated, no support)
hlg_aimbot "banid 1440.0 %w;kick #%u [HLGUARD] You have been banned for suspected aimbot;wait;writeid"
na
hlg_aimbot "amx_ban 1440 %w [HLGUARD] You have been banned 24 hours for suspected aimbot"
Banowanie po Nickach
Nicki do zbanowania znajdują się w pliku hlg_nameban.cfg. Standardowo jest tam kilka nazw klanów i nickow, które dostają bana. Śmiało możemy się ich pozbyć poprzez wykasowanie ich. Składnia polecenia sprawdzania czy nick jest do zbanowania wygląda tak:
hlg_check "%n:nick:Przyczyna bana i tekst, który zostanie wyświetlony przy banie/kicku" "flagi"
Przy nicku można użyć znaków * i ? które zastępują odpowiednio dowolny ciąg znaków i jeden znak.
W "Przyczyna bana i tekst, który zostanie wyświetlony przy banie/kicku" możemy wpisać, co nam się podoba.
We "flagi" należy stosować którąś z kombinacji: 1) pk - Zapisuje delikwenta do logu i kopie go z serwera. 2) q - Zapisuje delikwenta do logu i banuje go.
hlg_check "%n:*lol*:Niedozwolona część nicka: lol" "q"
spowoduje ze będzie banowany każdy, kto gdzieś w nicku ma słowo lol
hlg_check "%n:ku?a:Z takim nikiem tu nie zagrasz" "pl"
spowoduje ze gracze o nickach kupa, kuba, kuwa itd będą kopani z serwera.
Zgoda na skanowanie systemu
Wszelakie informacje na ten temat znajdują się w pliku hlg_agreement.cfg
Aby zmienić na polski tekst informacji pojawiającej się przy wejściu na serwer trzeba zedytowac w/w plik, zamiast
hlg_agreement " yHLGuard connection agreementw" hlg_agreement " " hlg_agreement " By playing on this server, you" hlg_agreement " agree to have your system scanned and" hlg_agreement " specific features of the game blocked," hlg_agreement " for the purpose of cheat prevention" hlg_agreement " and detection." hlg_agreement " " hlg_agreement " If you don't agree with these conditions," hlg_agreement " press key number 4 to be kicked from" hlg_agreement " this server." hlg_agreement " " hlg_agreement " 1. I agree 4. I disagree"
wpisujemy:
hlg_agreement " y-| Zgoda na przeskanowanie systemu przez HLguard |-w" hlg_agreement " " hlg_agreement " Łącząc się do tego serwera, zgadzasz się" hlg_agreement " by twój system został przeskanowany i niektóre" hlg_agreement " właściwości gry zostały zablokowane, co uniemożliwi" hlg_agreement " uzycie cheatow." hlg_agreement " " hlg_agreement " Jeśli nie zgadzasz się z powyższymi" hlg_agreement " warunkami, wciśnij klawisz 4" hlg_agreement " " hlg_agreement " 1. Zgadzam się 4. Nie zgadzam się"
Inne tłumaczenia znajdują się tutaj: http://board.counter-strike.pl/viewtopic.php?t=3062
Menu HLGuarda w grze
Aby uzyskać dostęp do menu HLGuarda w grze należy edytować plik hlg_menu.cfg Znajdujemy w nim cos takiego:
hlg_menupassword ""
pomiędzy cudzysłowami wpisujemy swoje hasło.
hlg_menupassword "MojeHaslo"
teraz najlepiej do configa sobie dopisać
bind "f2" "hlg_menu MojeHaslo"
Wielkość liter ma znaczenie! Teraz w grze wciskamy F2 i mamy ładne menu HLGuarda.
Blokowanie zmiennych
Blokowanie/Odblokowywanie niektórych zmiennych w grze (chwilowo nie działa)
HLGuard standardowo blokuje niektóre zmienne w grze. Np. ex_interp 0.1 Za pomocą kilku configow możemy sami ustawić jakieś zmienne, aby gracze nie oszukiwali.
Zmienne forsowane przez HLGuarda znajdują się w kilku plikach.
addons\hlguard\config\cstrike\hlg_cvars.cfg
oraz
addons\hlguard\config\hl\hlg_cvars.cfg
Aby pozbyć się blokowania należy w tych configach znaleźć
hlg_conncommand "ex_interp 0.1;alias ex_interp"
i zamienić na
// hlg_conncommand "ex_interp 0.1;alias ex_interp"
Tak samo postępujemy z innymi zmiennymi, których nie chcemy.
Aby dodać jakąś zmienna żeby była forsowana u graczy trzeba w
addons\hlguard\config\cstrike\hlg_cvars.cfg
dopisać:
hlg_conncommand "nazwa_zmiennej <wartość>; alias nazwa_zmiennej"
Czas banów
Zmiana długości trwania banów
Otwieramy hlg_net.cfg lub hlg_lan.cfg w zależności, z jakiego trybu HLGuarda korzystamy i szukamy w nim słowa banid oraz odpowiednio addip. Po tych wyrazach zawsze jest jakąś wartość liczbowa. Ta wartość to właśnie czas w minutach na ile gracz dostaje bana. Gdy ta wartość wynosi 0 wtedy ban jest permanenty (na zawsze).
Komendy i Zmienne
Komendy
hlguard
hlguard hlguard <mode> <on|off|1|0> hlguard <bitmask>
bez parametrów pokazuje tryb w jakim pracuje hlguard, mode to tryb pracy, jest ich sześć, pokazuje status danego trybu:
hlguard 1 off // Aimbot Warning System hlguard 2 on // Wykrywanie niedozwolonych aliasów, itd. hlguard 3 on // Detekcja Rapid/BurstFire hlguard 4 on // Blokowanie WallHack'a hlguard 5 off // Blokowanie SpeedHack'a hlguard 6 off // Klient SteamBans - jeśli nie wiesz, co to jest, to zostaw na off hlguard 7 on // Wykrywanie szybkich i częstych zmian nicka (tzw. nick spam) hlguard 8 on // Wlaczanie stref blokujących błędy map (np. wyjścia poza mapy)
bitmask: maska bitowa modów, zero to wyłączenie, rzadko stosowane
hlg_action
hlg_action "<flag>:<found|not found>" "<command>"
dodaje akcję do sprawdzanych aliasów
- flag: identyfikator akcji
- found/not found: gdy hlg sprawdza i jesli znajdzie lub nie znajdzie danej akcji to wykona się komenda
- command: komenda do wykonania jeśli warunek jest spełniony
hlg_aimbot
hlg_aimbot "<command>"
wykonuje komendę jeśli wykryto aimbot'a
hlg_check
hlg_check "<alias>:<description>" "<flags>"
dodaje alias do listy skanów
- alias: alias do skanowania
- description: nazwa cheat'u
- flags: fflagi z którymi łączyc ten skan
hlg_clexec
hlg_clexec <#<userid>|<uniqueid>> "<command>"
wykonuje komendę na graczu
- userid: numer identyfikacyjny gracza
- uniqueid: Steam ID
hlg_reset
hlg_reset hlg_reset <net|lan|league>
resetuje hlguard'a - ignoruje wszelkie komendy hlg_loadmode w chiwli przeładowania, i ładuje moduły na tryb net/lan/league
hlg_log
hlg_log "<hlg string>"
zapisuje do logów dany ciąg zarówno do logów serwera jak i hlguarda
- hlg string: ciąg znaków, rozpoznaje zmienne z % (zobacz niżej)
hlg_menucvar "<cvar>" "<step>" "<maximum>" dodaje pozycje do menu w części hlg server cvar (zmienne)
- cvar: zmienna, na przykład hlg_delay
- step: krok, zmiana wartości od 0 do <maximum>
hlg_menucmd "<description>" "<commmand>"
dodaje pozycje do menu w cześci komend serwera
- description: opis
- command: komenda do wykonania
hlg_menuplayer "<description>" "<commmand>"
dodaje pozycje do menu graczy
- description: opis komendy
- command: komenda do wykonania
hlg_write
hlg_agreement hlg_agreement "<message>" wyświetla oraz dodaje linie do tekstu zasad ( rules agreement), zgoda na skanowanie itp
hlg_write
hlg_write "<hlg string>"
zapisuje komunikat do aktualnego hlg_writefile (logu)
hlg_conncommand
hlg_conncommand "<command>"
dodaje komendę do listy komend wykonwanych u gracza w chwili kiedy ten sie podącza do serwera
hlg_exec
hlg_exec "<config.cfg|config.zcfg>" wykonuje normalny plik konfiguracyjny albo z config z suportem dla zmiennych z %
hlg_listexec
hlg_listexec
wyświetla listę wszystkich plików wykonywanych w chiwli aktywacji hlg_exec
hlg_blockcommand
hlg_blockcommand hlg_blockcommand "<command>"
blokuje komendę gracza jeśli jest uzyta, albo pokazuje liste aktualnie blokowanych komend. Nie wszstkie komendy mozna zblokować.
hlg_loadmode
hlg_loadmode <net|lan|league>
ładuje tryb net/lan/league , powinen być wykonywany tylko raz na mapę.
hlg_updateconfigs
hlg_updateconfigs
wykonuje ręczną aktualizacje konfigów
hlg_swzone
sky walk zone, czyli obszary zakaznego łażenia po niebie.
hlg_swzone mod <mod> hlg_swzone map <map> hlg_swzone point1 <x> <y> <z> hlg_swzone point2 <x> <y> <z> hlg_swzone point3 <x> <y> <z> hlg_swzone point4 <x> <y> <z> hlg_swzone point5 <x> <y> <z> hlg_swzone point6 <x> <y> <z> hlg_swzone point7 <x> <y> <z> hlg_swzone point8 <x> <y> <z> hlg_swzone method <method> hlg_swzone add
- mod: krótka nazwa modu (cstrike, tfc, ...)
- map: nazwa mapy, bez roszerzenia (de_dust, rock2, ...)
- x/y/z: parametry w przestrzeni mamp - origin in game world (246, -284, ...)
- method: 0 = brak, 1 = blokuj, 2 = blokuj + forsuj brak promeni
ustawia parametry dla obszaru albo tworzy nowy
Zmienne
Uwaga, te zmienne są czułe na wielkośc znaków - %s to nie to samo co %S
%n - zwraca imię gracza
%y - zwraca opis aktualnego cheat'a/ ilośc ostrzeżeń aimbota od momentu podączenia się gracza do serwera
%w - zwraca gracza uniqueid -steamid/wonid
%i - zwraca adres ip gracza
%v - zwraca czy alias został lub nie został znaleziony
%d - zwraca datę w formacie miesiąc/dzień/rok (mm/dd/yyyy)
%h - zwraca godzinę (hh:mm:ss)
%g - zwraca wersję HLGuard
%k - zwraca wartośc zmiennej hlg_aimbotrepeat
%c - zwraca numer aimwarn w zadanym czasie hlg_aimbottimeout
%a - zwraca wartość zmiennej hlg_aimbotlevel
%q - zwraca wartość zmiennej hlg_aimbottimeout
%u - zwraca userid gracza (uid)
%m - zwraca nazwę mapy
%t - zwraca nazwę druzyny gracza
%f - zwraca wartość zmiennej hlg_cfgversion
%s - zwraca nazwę serwera
%o - zwraca listę graczy
%M - zwraca nazwę modu (cstrike..)
%L - zwraca aktualną ścieżke pliku z logami
%C - zwraca liczbę skanów aliasów wykonaną na graczy
%S - zwraca numer slotu gracza
%N - zwraca nowy nick gracza na jaki zostaje zmieniony, potrzebny do systemów banujących aby pokazywały nowy nick a nie stary
Nightly Builds
Co to jest?
Są to wersje kompilowane ze źródeł, które sa najnowszą wersją HLGuarda. Co oferuje night build:
- najnowsze metody anticheat
- błędy
- niestabiloność
- różnice w plikach konfiguracyjnych w porównaniu z wersją stabilną
Skąd pobrać?
Zobacz Linki
Co jakis czas pliki kończące się nazwą nightly.so oraz nightly.dll sa zastepowane najnowszą wersją.
Czy sie opłaca?
Jesli możesz chociaż uruchomić to od czasu do czasu to tak, a w razie jakichkolwiek odpowiedzi deweloperzy będą bardzo wdzięczni.
Różnice
- hlguard 5 on - zamiast speedhacka jest cvarblocker który moze byc aktywowany. W związku z tym istnieje komenda
hlg_blockcvar <cvar> <minimum value> <maximum value> <default value> <warning flags>
na przykład
hlg_blockcvar "cl_forwardspeed" "400" "600" "400" swk
Napisze komunikat, ostrzeże osobe i wykopie z serwera. Więcej przykładów na forum.
Dodatki
- Istnieją rózne doatki, jednak ich zastosowanie nie jest dla lamerów nie umiejących skonfigurować nawet HLGuard'a a co więcej nie umiejących zajrzeć do isntrukcji i języka słownego
- Skrypty Windows do manipulacji banami i logami.
Źródła:
- http://forums.unitedadmins.com/index.php?showtopic=45761
- http://www.zepher.f2s.com/docs/HLG/en/
- Potwierdzenie skanowania przetłumaczone przez zchiz'a