Bifröst Connect осуществляет редирект в Steam и Xbox для URL, допустимых к использованию в качестве кнопки - компонента сообщения Discord.
При обращении по URL проверяем, запущено ли для выбранного пользователя Steam @user
приложение, идентификатор которого указан в качестве параметра @app
. Если приложение запущено, проверяем возможность подключению к текущей сессии. Если подключение к сессии возможно, редиректим на адрес вида: steam://joinlobby/@app/@user/$lobby
. Если сессия не доступна, предлагаем запустить указанное приложение и подключиться к другу непосредственно через него.
@app
- ID приложения в Steam.
@user
- ID пользователя Steam, к которому осуществляется подключение.
При обращении к 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
.