Как сделать свять вежду python игрой и сайтом на html?

Я делаю 3д игру на пайтоне с поддержкой мультиплеера. Получилось сделать тестовый сайт и одиночный клиент. Я хочу сделать выбор мини игры на сайте и можно будет нажать ,,ИГРАТЬ,, и запускался python код на компьютере. https://www.roblox.com/home вот как реализовано в роблоксе. Там есть плейсы ты выбираешь и на самом компьютере запускается это карта
  • Вопрос задан
  • 182 просмотра
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
1. Ты должен выбрать себе схему URL, по аналогии с тем, как это делает телеграм с его схемой tg:// или стим (steam://).
2. Научись упаковывать свою игру в exe-файл с помощью любого упаковщика - например, auto-py-to-exe.
3. Подразумевается, что игра уже установлена на компьютере пользователя. При установке она регистрирует себя как обработчик для данной схемы. Это делается по-разному для винды и для линукса.
Для винды нужно будет залезть в реестр через стандартный модуль registry

Тебе нужно создать ключ реестра HKEY_CLASSES_ROOT/ИмяТвоейСхемы. Убедись, что такого ключа нет, перед тем как его создавать!
В ключе создаёшь строковое значение с именем URL Protocol и пустым значением.
Создаёшь вложенный ключ: HKEY_CLASSES_ROOT/ИмяТвоейСхемы/shell
Внутри вложенного ключа создаёшь строковое значение с именем command и значением такого вида: "C:\путь\к\твоей\игре.exe" "%1"

После этого при попытке ввести в браузере ссылку, начинающуюся с твоей схемы, должна запуститься твоя игра.
3. Твоя игра должна проверять параметры командной строки (читай про sys.argv). Если игра запущена без параметров - её запустили просто ярлыком. Если игра запущена с одним параметром, и он начинается с твоей схемы - её запустил клик по ссылке. Разбирай текст ссылки в параметре и решай, что игра должна сделать.

Технически, ты не обязан сам лезть в реестр в python-скрипте - ты можешь сделать это ручками через regedit или поручить это установщику, типа NullSoft. Он же позаботится о том, чтобы снести созданные ключи при удалении игры.
Я бы сначала попробовал зарегистрировать URL вручную, убедился что это работает, а потом уже игрался бы с установщиком.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Meteor-BP
@Meteor-BP Автор вопроса
Спасибо! sys.argv() уже подключил для подключения по айпи.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы