@historydev
Острая аллергия на анимешников

Как инкапсулировать пользователя на сервере?

Суть инкапсуляции в том, чтобы избежать клиентских дыр которые могут привести к взлому геймплея


Для примера возьмём абстрактную игру, её суть - убить босса.
У босса есть здоровье.

Допустим 10 игроков начали битву, каждый со своим боссом.
Вопрос: Где хранить данные каждого босса, каждого пользователя в реальном времени?
  • Вопрос задан
  • 157 просмотров
Решения вопроса 2
delphinpro
@delphinpro
frontend developer
Абстрактный ответ

Создаем таблицы в БД
games
id | user_id
bosses
id | game_id | health | ...

Всё. Для каждого старта игры создаем игру, привязанную к пользователю по его ID
Для каждой игры создаем босса, привязанного к игре по ее ID
Ответ написан
Adamos
@Adamos
Для такого объема данных, как здоровье босса, можно вообще все состояние хранить в куках, а не в базе. Подписав то, что приходит с сервера, секретным ключом с сервера, чтобы, получив данные обратно с добавкой от браузера, убедиться, что оно не подменено.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
saboteur_kiev
@saboteur_kiev Куратор тега Разработка игр
software engineer
Странный вопрос.
А где сейчас хранишь информацию об одном боссе?
Там же храни и про нескольких.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы