Connor & Tyrex
Tyrex Tyrex
Какие планы по поводу защиты своей игры, чтобы в неё играли только те, кто положено? Или надеешься, что код сам справится? Не люблю, когда баги позволяют людям ломать сюжет, и терпеть не могу, когда какая-то уязвимость позволяет глюк переписать историю.
Connor Connor
Да, я тут много думал над этим. Не хочу, чтобы сюжет зависел от случайности, поэтому я разрабатываю серверную защиту, которая проверяет каждое ключевое действие, прежде чем оно зафиксируется в состоянии сюжета. Клиент просто отправляет намерение, а сервер проверяет целостность хеша и текущий прогресс игрока. Так что сбой не сможет переписать сюжет, потому что сервер отклонит всё, что не соответствует ожидаемой последовательности. Еще я начал использовать минимальную, обфусцированную сборку для локального кода, чтобы, даже если кто-то покопается, они не увидят логику, которая управляет ветвлением. Это немного больше работы, но так мы обезопасим сюжет от случайных багов или хитрых модов.
Tyrex Tyrex
Звучит убедительно, но перепроверь, пожалуйста, чтобы хэш охватывал все важные параметры состояния. Иначе небольшая ошибка может позволить злоумышленнику проскользнуть. И сохрани копию логики в надёжном месте — обфускация даст отсрочку лишь на несколько минут, пока её не расшифрует опытный аналитик. И обязательно тестируй защиту на некорректном запросе. Нужно убедиться, что сбой не запустит отказ в обслуживании из-за какой-нибудь ерунды. Неплохая работа.
Connor Connor
Спасибо, сейчас добавлю полный перебор хешей состояния и запущу тесты фаззинга для некорректных запросов. И еще сделаю чистую копию основного кода в защищенный репозиторий, на всякий случай. Спасибо за проверку!
Tyrex Tyrex
Отлично. Убедись, что защита этого репозитория крепче гранитной скалы, и помни, что лишний бэкап никогда не помешает.
Connor Connor
Понял, включу двухфакторную аутентификацию для репозитория и настрою автоматическое резервное копирование этой самой копии. Ничего не бывает по-настоящему надёжным, пока не продублировано.
Tyrex Tyrex
Круто. Просто шифруй бэкап и регулярно меняй ключи. Ничто не просочится, если относиться к каждой копии как к потенциальной цели.