HLGuard

Od HLDS.pl
Skocz do: nawigacji, wyszukiwania

Spis treści

Opis

Hlguard.gif

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ś.

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

Instalacja

Wymagania

Instalacja

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 Speedhack'a na CvarBlocking i moze byc aktywowana 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.

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>"

wykonuej 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

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

hlg_menucmd "<description>" "<commmand>"

dodaje pozycje do menu w cześci komend serwera

  • description: opis
  • command: komenda do wykonania

hlg_menuplayer

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ść
  • mzienione kofngigi w porównaniu z oryginalną wersją, czasme dosć mocno inne.

Czy sie opłaca?

Jesli możesz chociarz 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_cmdrate 30 101 50 sk
hlg_blockcvar "cl_forwardspeed" "400" "600" "400" "sk"

Źródła:

Osobiste
Przestrzenie nazw
Warianty
Działania
HLDS.pl - Menu:
Inne
IRC
Inne sekcje:
Znajomi:
Narzędzia