Wykrywanie i skutki po stronie serwera

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

Ta sekcja zakłada, że już walidujesz dane wejściowe i kontekst (zobacz wcześniejsze sekcje). Artykuł ten omawia, co robić po technicznie poprawnym żądaniu, gdy zachowanie wygląda na szkodliwe oraz jak reagować, nie krzywdząc uczciwych graczy.

Filozofia

  • Decyduje serwer. Wykrywanie i skutki mają miejsce po stronie serwera. Staraj się nigdy nie banować na podstawie wykryć po stronie klienta, ponieważ oszuści mogą łatwo je obejść.
  • Zapobiegaj szkodom w pierwszej kolejności. Cicho neutralizuj wpływ eksploatu. Na przykład, jeśli gracz korzysta z hacków prędkości, po prostu zepchnij go z powrotem do ostatniej ważnej pozycji zamiast natychmiast go wyrzucać. Karaj tylko wtedy, gdy jest to konieczne, aby chronić doświadczenie lub innych graczy.
  • Bądź proporcjonalny i odwracalny. Zakładaj, że mogą zdarzyć się fałszywe pozytywy. Preferuj działania, które możesz cofnąć, takie jak tymczasowe zawieszenia lub usunięcie zasobów, nad trwałymi banami.
  • Projektuj > wykrywanie. Twoje podstawowe bezpieczeństwo pochodzi z solidnej walidacji i ograniczenia prędkości (omówione w Zabezpieczaniu granicy klient-serwer oraz innych sekcjach). Metody wykrywania opisane poniżej mają na celu uzupełnienie tych obron, a nie ich zastąpienie.

Heurystyki

Heurystyki to kontrole zachowań, które oznaczają działania, które są technicznie możliwe, ale bardzo mało prawdopodobne dla uczciwego gracza. Są to "zasady na oko" do uchwycenia podejrzanej aktywności, która umyka podstawowej walidacji. Skuteczna heurystyka porównuje działanie gracza z teoretycznym maksimum lub rozsądną podstawą.

Na przykład, jeśli gracz nagle twierdzi, że zdobył 1 miliard monet w twojej grze symulacyjnej, twoja zdalna walidacja mogłaby potwierdzić, że żądanie jest poprawnie skonstruowane. Ale kontrola heurystyczna serwera wiedziałaby, że zdobycie tej ilości powinno zająć tygodnie, a nie sekundy, i oznaczyłoby transakcję jako podejrzaną.

Oto trzy klasyczne przykłady heurystyk po stronie serwera. Każda z nich waliduje zachowanie gracza w kontekście zasad i fizycznych ograniczeń doświadczenia, tworząc silną obronę przed powszechnymi exploitami.

Heurystyka po stronie serweraOpisPrzykład
Najkrótszy czas ukończeniaOblicz teoretycznie najszybszy możliwy czas na ukończenie zadania, takiego jak tor przeszkód. To wymaga znalezienia optymalnej ścieżki i założenia maksymalnej prędkości gracza.W obby, jeśli rekord świata wynosi 30 sekund, czas ukończenia 5 sekund jest silnym sygnałem teleportacji lub exploitów prędkości.
Wskaźnik uzyskaniaŚledź maksymalny prawdziwy wskaźnik, w jakim gracz może zdobyć zasób (walutę, doświadczenie, przedmioty).Jeśli gracz może legalnie zdobyć 100 monet na minutę, nagły przyrost 10,000 monet w jedną sekundę powinien być oznaczony.
Kadencja akcjiSerwer analizuje odstępy czasowe między powtarzającymi się akcjami gracza. Ludzkie wejścia mają naturalne, drobne wariacje w czasie, podczas gdy proste skrypty automatyzacji (takie jak auto-clickery) często wykonują akcje z robotyczną konsekwencją.W mini grze wędkarskiej gracz klika, aby zarzucić swoją linię. Serwer rejestruje znacznik czasu każdego zarzutu. Jeśli gracz zarzuci swoją linię 100 razy z rzędu z dokładnie tym samym odstępem (np. dokładnie 2.500 sekundy) między każdą akcją, to silnie wskazuje na makro lub bota. Czas ludzkiego gracza naturalnie by się zmieniał.

Każdy z tych przykładów samodzielnie może być niewystarczający, aby skazać oszusta. Każdy z nich powinien być traktowany jako sygnał, a nie jako definitywny dowód. Dobrym rozwiązaniem jest wdrożenie systemu punktów podejrzenia. Gdy gracz nie zda kontrole heurystycznej, zwiększasz jego wynik. Poważne działania, takie jak wyrzucenie lub banowanie, powinny następować tylko po tym, jak wiele, różnorodnych wykryć podniosło wynik gracza powyżej wysokiego progu.

