Czy uniemożliwić graczom hackowanie ścian w trybie online FPS?

14

Dlaczego wciąż narzekamy na hakerów w grach FPS dla wielu graczy?

Czy nie jest możliwe wykonanie usuwania okluzji dla wszystkich graczy po stronie serwera? Na przykład wysyłasz informacje Xyz odtwarzacza do klienta tylko wtedy, gdy odtwarzacz jest widoczny w obszarze klienta i nie jest zasłonięty przez żaden obiekt? Nawet jeśli geometria zderzenia jest bardzo, bardzo uproszczona, przez większość czasu oszust nie otrzyma informacji taktycznych.

Dlaczego tego nie zrobisz?

Patryk Czachurski
źródło

Odpowiedzi:

19

Myślisz, że jesteś teraz w tyle? Po prostu poczekaj, aż będziesz musiał uzyskać informacje o okluzji w czasie rzeczywistym z serwera. Teraz możesz chodzić zza ściany, a złoczyńcy nagle pojawią się w polu widzenia, gdy serwer dogoni i wyśle ​​ci zaktualizowane dane dotyczące okluzji.

Więc mój wulgarny komentarz mówi wszystko. Prawdopodobnie głównym powodem, aby tego nie robić, jest opóźnienie i obciążenie serwera. Jeśli chcesz, aby serwer wiedział, kiedy inny gracz jest dla ciebie widoczny, oznacza to, że serwer musi dokładnie wiedzieć, na jaką geometrię patrzy każdy gracz, i obliczyć tę okluzję.

Zgadzam się, że exploity takie jak hakowanie ścian mogą sprawić, że gra nie będzie przyjemna. Widzę, że programiści martwiliby się tym, ponieważ chcą, aby gra była jak najbardziej przyjemna. Jednak gdy programiści dojdą do punktu, w którym ich środki anty-cheat / hack zmniejszają grę i / lub zadowolenie klientów, stracą znacznie więcej klientów, niż gdyby zostawili to w spokoju . Zobacz DRM .

MichaelHouse
źródło
3
+1 za naleganie, aby środki zapobiegające oszustwom / hakowaniu nigdy nie zmniejszały doświadczenia niewinnego klienta.
doppelgreener
17

Jest to wykonalne i próbowano już wcześniej w badaniach; porównanie schematów zarządzania odsetkami znajduje się na stronie http://dl.acm.org/citation.cfm?id=1230069

Jak powiedział Byte56, może wymagać więcej procesora, ale może zmniejszyć przepustowość i zmniejszyć prawdopodobieństwo włamań do ściany.

I jak powiedział Byte56, obszar zainteresowania ściśle ograniczony do obszaru okluzji gracza może zmniejszyć czas reakcji po stronie klienta: zasadzki potrwają co najmniej pół trasy w obie strony. Możesz jednak sprawić, aby obszar zainteresowania gracza był nieco większy niż obszar okluzji, tak aby klient otrzymał zasadzkę przeciwnika na kilka sekund przed tym. W ten sposób hacki ścienne są nadal możliwe, ale tylko w ostatniej chwili.

gentimouton
źródło
Fajnie, dziękuję za wniesienie prawdziwych badań do odpowiedzi. Witamy w GDSE.
MichaelHouse
4

Krótka odpowiedź brzmi: tak, możliwe jest eliminowanie okluzji po stronie serwera, ale często nie jest to wykonywane ze względu na złożoność i ograniczone korzyści.

Pamiętaj, że w przypadku dużej części współczesnych gier FPS całkowita okluzja jest rzadkością. Obecnie postacie używają osłony lub chowają się w trawie, a rzeczywiste umundurowanie i kamuflaż mają wpływ na widoczność. Ściany i korytarze nadal odgrywają dużą rolę w bitwach online, ale nie tak bardzo, jak w poprzednich latach.

Gry z dużą ilością ciasnych korytarzy i nieprzezroczystych powierzchni mogą (czasami miały) używać filtrowania okluzji na serwerze do filtrowania zdarzeń. To po prostu nie działa tak dobrze w dużych otwartych środowiskach i realistycznych grach typu cover / camo.

