Jakiś czas temu pomyślałem czy da się oszukać listy serwerów aby boty uznały za normalnych graczy.
Najważniejsze pytanie to jak listy sprawdzają czy gracze to boty
Pierwsze wnioski :
– Analiza pakietów miedzy przesyłanych między gametracker i serwerem oraz odwrotnie
– Sprawdzanie nicków
–
https://developer.valvesoftware.com/wiki/Server_queries
– Sprawdzanie czasu grania ( tutaj odrazu znalazłem argumenty przeciw np. skąd gametracker ma wiedzieć kiedy zmieniła się mapa itp. ale sprawdzić zawsze warto 😉 )
Nie miałem możliwości analizy pakietów dlatego zajmiemy się tym później
Prymitywny sposób z sprawdzaniem nicków łatwo sprawdzamy poprzez ustawienie
pb_detailnames 0
i losowych nicków w botnames.txt
( używam podbotów )
nic boty nadal są wykrywane
Sprawdzamy teraz „Server queries”
– A2A_PING nic przydatnego dla nas
– A2S_SERVERQUERY_GETCHALLENGE jak wyżej
– A2S_INFO tutaj znajdujemy ciekawe pole „Number of bots”
jak sama nazwa wskazuje jest to liczba botów na serwerze co prawda nie mówi ona kto jest botem ale to wartość będziemy musieli być może podmieniać
jest jeszcze jedno ciekawe pole „Number of players”
czy boty są uznawani za normalnych graczy ? chyba tak , z tego zapytania korzysta klient podczas sprawdzania informacji o serwerze w menu więc tu możemy przyjąć że jest wszystko ok
– A2S_PLAYER nic przydatnego do ustalenia czy gracz jest botem
– A2S_RULES tym są przesyłane wartości cvarów więc szybkie sprawdzenia czy serwer z botami ma jakieś dodatkowe cvary
cvary rzeczywiście są pb_* oraz cvar num_bots ale te cvary nadal nie pozwalają na ustalenie który z graczy jest botem
Sprawdzanie czasu grania
Tutaj metoda jest bardzo prosta bota dodałem w czasie gry , zauważyłem bardzo ciekawą rzecz mimo że bot był dodany w czasie gry to czas grania miał taki sam jak reszta botów czyli tak jakby grał od początku
A teraz jeszcze coś lepszego 🙂 mimo że klient widzi że boty mają ten sam czas grania to gametracker już nie
Ok mamy znaleźliśmy kilka ciekawych rzeczy dzięki którym lista serwerów może wykryć boty na serwerze ale nie może wykryć że konkretny gracz jest botem.
Kolejnym punktem do sprawdzenia jest analiza GameQ i sprawdzenie skąd ono pobiera informacje o botach.
Po pierwsze powinniśmy użyć pluginu
https://forums.alliedmods.net/showthread.php?t=211588 aby ustawić losowy czas grania botom.
bot_played_time_faker.zip Download
Następnie powinniśmy użyć tego modułu
https://forums.alliedmods.net/showthread.php?t=244450
I wgrać ten plugin
#include
#include
public plugin_init(){
register_plugin( "FakeQueries", "1.0", "DarkGL" );
fq_set_botsnum( 0 )
}
botsNum.zip Download
Dodatkowo jeśli chcemy możemy ustawić ile chcemy mieć graczy na serwerze
#include
#include
public plugin_init(){
register_plugin( "FakeQueries", "1.0", "DarkGL" );
fq_set_players( 32 )
}
Dla 32 slotowego serwera , dzięki temu serwer będzie widoczny ciągle jako pelen.
playersNum.zip Download
Dzięki temu w pewien sposób oszukujemy już pobieranie automatycznie pobieranie informacji o serwerze. Więcej o tym w następnej części poradnika.
Zostanie to przetestowane na testowym i dam na dniach odpowiedź czy warto (czy działa)… 🙂
Ale sama metoda „używania” tego sposobu mnie zastanawia. Właściwie nigdy mi to nie było potrzebne, ale po co oszukiwać? 😛
Poprawienie pozycji w rankingu 😉
Czesc,
nie wiem czemu, zrobilem wszystko wedle tego tematu ale nie dziala. Przy liscie pluginow w amxmod pisze blad, a skompilowane poprawnie pluginy z tego artykułu.
Ppmozesz?
Wgrałeś moduł fakequeries do amxxa ?
Wgralem moduł.
Pojawiają się jakieś logi ?
Jest taki error:
Plugin „fake.amxx” failed to load: Module/Library „fakequeries” required for plugin. Check modules.ini.
A do modules.ini mam dopisane: „fake_queries”
oraz wgralem „fake_queries_mm_i386.so” do folderu modules
serwer stoi na linuxie ?
Tak
Problem rozwiązałem.
W module Fake Queries jest błąd.
Trzeba nazwe modułu(pliku) zmienić na:
fakequeries_amxx_i386.so
i w tedy zadziała.
Jak możesz dopisz to w poradniku, bo jak ktoś nie zrobi tego będzie error z modułem.
Tak.
Skontaktuj się ze mną na pw
Napisałem na gg,
mam pisać a email może?
Problem rozwiązałem.
W module Fake Queries jest błąd.
Trzeba nazwe modułu(pliku) zmienić na:
fakequeries_amxx_i386.so
i w tedy zadziała.
Jak możesz dopisz to w poradniku, bo jak ktoś nie zrobi tego będzie error z modułem.
Dzięki dopisze 😉
Ja jak odpale ten moduł od razu Segmution Fault.
na jakim systemie i wersji odpalasz ?
HLDS:6153
AMX Mod X v1.8.2
Sprawdź engine w wersji 6132
version : 48/1.1.2.7/Stdio 6153 secure (10)
nic
http://wklej.org/id/1766273/
No cóż widze że autor ma też z tym problemy , trzeba czekać na jakąś aktualizację
za podasz linka ?
Jest w artykule
I co nadal autor nic nowego nie wprowadził.
Można o link do owego tematu?
https://forums.alliedmods.net/showthread.php?t=244450
również mi nie wykrywa tego modułu… hlds 6153 odezwalbys sie na gg ? 4639335
Napisz do mnie
Darku napisałeś „Po pierwsze powinniśmy użyć pluginu
https://forums.alliedmods.net/showthread.php?t=211588 aby ustawić losowy ping botom.” Ale ten plugin metamoda ustawia nie ping, a czas grania botów, a co z pingiem wystarczy użyć tego http://amxx.pl/topic/8132-ping-faker/ ?? Druga sprawa to koniecznie zmienić trzeba nazwę pliku z fakequeries_amxx_i386.so na fakequeriesamxx_i386.so . Działa świetnie nawet i bez pingu na zwykłych botach nie muszą być to koniecznie podboty ;p
Pierwsze to zwykła pomyłka poprawiłem.
Drugie cóż dostawałem informacje że niektórzy mają z tym problem i rozwiązaniem było właśnie to więc wolałem dodać takie coś do postu 😉
Super i ogólnie Ci powiem zajebisty blog takiego nigdzie nikt nie ma 😀
Pozdrawiam.
Witam czy dasz radę przerobić swój plugin o ilości osób, aby np. jak jest ustawiony na 10 osób i wejdzie 11 osoba to się wyłączył ? szkoda jak mam full serwer a pokazuje że jest 10 osób.
Naprawiłem problem z Fake Queries w logach i chyba ten plugin tak działa jak wyżej pisałem ?.
Podaj sposób jeśli możesz na naprawę fakequeries
@Dark
jak zrobic zeby bylo
fq_set_players( liczbabotow+normalni gracze )?
bot_played_time_faker – nie dziala na nowym hlds
botsNum – dziala na cssetti a na gametracker juz nie
playerNum – czy da sie zrobic zeby ustawic wartosc na liczba botow + normalni gracze?
tak zeby w monitorach byla liczba graczy razem z botami jako jedna liczba bez () dla botow.
Darku , czyli w skrocie:
1. Sciagamy PodBoty i wgrywamy je na na serwer
2. Robimy wszystko wedlug tej instrukcji
3. Cieszymy sie rankiem na gt? 😀
A modul jest wgl do pobrania z tego poradnika ?
Z tego co wiem GT już się przed tym zabezpieczyło ale na cssetti działa 🙂
Na gt dziala jak masz max 3 boty 🙂
Powyżej co się dzieje ?
Wyskakuje napis „BOT” przy nicku w GT. Jak są 3 boty, GT daje się nabrać.
bot_played_time_faker – nie działa, wywala serwer i nie chce włączyć.
Na tabelkach serwerów działa, GT niestety nie.
bot_played_time_faker jest pod stare wersje silnika gry nie działa na najnowszych binarkach
Da radę jakoś obejść to, że GT tylko 3 BOT`y widzi jako zwykłych graczy?
Niestety obecnie nie na publicznych sposobów z tego co wiem 🙂
Wystarczy uzyc botow z exploitu zamiast pluginu, i gt wylapuje wszystkie jako graczy.
Link do exploitu ?