Jak wykrywa się oszustów w grach online? Skąd gra wie, że akurat ta osoba wykorzystuje nieuczciwe praktyki?
Opublikowano 22.12.2022 12:58
Dawniej serwery wysyłały do wszystkich graczy te same dane. Czyli każdy komputer biorący udział w danej rozgrywce posiadał informacje o tym gdzie są inni gracze i co robią. Gra po prostu nie wyświetlała tych informacji na ekranie, jeśli nie były spełnione pewne warunki. Robiło się to ze względów wydajnościowych.
Wykorzystywały to programy do "widzenia przez ściany". Tak wpadł jeden z graczy, który streamował swoją grę w Internecie. Na swoje nieszczęście nosił okulary. Dociekliwi widzowie zauważyli, że w odbiciu jego ekranu były widoczne elementy, których w normalnej grze nie ma.
Tworzenie systemów na oszustów to delikatny balans pomiędzy prywatnością użytkowników a wykrywalnością nowych programów. Dawno temu Blizzard wysyłał do siebie tytuły innych programów uruchomionych na komputerze użytkownika. Ale ten mechanizm spotkał się z dużą falą krytyki.
Obecnie programiści skupiają się zazwyczaj nad monitorowaniem procesu gry. Bo żeby gra wyświetlała nieco więcej informacji - to trzeba zmodyfikować jej kod. Można tworzyć sygnatury – czyli opis zmian, wprowadzanych przez producentów cheatów.
Twórcy gry PUBG w jednym z wywiadów powiedzieli, że ponad 100 osób nieustannie monitoruje Internet w poszukiwaniu nowych próbek plików. To ogromna skala. Gdzieś tam w biurze, codziennie pracownicy instalują nowe programy i patrzą jak one działają. W ten sposób mogą tworzyć sygnatury i wykrywać nowe wersje.
Co ciekawe blokada konta czyli BAN nie następuje zaraz po wykryciu przez system oszustwa. Dane konto zostaje odpowiednio oznaczone. Ale gracz nadal może grać przez kilka dni. Blokada pojawia się w losowym czasie co często powoduje spore zaskoczenie. Użytkownik nie wie co i kiedy konkretnie zostało wykryte. Czy to program A? A może B?
Niektóre gry mogą wyliczać unikalny identyfikator sprzętowy. Tworzy się go na podstawie komponentów, które masz w środku komputera - procesora czy dysku twardego. Dzięki takiemu identyfikatorowi da się wykryć nowe konto zbanowanego wcześniej gracza. I to nawet jeśli łączy się z innego adresu IP. Konto może i łączy się z innego adresu, może i jest założone na nowego maila. Ale identyfikator sprzętowy od razu pokazuje, że system już kiedyś tego gracza widział.
Wykorzystuje się też system reputacji. Każdy z graczy ma przydzielony wynik określający jak bardzo mu ufamy – czyli jak bardzo prawdopodobne jest, że nie oszukuje. Nowe konta mają niski ranking, starsze wyższy. Wraz z czasem wynik się zmienia. Zrobiłeś coś dziwnego? Wynik spada. Grasz coraz dłużej? Wynik rośnie. Ale po co te wartości? Przy dostatecznie dużej liczbie graczy możemy próbować grupować ze sobą zawodników o tej samej randze.
Masz zbanowane konto? Stworzyłeś nowe? OK, wykryliśmy to i na tej podstawie zmniejszyliśmy Twój wewnętrzny ranking. Pozwolimy Ci grać, ale tylko z innymi graczami, którzy robią dokładnie to samo co Ty. Tym samym oszuści grają z oszustami. I pewno się na nich denerwują.
Oszustwo można też wykryć na podstawie systemu powtórek. Zapisuje się niektóre ruchy gracza w kluczowych momentach gry. Potem algorytmy porównują je z wcześniej oznaczonymi przypadkami oszustw.
Czasami da się zaprojektować mechanizm tak aby był odporny na próby oszustwa. Przykład z gry RUST. Fortece użytkowników mogą być chronione przez drzwi, blokowane kodem. Do wnętrza może wejść inny użytkownik, który zna kod. Ale 4 cyfry to nie wiele. Niektórzy zaczęli więc testować wszystkie możliwe kombinacje i rabować majątki innych. Rozwiązanie? Każdy błędny kod powodował, że twoja postać była rażona prądem. Im więcej razy wpisałeś złe hasło - tym dotkliwsze były konsekwencje.