Мультиплеер

Как сделать онлайн-игру с друзьями без сервера

Как сделать онлайн-игру с друзьями без своего сервера: комнаты на WebRTC, приглашения, голосовой чат и хост, который запускает игру. Собирается с ИИ в браузере.

Сделать онлайн-игру с друзьями без своего сервера можно так: соберите игру на iDos Games и попросите ИИ-кодер сделать её сетевой. Платформа добавит в лобби готовые комнаты: друзья заходят по приглашению или из общего списка, общаются в голосовом чате, а хост нажимает «Играть», и игра запускается на всех устройствах. Дальше игроки соединяются напрямую по WebRTC, поэтому арендовать, настраивать и обновлять игровой сервер не нужно.

Многие ИИ-конструкторы хорошо пишут саму игру и останавливаются на онлайне. В сгенерированном проекте нет подбора игроков, нет обмена данными для соединения и нет ретранслятора для сложных сетей, поэтому игра остаётся одиночной. Ниже разбираю, что на самом деле значит «без сервера» и как получить работающую сетевую игру за один день.

Что на самом деле значит «без сервера»

Совсем без сервера браузерная игра не бывает. Два браузера не могут найти друг друга сами: кто-то должен сообщить каждому адрес другого, прежде чем они заговорят напрямую. Избавиться можно от дорогой части: от игрового сервера, который ведёт матч за каждого игрока.

ЧастьЧто делаетКто это держит здесь
Лобби и комнатыигроки находят друг друга, приглашения, готовностьiDos Games
Сигнализацияобмен данными, чтобы браузеры соединилисьiDos Games
STUNсообщает игроку его внешний адресстандартный, бесплатный
TURN-ретрансляторпередаёт трафик, если прямая связь закрытанастраивается в кабинете
Сам матчсостояние игры, ходы, физикабраузеры игроков, ведёт хост

Значит, «без сервера» это без вашего сервера. Игра работает в браузерах игроков, один из них ведёт матч, а платформа только сводит людей и помогает им соединиться.

Хост или «каждый с каждым»

Есть два способа держать игроков в согласии:

  • Хост: браузер одного игрока хранит состояние игры, остальные шлют свои действия и получают обновления. Просто и достаточно честно для кооператива и казуальных соревнований. Так работают комнаты iDos Games.
  • Каждый с каждым: каждый шлёт обновления всем. Нет главного, но трафик быстро растёт с каждым новым игроком.

Для первой сетевой игры выбирайте хоста. Пусть именно хост решает, что произошло (кто подобрал монету, в кого попали), а остальные только показывают.

Что получают игроки

  • Комнаты в лобби: открытые или закрытые с кодом приглашения, на 2, 4 или 8 игроков.
  • Проверка готовности и чат комнаты, с пометками хоста и тех, кто вышел из сети.
  • Голосовой чат: по клавише V или с открытым микрофоном, отключение и громкость каждого, видно, кто говорит.
  • Кнопка «Играть» у хоста переносит в игру всю комнату сразу.
Мультиплеер
12 450
320
Комната Mira3/4 · открытая
Войти
Только друзья2/8 · по приглашению
Код
Моя комната · 3/4

Вы (хост) · Mira ✓ · Arrow ✓ · ждём…

Голос
Играть
Создать комнату
Комнаты игр, которые играют по сети: открытые или по приглашению.
Участники с «Готов», чат и голосовая связь комнаты.
«Играть» у хоста переводит в игру всю комнату.
Пример. Лобби мультиплеера: комнаты, участники, голос и «Играть» для всей комнаты.

Шаг 01Создайте игру

Откройте Создать и опишите игру, например: «кооперативное выживание в воксельном мире, где друзья вместе строят базу». Ответьте на пару вопросов о жанре и стиле, и платформа подберёт стартовый шаблон. Воксельная песочница играется по сети с самого начала, поэтому на ней быстрее всего увидеть мультиплеер в деле.

С первого раза хорошо работают по сети: совместная стройка, викторина для компании, карточные дуэли, гонки против призраков, простые арены. Сложнее игры с быстрой физикой между игроками, где важна каждая задержка.

Шаг 02Попросите мультиплеер

