Перейти к содержимому
ВозможностиСинхронизация

Облачные сохранения

BlueStudz предоставляет двустороннюю синхронизацию слотов сохранений с версионированием и детекцией конфликтов между различными устройствами игрока.

Двухэтапный протокол синхронизации

Этап 1: Прямая загрузка в объектное хранилище

Архив сохранения упаковывается игрой в единый бинарный файл. SDK запрашивает одноразовую presigned URL через POST /storage/presign и выгружает данные напрямую в S3/MinIO хранилище без нагрузки на API-шлюз.

Этап 2: Регистрация версии и конфликт-детекция

После успешной загрузки файла вызывается эндпоинт POST /sdk/cloudsaves/sync с указанием SHA-256 хэша и базовой версии, от которой велась игра.

Разрешение конфликтов (HTTP 409 Conflict)

Если сервер обнаруживает, что на другом устройстве игрока было сохранено более свежее состояние (версия в БД опережает переданный baseVersion), сервер возвращает ответ со статусом conflict: true.

json
// Ответ сервера при обнаружении конфликта
{
  "success": false,
  "conflict": true,
  "status": "conflict_detected",
  "remoteVersion": 5,
  "remoteUpdatedAt": "2026-10-21T18:30:00Z",
  "baseVersion": 3
}

При получении флага конфликта рекомендуется отобразить игроку диалоговое окно с выбором: оставить локальное сохранение (перезаписать облако) или загрузить сохранение с сервера.