Na przykład, załóżmy, że utalentowany gracz kończy twoje obby z rekordowym czasem, co uruchamia twoją heurystykę "Najkrótszy czas ukończenia". Czy powinien zostać zbanowany? Jest możliwe, że oszukuje, ale może również odkrył legalną, lecz niezamierzoną skrót. Banowanie na podstawie tego jednego sygnału byłoby ryzykowne i mogłoby ukarać jednego z twoich najbardziej oddanych graczy.

Jednak jeśli ten sam bieg gracza jednocześnie oznaczył heurystykę "Kadencja akcji" z nieludzkimi, równymi wejściami, a godzinę później wyzwoli heurystykę "Wskaźnik uzyskania" w swoim lobby, sprawa staje się znacznie silniejsza. Kombinacja tych różnych sygnałów maluje znacznie bardziej niezawodny obraz oszustwa. Siła tego systemu polega na korelowaniu wielu punktów danych, aby zbudować pewny przypadek przed podjęciem działania.

Pułapki na oszustów

Jednym ze sposobów wykrywania oszustów próbujących zbadać ZdalneWydarzenia twojego doświadczenia jest użycie wabika, nazwanego pułapką na oszustów. Pułapka na oszustów to RemoteEvent lub RemoteFunction, która wydaje się legitna dla oszusta, ale nigdy nie jest używana przez żadne z twoich legalnych skryptów klienckich. Ponieważ żaden normalny gracz nigdy nie powinien być w stanie uruchomić tego zdalnego wydarzenia, wszelki ruch, jaki otrzymuje, musi pochodzić od oszusta. Gdy serwer wykryje, że to zdalne wydarzenie zostało uruchomione, to bardzo pewny sygnał, że klient manipulował. Najlepszym natychmiastowym działaniem jest zarejestrowanie incydentu i wyrzucenie gracza z sesji.

Inna wariacja polega na projektowaniu ZdalnychWydarzeń z określonymi celami kierunkowymi - niektóre wyłącznie do komunikacji klient → serwer, a inne wyłącznie do komunikacji serwer → klient. Chociaż nazwy wydarzeń nie ujawniają ich zamierzonego kierunku, serwer monitoruje, w którą stronę każde zdalne wydarzenie powinno być używane. Jeśli oszust próbuje uruchomić zdalne wydarzenie serwer → klient z poziomu klienta, służy to jako niezawodna metoda wykrywania, ponieważ uczciwa gra nigdy nie spowodowałaby komunikacji w niewłaściwym kierunku.

Stosowanie konsekwencji

Gdy systemy wykrywania oznaczają podejrzane zachowanie, ostrożnie rozważ swoją strategię odpowiedzi. Różne doświadczenia wymagają różnych podejść w zależności od ich społeczności, stawki konkurencyjnej i tolerancji na zakłócenia.

Drabina konsekwencji - Większość doświadczeń korzysta z narastających odpowiedzi, zamiast od razu przechodzić do trwałych banów:

  • Ciche rejestrowanie - Buduj dowody bez wpływu na gracza
  • Ciche łagodzenie - Blokuj wpływ eksploatu (odrzuć żądania, ogranicz wartości, synchronizuj poprawny stan)
  • Tymczasowe ograniczenia - Ogranicz konkretne możliwości (handel, tablice wyników, matchmaking)
  • Widoczne egzekwowanie - Wyrzucenia, tymczasowe zawieszenia lub trwałe bany

Rozważania dotyczące twojej strategii

  • Opóźnij widoczne konsekwencje, aby uniknąć nauki oszustów, co dokładnie uruchomiło wykrywanie
  • Zestawiaj surowość z odpowiedzią - drobne ekonomiczne exploity mogą wymagać innego traktowania niż oszustwa łamiące fizykę gry
  • Rozważ swoją społeczność - doświadczenia konkurencyjne mogą wymagać surowszego egzekwowania niż doświadczenia casual
  • Planuj na wypadek błędów - preferuj działania możliwe do odwrócenia, gdy pewność wykrycia jest niższa

Dla uporczywych przestępców rozważ użycie Ban API zamiast polegać wyłącznie na wyrzuceniach. API Ban uniemożliwia zbanowanym graczom ponowne dołączenie i zapewnia lepsze śledzenie przez twój wszechświat. Wersjonuj swoje zasady wykrywania i monitoruj wskaźniki konsekwencji, aby móc zidentyfikować problemowe systemy. Monitoruj opinie graczy, aby ocenić, czy twoje egzekwowanie wydaje się sprawiedliwe dla społeczności. Odpowiednia równowaga zależy całkowicie od potrzeb twojego doświadczenia i oczekiwań twoich graczy.

©2026 Roblox Corporation. Nazwa Roblox, logo Roblox oraz hasło „Powering Imagination” należą do naszych zarejestrowanych i niezarejestrowanych znaków towarowych na terenie Stanów Zjednoczonych oraz w innych krajach.