В ИИ-кодере напишите одну просьбу:

Сделай игру сетевой на 4 игроков.

ИИ-кодер поставит систему мультиплеера и зарегистрирует игру в лобби. После этого рядом с кнопкой «Играть» появится «С друзьями». Затем опишите, что делает каждый игрок:

Каждый игрок управляет своим рыцарем. Монстров создаёт хост, он же решает, кто в кого попал. Над головами других игроков показывай их имена.

Шаг 03Включите в кабинете

Откройте кабинет, выберите проект и перейдите в Live Operations → v2 → Multiplayer. Включите мультиплеер и задайте максимум игроков в комнате. На той же странице настраивается ретранслятор (TURN) для игроков за строгими сетями, например у части мобильных операторов и в офисном Wi-Fi.

Шаг 04Проверьте с другом

Откройте тестовую версию на двух устройствах, лучше в разных сетях: одно на Wi-Fi, другое на мобильном интернете. Создайте комнату на одном, войдите с другого по коду приглашения, проверьте голосовой чат, нажмите «Играть» как хост и посмотрите, как оба устройства входят в игру.

Что проверить:

  • Плавно ли игроки видят движения друг друга?
  • Что будет, если хост закроет вкладку?
  • Может ли третий игрок войти в идущую игру, если вы это разрешили?

Добавьте чат, если хотите, чтобы игроки общались и вне комнат.

Шаг 05Опубликуйте и позовите друзей

Выкатите проверенную версию. У игры свой адрес, так что ссылку можно сразу отправить друзьям, а в каталог idosgames.com добавить, когда будете готовы. Друзья входят одним аккаунтом iDos Games, и этот же аккаунт работает во всех играх платформы.

Частые проблемы и как их решить

  • Игроки видят, как другие дёргаются или телепортируются. Попросите ИИ-кодер плавно вести чужих игроков между обновлениями, а не прыгать в каждую новую точку.
  • Двое подобрали одну монету. Подбор и попадания решает только хост, остальные спрашивают у него.
  • Один друг никак не подключается. Его сеть закрывает прямую связь. Проверьте, что в кабинете настроен ретранслятор (TURN).
  • Игра ломается, когда хост уходит. Решите заранее, что будет: матч заканчивается для всех или остальные играют дальше там, где игра это позволяет.

Разработчикам

Комнаты работают через client.multiplayer и RealtimeSession из @idosgames/core/realtime. Модуль игры регистрирует себя в лобби через ctx.multiplayer.registerGame: топологию, чат комнаты и максимум игроков. Все поля описаны в навыке multiplayer-realtime MCP-сервера SDK, поэтому подключить это может и агент вроде Claude Code.

Айдос Рыскельдинов

Об авторе

Основатель iDos Games

Заядлый геймер и фанат новых технологий. С 2020 года создаю и выпускаю кроссплатформенные игры и приложения, а сейчас строю iDos Games: платформу, где любой может собрать свою игру с ИИ, запустить её по своей ссылке и зарабатывать на ней. Здесь рассказываю, как делать игры быстрее и проще, чем кажется.

Частые вопросы

Нужно ли арендовать игровой сервер?

Нет. Игроки соединяются друг с другом по WebRTC, а комнаты и установку связи берёт на себя iDos Games. Свой игровой сервер не нужно ни держать, ни оплачивать.

Сколько человек могут играть вместе?

В комнате 2, 4 или 8 игроков. Максимум для своей игры вы задаёте в кабинете.

Можно ли разговаривать во время игры?

Да. В комнатах есть текстовый чат и голосовой: по нажатию клавиши или с открытым микрофоном, с отключением и громкостью для каждого участника.

Что если у друга строгая сеть и он не подключается?

Некоторые сети запрещают прямое соединение между игроками. Для них связь идёт через ретранслятор (TURN), его настраивают на странице «Мультиплеер» в кабинете.

Можно ли зайти в уже начатую игру?

Да, если игра это разрешает. Воксельная песочница пускает опоздавших в идущий мир, и любая игра может включить это при регистрации в лобби.

Подробнее в документации

Сделайте свою игру

Опишите идею одним предложением - ИИ-кодер соберёт её, и она откроется по своей ссылке.

Все статьи