Jak zrobisz algorytm szyfrujący, to i tak jest szansa, że ktoś go rozszyfruje i stworzy własnego klienta, wysyłającego zmienne z przywilejami. Cały pic polega na tym, żeby najważniejsze rzeczy liczyć na serwerze:
- gdy gracz atakuje, sprawdzasz, czy nie robi tego zbyt często
- siłę ataku itd. obliczasz na podstawie zmiennych na serwerze
- exp, hp, mp trzymasz na serwerze i tam manipulujesz - do gracza wysyłasz je tylko informacyjnie, nigdy nie odbierasz ich od gracza - wtedy nawet jak zmodyfikuje RAM, poza tym, że będzie mu się wyświetlać więcej, nie ma żadnego zysku
- gdy gracz zmienia itemy, wysyłasz ID slotu w którym się znajdują, nie ID itemu - ID itemów są na serwerze, gracz ma je tylko informacyjnie, nawet jak zmieni sobie patyk na miecz, to serwer dalej będzie widział patyk i taki mu ustawi i dla takowego obliczany jest atak - zmienne u gracza powodują tylko wyświetlanie innej grafiki
- gdy gracz kupuje itemy, to sprawdzasz po stronie serwera czy go na nie stać, nawet jak w kliencie w RAMie zrobił sobie 1 000 000 000 złota, to na serwerze ma np. 100 i nie stać go na najlepsze itemy, więc serwer nie pozwoli na ich sprzedaż
- sprawdzasz jaką odległość przemieścił się gracz od ostatniego pakietu - jak podejrzani dużo, to ustawiasz mu pozycję na tą z serwera, lub od razu wyrzucasz z gry
- musisz zrobić wszystko tak, że nawet modyfikacja pamięci RAM i zmiennych na jakiekolwiek inne, nie zmienia na serwerze statystyk gracza, hp, mp, posiadanego złot