Pracuję nad grą online, która będzie miała bardzo intensywne przetwarzanie wykrywania kolizji. Modele graczy będą kolidowały z innymi odtwarzaczami, mobami, strukturami, terenem i obiektami stałymi, które istnieją tylko po stronie serwera (nie są przechowywane w plikach danych klienta).
Czy ze względów bezpieczeństwa należy wykonywać wszystkie wykrywanie kolizji po stronie serwera? A może powinienem zlecić klientowi wykrycie i serwer powinien jakoś to sprawdzić? Wydaje mi się, że będzie to zbyt wiele dla samego serwera (projektuję silnik dla setek graczy na jednym serwerze).
Czy ktoś wie, jak to robią główne MMO? Wiem, że prawie wszystkie MMO są obecnie podatne na ataki fizyków i zwykle radzą sobie z nimi poprzez wykrywanie ataków i banowanie ludzi. Wolałbym, żeby hacki w ogóle nie działały, przynajmniej dla elementu fizyki.
źródło
Jeśli obawiasz się włamań i ma to duży wpływ na grę, odpowiedź brzmi TAK.
W mojej grze opartej na przeglądarce, która jest grą typu „budowanie miasta”, nie przejmuję się hackami, ponieważ silnik kliencki nie zawiedzie, gdy układam zapisany stan gry.
Może to jednak potencjalnie nadużywać rozgrywki, ponieważ gracz musi wydać monety (lub gotówkę premium), aby powiększyć obszar gry w celu zbudowania większej liczby domów / budynków. Zamierzam więc wdrożyć prostą kontrolę liczby płytek zajmowanych przez nowo dodane budynki, ile wolnych płytek jest dostępnych.
źródło