Перейти к содержимому

Миграция со Steamworks

BlueStudz SDK покрывает основные сценарии Steamworks: авторизацию сессии, ачивки, облачные сохранения, Rich Presence и лобби мэтчмейкинга. Ниже — прямое соответствие вызовов.

SteamworksBlueStudz SDKПримечание
SteamAPI_Init()BlueStudzSDK.Init(appId, secretToken)Вызывается один раз при старте игры. appId — ваш Game ID, secretToken — секретный токен разработчика из кабинета.
SteamUser()->GetAuthSessionTicket()POST /auth/game/verifyБинарные тикеты заменены на веб-токены: игра считывает одноразовый launchToken из аргументов лаунчера и обменивает на 30-минутный JWT.
SteamUserStats()->SetAchievement()BlueStudzSDK.Achievements.Unlock(achievementId)Сервер сам подтверждает разблокировку по вашему secretToken — клиент не может подделать чужую ачивку.
SteamUserStats()->SetStat()POST /sdk/battlepass/syncФиксация числового прогресса игрока. Значения применяются по принципу GREATEST (наивысший достигнутый порог).
SteamRemoteStorage()BlueStudzSDK.CloudSaves.Sync(saveData)Загружает архив сохранения в объектное хранилище (S3 presigned URL) и регистрирует хэш/версию для конфликт-детекции.
SteamFriends()->SetRichPresence()BlueStudzSDK.Presence.SetStatus(active)Помечает игрока как активного в вашей игре — друзья в клиенте BlueStudz увидят «Играет в <название>».
SteamMatchmaking()->CreateLobby()BlueStudzSDK.Lobbies.Create(options)Идёт через matchmaking-service (POST /lobby). Участники никогда не обмениваются IP напрямую — весь трафик проксируется сервером.

Чего нет 1-в-1

  • Прямой P2P (WebRTC / LAN) — архитектурно запрещён: раздача данных между игроками идёт только через серверный релей (websocket-service), чтобы исключить деанонимизацию и утечку IP-адресов.
  • Steam Workshop — пользовательские модификации в текущей версии SDK не поддерживаются.
  • Overlay-инъекция в DirectX/Vulkan — BlueStudz не инжектит DLL в графический конвейер игры. Уведомления и чат отображаются через оверлей клиента платформы.