Bifröst ConnectМикросервис для подключения к игровому лобби Steam или Xbox.

Bifröst Connect осуществляет редирект в Steam и Xbox для URL, допустимых к использованию в качестве кнопки - компонента сообщения Discord.

API

GET /steam/@app/@user

При обращении по URL проверяем, запущено ли для выбранного пользователя Steam @user приложение, идентификатор которого указан в качестве параметра @app. Если приложение запущено, проверяем возможность подключению к текущей сессии. Если подключение к сессии возможно, редиректим на адрес вида: steam://joinlobby/@app/@user/$lobby. Если сессия не доступна, предлагаем запустить указанное приложение и подключиться к другу непосредственно через него.

  • @app - ID приложения в Steam.

  • @user - ID пользователя Steam, к которому осуществляется подключение.

GET /steam/@app/server/@server

При обращении к URL получаем из файла /data/data.servers.json данные частного игрового сервера @server, запущенного для приложения, идентификатор которого указан в качестве параметра @app. Если игровой сервер добавлен в JSON-файл, в числе других значения получаем из файла: $app_params, $server_password, для подключения к нему через Steam генерируем ссылку вида: steam://run/@app//$app_params/. Если для сервера указан $server_password, он копируется в буфер обмена пользователя по нажатии на кнопку подключения.

  • @app - ID приложения в Steam.

  • @server - ключ строки с данными сервера в JSON /data/data.servers.json.