Większość gier online cierpi z powodu tego problemu i istnieje kilka firm produkujących oprogramowanie , aby to rozwiązać, ale ostatnio z tego, co widziałem, większość firm stara się uniknąć, aby te programy tworzyły własny system (zamieć z naczelnikiem, aion z własnym sprawdzaniem itp. ...), ale bardzo trudno jest zapobiec takim ...
Chciałem tylko powiedzieć, że podałem inny temat pytania jako wiki społecznościowe dotyczące publikowania aplikacji. To funkcje, a ideami stojącymi za tym pytaniem nie jest ich lista, ale zamiast tego dowiedzieć się więcej o twoich próbach, problemach na drodze i możliwych rozwiązaniach. , kawałek kodów, jeśli aplikacja i tak dalej.
Jakiego rodzaju ochrony używacie, aby (próbować) zapobiec takim aktom:
- Oprogramowanie anty-cheatowe? (proszę podać, jakie, dlaczego i możliwe problemy, które napotkaliście, na przykład aion przestał używać GameGuard na etapie beta z powodu ogromnej liczby problemów ze zgodnością i narzekał na użytkowników)
- Twój własny kod? (jaki rodzaj weryfikacji zazwyczaj przeprowadzasz, aby upewnić się, że gracze w złej wierze, na przykład speedhack, weryfikują nową lokalizację względem prędkości + ostatnia lokalizacja itp.)
- Brak, nie obchodzi mnie to? (z jakiegokolwiek osobistego powodu lub informacji, którymi chciałeś się podzielić?)
Interesujący fragment kodu związany z problemem, który chcesz opublikować?
Czy mogę przerobić mój tekst na mój angielski inst tak dobrze? **
źródło
Odpowiedzi:
Niestety naprawdę trudno jest powstrzymać ludzi od oszukiwania, dlatego oprogramowanie takie jak Punkbuster zostało stworzone, aby spróbować złapać niektóre z nich.
W przypadku gry MMO największą rzeczą, jaką możesz zrobić, jest po prostu nie ufać cokolwiek, co klient ci wysyła . Klient nie powinien być w stanie powiedzieć ci, dokąd przeprowadził się gracz, ile wyrządził szkód, komu itp. Zamiast tego powinieneś wysłać dane kontrolne na serwer, potwierdzić, że jest to praktyczne (naciśnięcie przycisku „ataku” Na przykład 1000 razy w ciągu 1 sekundy nie jest poprawna), a następnie zaktualizuj symulację na serwerze. Następnie wyślesz odpowiednie części nowego stanu gry z powrotem do klienta.
Podczas sprawdzania poprawności danych wprowadzanych przez użytkownika można również wyszukiwać trendy w danych wejściowych. Jeśli nie zezwalasz na makra, możesz je tutaj złapać, zauważając, że użytkownik kliknął ten sam przycisk z dokładnie tymi samymi współrzędnymi pikseli w idealnych odstępach 1 sekundy w ciągu ostatnich 30 minut.
Sam klient jest głównym miejscem, w którym ludzie mogą oszukiwać, więc programy takie jak Punkbuster mogą ograniczyć hacki na ścianie, aimboty itp. Poza tym, nie ufanie klientowi i sprawdzanie poprawności wszystkiego, co klient mu wysyła, pomoże ograniczyć oszustwo.
źródło
Logowanie. Wszystko, co dzieje się na serwerze, powinno być rejestrowane, a najlepiej wszystko, co pochodzi od klienta. Klient z natury nie jest godny zaufania, ale nawet rejestrowanie niezaufanych danych może być pouczające.
Po zarejestrowaniu wszystkiego wykrywanie oszustw staje się kwestią analizy danych. Niektóre kody będą oczywiste (wartości poza dopuszczalnymi zakresami, na przykład możliwość poruszania się między punktami znacznie szybciej niż normalnie pozwala awatar), inne są bardziej podstępne (jak aimboty umożliwiające celowanie w piksele w sztucznie krótkich ramach czasowych). Niektóre z nich są jeszcze trudniejsze do wykrycia (np. Włamania do ściany), ale nagrywanie tak dużo, jak to możliwe, umożliwia zarówno automatyczne, jak i ręczne wykrywanie. Są na nim różne artykuły, ale generalnie kody są bardzo łatwo wykrywane w automatycznym wykrywaniu, ponieważ są tak przewidywalne / powtarzalne, dokładnie tak, jak ludzie nie są.
Ponieważ nagrywanie absolutnie wszystko jest najprawdopodobniej niemożliwe, użyteczne jest rejestrowanie warstwowe. Na przykład raporty o oszustwach przez użytkowników lub zwykłe proste rejestrowanie wykrywające możliwość oszukiwania (wynik znacznie powyżej krzywej statystycznej) wystarczyłoby do oznaczenia konkretnego klienta / konta / klucza CD do bardziej szczegółowego rejestrowania, co mogłoby następnie zostaną wykorzystane do udowodnienia ponad wszelką wątpliwość, że oszust jest w użyciu.
To, co robisz po wykryciu oszustwa, to zupełnie inna sprawa. Banowanie konta po fakcie jest dobre, szczególnie gdy masz zautomatyzowany mechanizm wykrywania, który jest wystarczająco niezawodny. Wcześniejsze zablokowanie obu alarmuje oszustów o wykryciu, a także grozi fałszywymi trafieniami z powodu niejednoznacznych mechanizmów wykrywania. Banowanie zbyt późno grozi zniszczeniem gry dla innych. Jest to bardzo szara strefa i wymaga od deweloperów wydania wyroku.
źródło
Zakładając, że cała ważna praca w grze odbywa się po stronie serwera, oszustwo powinno być niewielkie lub nie powinno być możliwe. Jeśli chcesz ograniczyć tworzenie makr lub sprawić, że nie będzie uciążliwe edytowanie pakietów, niech twój program okresowo skanuje moduły aktywne w tym procesie. Jeśli znajdziesz na przykład WpeSpy.dll, będziesz wiedział, że mają dołączone WPE. Zrób to dla innych popularnych narzędzi. Można to obejść i jest to wyścig zbrojeń i przegrana sprawa, ale jeśli twoja gra jest stosunkowo niewielka, możesz bardzo łatwo zmniejszyć liczbę ludzi przekręcających się o około dziesięć razy ... i to może być dobre wystarczająco dla Ciebie.
źródło
but also send timestamps, and if you get too much drift, you'll know they are using one. Mark their account, but don't kick them immediately -- immediate feedback is a great way for someone to know what your software detects.
której ostatnio zastanawiałem się nad wdrożeniem znacznika czasu i ostrzeżeniem systemu od zaznaczonych użytkowników, obecnie umieściłem odtwarzacz na liście, nad czym pracuję teraz, że jeśli niektórzy mają duże nadużycia, wyśle alert do GM online do weryfikacji ...