Hakowanie na ścianie to także tylko niewielka część oszukiwania w grach online, a naprawianie każdego hacka nie działało jak dotąd dobrze. Najlepszym podejściem były po prostu systemy tworzenia meczów i oceniania zawodników wysokiej jakości, które odfiltrowują oszustów i zmniejszają prawdopodobieństwo frustrującego meczu.

Sean Middleditch
źródło
-4

Czy twórcy gier nie mogą po prostu napisać programu pobocznego, który w zasadzie przejmuje pełną kontrolę nad komputerem i nie pozwala na załadowanie żadnego oprogramowania innej firmy podczas działania gry? Czy nie muszą ładować wtryskiwaczy po uruchomieniu gry i przypisane do pamięci? Więc po prostu umieść na czarnej liście wszystko, co nie jest związane z uruchomieniem. Muszą stworzyć typ UAC, aby zatrzymać ładowanie usług po załadowaniu gry.

Mój drugi pomysł, aby całkowicie zapobiec hakowaniu, jest nieco bardziej złożony i polega na uruchamianiu gier takich jak Linux Live Drive OS. Zasadniczo gra w ogóle nie używałaby okien, ale używała własnego, pozbawionego systemu operacyjnego, który jest przeznaczony tylko do ładowania gier. Gracze mogą więc chcieć przesyłać strumieniowo lub odtwarzać muzykę podczas grania, ale ten nowy sposób prowadzenia gry na to nie pozwala. Wielka sprawa, deweloperzy mogą dodawać programy do białej listy i inne rzeczy, ale nie zawracałbym sobie głowy ... próbujesz zagrać gra, jeśli chcesz wielu zadań mieć laptopa w pobliżu itp. Zasadniczo chcesz uruchomić grę w trybie piaskownicy z szyfrowaniem .. Myślę, że tak to się nazywa ... To jak prowadzenie gry w środowisku wirtualnej temperatury, która jest W 100% kontrolowany przez twórcę gry.

I ten tryb piaskownicy byłby bardzo podobny do tego, jak działają konsole i gry. Nie widzimy wielu hacków na konsoli .. Ciekawe dlaczego? Ponieważ nie mogą załadować ich na konsolę i gdyby mogły, konsole nie byłyby w stanie nawet odczytać, rozpoznać.

TJ L.
źródło
1
Nie, twórca gier nie może napisać programu pobocznego, który przejmie pełną kontrolę nad komputerem. Taki jest system operacyjny. System operacyjny musi zarejestrować się w jądrze, gdy komputer uruchamia się, aby uzyskać swoje uprawnienia, a ponowne ich wywołanie w przeciwnym razie jest kosztowne. Ponadto nazywamy programy pobierające pełną kontrolę nad komputerem „niebezpiecznymi” i „wirusami”, ponieważ są. Program mający pełną kontrolę oznacza również, że bezpieczeństwo w grze jest jeszcze ważniejsze, ponieważ każde włamanie, które może spowodować komunikację między programami klienckimi, może dosłownie ukraść dowolne dane ze wszystkich urządzeń klienckich . To źle.
Delioth,
1
Z drugiej strony, mówisz mi, że muszę ponownie uruchomić komputer w tym systemie operacyjnym, aby grać w grę? Wzywam do zwrotu pieniędzy, ponieważ nie powinno być 5-10 minut na uruchomienie i wyłączenie gry, w której nie mogę nic zrobić z dwoma ekranami, ponieważ komputer jest wyłączony . I nie wszyscy mogą sobie pozwolić na zakup dodatkowego laptopa do pracy wielozadaniowej podczas grania w jedną konkretną grę (Lepiej, żeby to była cholernie dobra gra, jeśli rozpoczęcie i zatrzymanie zajmuje 20 minut i zmusza mnie do wydania 400 USD na muzykę / reddit w tle ).
Delioth,
Cóż, więc poradzisz sobie z ludźmi rujnującymi gry na PC. Strzelcy są teraz całkowicie odpisywani, ponieważ są usypieni esp itp. Bf1 na PC to dobry przykład .. Nie wiem nawet, dlaczego tak się kłopotają z wydaniem ich na PC, został zhakowany, zanim jeszcze wyszedł.
TJ L