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

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ść
  • 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:

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