Wiki / Для команды проекта

Интеграция с игровым плагином

Всё, что на сайте выглядит как «живая» статистика — онлайн игроков, инвентарь, ачивки, — на самом деле приходит не из воздуха, а от игрового плагина, установленного на серверах SCP: Secret Laboratory. Плагин и сайт общаются между собой через отдельный внутренний API, закрытый специальным ключом доступа, который знают только доверенные серверы, а не обычные пользователи сайта.

Через этот канал плагин присылает сайту данные об онлайне и текущих игроках на сервере, сообщает о выполнении условий для ачивок, списывает предметы из инвентаря при их использовании в игре (например, разовый спавн SCP-076-2 после активации), и запрашивает актуальные цены товаров из магазина и общий конфиг проекта, чтобы не хранить эти данные на своей стороне отдельно.

Разделение ролей тут принципиальное: обычный игрок управляет своим профилем и покупками через сайт под своим Steam-аккаунтом, а сервер как отдельная доверенная сторона обращается к тем же данным через служебный ключ, без привязки к чьей-либо личной сессии. Это разделение и защищает от подмены данных — игрок не может напрямую попросить сервер выдать себе награду в обход сайта, а сервер не может залезть в чужой личный кабинет так, будто он и есть этот игрок.

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