Istnieją dwa podejścia do przeciwdziałania botom. Są to ochrona po stronie klienta i analiza po stronie serwera.
Ochrona po stronie klienta jest najbardziej oczywistym podejściem - w pewnym sensie brutalna siła. Dokładasz wszelkich starań, aby klient gry był w pełni zgodny z prawem, nie został zmieniony i żadne inne programy na niego nie wpływają. To jest trudny problem i niemożliwy do pełnego rozwiązania. Ale wiele gier próbuje i odnosi pewne sukcesy dzięki tej metodzie. Wiem, że istnieją gotowe rozwiązania ochrony klienta i sugeruję, abyś ich szukał. Samo wdrożenie jest trudnym zadaniem.
Oprócz tego, że jest mniej niż 100% skuteczna, ochrona po stronie klienta ma tę wadę, że jest wyjątkowo denerwująca dla twoich graczy. Zwykle oznacza to takie rzeczy, jak wyłączenie przełączania zadań Alt-Tab, programy antywirusowe itp.
Analiza po stronie serwera jest mniej inwazyjna. W tym podejściu masz kod serwera, który analizuje wzorce zachowań graczy. Najczęściej boty grają wyraźnie inaczej. Na przykład, gracze będący ludźmi mają różny czas między czynnościami (takimi jak strzelanie), a tym razem przestrzegają rozkładu krzywej dzwonowej. Prymitywne boty będą miały stały czas lub równomiernie rozłożone w pewnym okresie. Ciekawostka: za pomocą tej metody złapaliśmy kiedyś gracza z mechanicznym botem - sprytnym urządzeniem, które naciskało przyciski na fizycznej klawiaturze. Nie trzeba dodawać, że żadna ochrona klienta nie może tego uchwycić . Ta analiza nie jest jednak idealna. Bardziej zaawansowane boty oszukują twoje systemy, a im więcej kontroli wprowadzasz, tym bardziej zaawansowane stają się boty.
Aby uzyskać najlepszą ochronę, możesz połączyć obie te metody. Ochrona klienta utrudni tworzenie botów, a analiza serwera zatrzyma proste boty, które zostały szybko opracowane. Ale cokolwiek zrobisz, nigdy nie możesz całkowicie powstrzymać botów. O ile nie wyślesz swoich przedstawicieli do domów graczy, nadzoruj ich grę i zgłaszaj naruszenia. (Nawiasem mówiąc, nie jest to niespotykane. Zdecydowanie przeczytałem historię o pokerze online wysyłającym ludzi do domu odnoszącego sukcesy gracza, aby potwierdzić, że gra legalnie. Ale nie mogę tego teraz znaleźć.)
Istnieją jeszcze dwie wątpliwe zalecenia dotyczące walki z botami. Po pierwsze, zaszyfruj ruch sieciowy. Nie sądzę, żeby to zadziałało. Gdy twój klient jest w rękach wroga, ruch może być i zostanie odszyfrowany ... lub twój własny klient zostanie użyty do szyfrowania. Z drugiej strony szyfrowanie powoduje opóźnienie, co jest naprawdę złe dla „strzelanki w czasie rzeczywistym”. Drugie zalecenie to „po prostu zaprojektuj swoją grę na tym”. Choć wydaje się to dobrym pomysłem, nie widziałem jeszcze jednej gry, która to poradziłaby.