Raven AnticheatRavenAnticheat
Wszystkie tematy wykrywania

Architektura dwuwarstwowa: jak Raven Anticheat prowadzi wykrywanie na kliencie i serwerze naraz

Raven domyślnie prowadzi wykrywanie po stronie klienta i serwera równolegle. Ominięcie jednej warstwy zostawia drugą na posterunku, i to właśnie nie pozwala większości współczesnych cheatów na FiveM przejść niezauważenie.

Dlaczego jedna warstwa nie wystarcza

Większość anticheatów na FiveM opiera się na jednej warstwie wykrywania: albo na stosie klienckim, który wypatruje wstrzykniętych DLL-i, podpiętych API i znanych sygnatur menu, albo na stosie serwerowym, który waliduje eventy i odrzuca niemożliwe zmiany stanu gry. Każda warstwa ma znany sposób zawodzenia. Anticheat wyłącznie kliencki przegrywa w chwili, w której cheat ukryje swój loader przed sprawdzaniem sygnatur. Anticheat wyłącznie serwerowy przegrywa w chwili, w której cheat trzyma się legalnej powierzchni eventów, ale korzysta z hacków po stronie klienta (silent aim, ESP, wallhacki), które nigdy nie wywołują eventu na serwerze. Dwie warstwy oznaczają, że ta, która cheat widzi, łapie go, a ta, która go nie widzi, i tak zostawia sygnał behawioralny do przejrzenia przez adminów.

Czego pilnuje warstwa kliencka

Po stronie klienta Raven monitoruje wstrzyknięte moduły, podpięte funkcje silnika, stan NUI DevTools, integralność własnych plików resource oraz obecność znanych loaderów cheatów w czasie działania gry. Sygnatury najbardziej aktywnych rodzin mod menu (Eulen, Redengine, HamMafia, Susano, TZ, TZX, Skript, Phaze, Lumia) są utrzymywane na bieżąco w cyklu wydań co 1–7 dni (zobacz /changelog). Gdy zadziała znana sygnatura, zbierane są dowody (zrzut ekranu + ślad detekcji) i wysyłane do panelu w chmurze. Gdy sygnatura nie zadziała, ale pojawią się anomalie, trust score gracza spada, a gracz trafia na mapę na żywo do przeglądu przez adminów.

Czego pilnuje warstwa serwerowa

Po stronie serwera Raven przepuszcza przez walidację każdy event serwerowy wywołany przez gracza. Nazwy eventów, które nigdy nie powinny przyjść od klienta, są blokowane od razu. Payloady eventów przekraczające sensowne granice (liczba przedmiotów, zmiany pieniędzy, liczba spawnów pojazdów na minutę) są odrzucane i logowane. Sekwencje eventów pasujące do znanych wzorców exploitów, jak łańcuch eventów używany przez warianty Redengine, są blokowane na poziomie wzorca. Wykrywanie po stronie serwera działa nawet wtedy, gdy każda kontrola po stronie klienta zostanie ominięta, i dlatego pokrycie serwerowe nie podlega negocjacjom.

Jak obie warstwy współpracują

Warstwy spina pętla heartbeatu. Klient okresowo raportuje na serwer podpisany hash kluczowego stanu w czasie działania. Jeśli heartbeat ustanie, serwer traktuje klienta jako zmanipulowanego i stosuje skonfigurowaną reakcję (ostrzeżenie, kick albo automatyczny ban). Jeśli heartbeat nadal przychodzi, ale jego payload przestaje zgadzać się z oczekiwanymi wartościami, serwer loguje rozbieżność i podaje ją do modelu trust score. Tak czy inaczej serwer ma ciągły podgląd na to, czy warstwa kliencka nadal działa, więc cheat, który wyłącza warstwę kliencką, natychmiast staje się widoczny od strony serwera.

Dlaczego to ma znaczenie dla „odporności na bypass”

Żaden anticheat nie jest w 100% odporny na bypass. Ominięcie anticheata jednowarstwowego wymaga pokonania jednego stosu. Ominięcie dwuwarstwowego Ravena wymaga pokonania dwóch stosów naraz, plus heartbeatu, plus modelu trust score, który wyciąga na wierzch anomalie behawioralne. Koszt skutecznego, niewykrytego bypassu jest zauważalnie wyższy, a czas do wypuszczenia łatki krótszy, bo warstwa, która cheat zauważyła, przekazuje zebrane dane zespołowi szykującemu kolejną aktualizację sygnatur.

Najczęściej zadawane pytania

Czym jest dwuwarstwowe wykrywanie w anticheacie na FiveM?

Dwuwarstwowe wykrywanie oznacza, że anticheat domyślnie prowadzi równolegle kontrole po stronie klienta i serwera. Warstwa kliencka wypatruje wstrzykniętych modułów i znanych sygnatur menu. Warstwa serwerowa waliduje eventy i zmiany stanu gry. Ominięcie obu warstw jednocześnie jest znacznie trudniejsze niż pokonanie którejkolwiek z osobna.

Czy Raven Anticheat działa po stronie klienta czy serwera?

Po obu. Raven domyślnie prowadzi wykrywanie na kliencie i serwerze razem, plus pętlę anti-tamper opartą na heartbeacie, która je spina, plus model trust score wyciągający anomalie behawioralne nawet wtedy, gdy nie zadziała żadna konkretna sygnatura.

Co się dzieje, gdy warstwa kliencka zostanie ominięta?

Warstwa serwerowa działa dalej, a pętla heartbeatu zauważa, że hashe stanu klienta przestały zgadzać się z oczekiwanymi wartościami. Oba sygnały uruchamiają zbieranie dowodów i zasilają model trust score. Bypass staje się widoczny od strony serwera, nawet jeśli sygnatura kliencka została pokonana.

Inne tematy wykrywania

Chcesz, żeby to chroniło twój serwer?

Dwuminutowa instalacja. ESX, QBCore, vRP i QBox wykrywane automatycznie. Od 20 $.