Как организовать оптимальную безопасность для своего онлайн мультиплеера на Android?
Добрый день, я бэкенд разработчик. Решил окунуться в разработку мобильных игр.
Решил создать онлайн покер (интересует именно онлайн мультиплеер), но не имею опыта в организации защиты и безопасности в таких приложениях. Хотелось бы услышать советы и рекомендации, как это все делается и может у кого есть личный опыт.
Как это вижу я: делается игра-приложение (клиент) на андроид и бэк (сервер) для основной логики игры.
чтобы предвратить взлом/читы и накрутку монет/фишек и т.д. клиент не имеет основной логики, он лишь "общается" с сервером, где уже происходит вся основная логика игры (в случае покера, на сервере происходит раздача карт, и только сервер знает какая будет следующая карта и какие карты у соперника) + БД с профилями игроков, где хранятся все данные + фишки.
Интересует. как в андроид приложениях защититься от подмены данных отправляемых на сервер и быть уверенным, что каждая игра будет честной и без читерства.
подскажите, пожалуйста, книги, статьи, журналы, видео или др источники, где узнать подробней по защите таких мультиплеерных игр
Не нужна никакая защита, если у тебя на сервере вся логика, а клиент просто рисует карты и анимации.
Спроектируй стейт-машину на беке адекватную. Если всё правильно сделаешь, у клиента просто не будет возможности что-то подменить, если стейт-машина верная.
Просто отслеживаешь в логах ошибки, когда при одном допустимом множестве действий, приходит недопустимое. Если от определённых игроков такого больше, чем пара штук -- показываешь ему предупреждение, чтоб прекратил. Если продолжается, просто банишь.