Aktywne Wpisy
Optimus_Seba +71
#diablo4 ja #!$%@? jaka ta gra jest #!$%@? nudna xD
23 lvl wbity i już mam dość. Fabuła płytka jak sadzawka, skille #!$%@?, itemizacja #!$%@?, cała mapa nudna do porzygu w tym samym stylu graficznym.
Najgorzej wydane 400 zl w życiu
23 lvl wbity i już mam dość. Fabuła płytka jak sadzawka, skille #!$%@?, itemizacja #!$%@?, cała mapa nudna do porzygu w tym samym stylu graficznym.
Najgorzej wydane 400 zl w życiu
Kingside +194
Dziś porozmawiamy sobie od strony technicznej czemu cheaty i boty istnieją.
Większość z nas narzeka na cheaterów, ale czy ktoś z was się zastanowił czemu ten problem istnieje? Zacznijmy od strony twórców gry. Dla zobrazowania problemu zastanówmy się dlaczego cheaty typu wallhack/ESP istnieją. Przykładowo jak to jest możliwe, że ktoś nas widzi przez ściany? Wytłumaczenie tego jest bardzo proste. Serwer przesyła wszystkie dane na temat graczy, gdzie są, jaką mają broń, ile mają punktów życia itp. Z racji, że my mamy dostęp do tych wszystkich danych nie stanowi to teraz dla nas żadnego problemu, żeby te dane odczytać. Albo czemu ktoś potrafi się teleportować w inne miejsce na mapie? Po prostu wysyła się nową pozycję do serwera, a jak serwer tego nie zweryfikuje i jesteśmy w nowym miejscu. Oczywiście przykładów mogłoby być dużo więcej wszystko zależy na co gra pozwala. Jednak można zadać pytanie teleportacja graczy rzadko jest spotykana, czym to może być spowodowane? A no tym, że to jest weryfikowane przez serwer, czyli mogą być dwie możliwości wysyłamy pozycję i serwer sprawdza czy od ostatniego razu zdążylibyśmy przejść taką odległość, albo gra przesyła informację, że idziemy albo biegniemy i serwer na podstawie tego aktualizuje naszą pozycję. Zatem pojawia się pytanie skoro nie można się teleportować, to czemu można znać pozycje wszystkich graczy. Spójrzmy na to od strony serwera, pierwszą rzeczą, którą by trzeba było zrobić to obliczyć odległość pomiędzy innymi graczami, jeśli jakiś gracz byłby od nas za daleko można by było nie przesyłać jego pozycji. Kolejnym i zarazem najtrudniejszym krokiem byłoby sprawdzenie czy jest możliwe, żebyśmy zobaczyli jakiegoś gracza, uwzględniając naszą pozycję, pozycję innego gracza, nasze pole widzenia, oraz przeszkody, które mogą zasłonić przeciwnika. W przypadku map nazwijmy to dynamicznych, gdzie można budować tak jak w Fortnite, ilość możliwych budowli, które mogą zasłonić innych graczy się zwiększa. Jeszcze by pozostawał fakt, przeciwnik jest obok nas, ale zasłania go ściana, no i teraz serwer by musiał wysłać informację w stylu, że w pokoju obok ktoś biega. Dlatego biorąc pod uwagę wydajność serwera, łatwiej, prościej i szybciej jest wysłać pozycje wszystkich graczy i niech po stronie klienta to zostanie odpowiednio przeliczone, kto powinien się pokazać itp. Dlatego twórcy używają anti-cheatów. Wystarczy podać dwa anti-cheaty jakie obecnie są używane BattlEye i VAC. Jednakże są to dwa różne światy. W przypadku BattlEye ciężko spotkać jakiegoś cheatera w grze. Lista gier tutaj https://www.battleye.com które używają tego AC. Natomiast w przypadku VAC jak sama nazwa wskazuje Valve allows cheats, kiedyś się to nazywało Valve Anti-Cheat( ͡° ͜ʖ ͡°). Stąd też tyle cheaterów w takim CS:GO szczególnie, że od niedawna jest za darmo. Ogólnie zadania AC to uniemożliwić zapis i odczyt do/z pamięci gry, oraz modyfikację pakietów sieciowych. W przypadku VAC podobno wystarczy użyć tych funkcji https://msdn.microsoft.com/en-us/library/windows/desktop/ms680553(v=vs.85).aspx i https://msdn.microsoft.com/en-us/library/windows/desktop/ms681674(v=vs.85).aspx to by też wyjaśniało ilość cheaterów w tej grze. Jak to wygląda w przypadku innych AC można przeczytać tutaj https://blog.esea.net/esea-hardware-cheats/ Czyli widać kolosalną różnicę w porównaniu do takiego VAC. Na koniec można zadać pytanie czy da się wyeliminować problem cheaterów? Tutaj nasuwa się odpowiedź streamowanie obrazu gry, ale czy to rozwiąże problem? Czy wtedy komputery będą na tyle wydajne, że będą wstanie przetworzyć obraz i dźwięk i cheaterzy dalej będą mieli wszystkie potrzebne informacje? Czas pokaże.
#gry #csgo #fortnite #pubg #mmorpg #programowanie #gamedev #bezpieczenstwo #security #makelifegreatagain
Komentarz usunięty przez autora
Bo cheaterzy mają małe ptaszki i muszą się dowartościować. #takaprawda
@MakeLifeGreatAgain: Nie ma nawet takiej opcji bo byłyby to ogromne pakiety danych przesyłane przez sieć i grałbyś co najwyżej z 1 fpsem jak nie gorzej.
Jedyny sposób to możliwość zablokowania czytania/edycji pamięci i plików gry.
Wyobraź sobie teraz sytuacje, gdzie na serverze jest 16 graczy. Tylko 16 graczy! Server dla każdego z nich musiałby wyrenderować klatkę kumasz? Ze wszystkimi shaderami w odpowiedniej rozdzielczości. Dla każdego z graczy musiałby liczyć światło, cienie, ewentualnie jakieś cube mapy bo np. w canalsach jest odbicie w wodzie i inne takie rzeczy w zaleśności od frustum view. Jaka technologia
A o opóźnieniach czytałem i testowałem, dlatego napisałem o tym w ostatnim zdaniu.