Игровые системы

Мультиплеер без своего сервера: комнаты и голос

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

Обновлено: English

Мультиплеер даёт игре сетевую игру без своего игрового сервера: комнаты в лобби, приглашения, голосовую связь, и хост запускает игру для всей комнаты. Игроки соединяются друг с другом по WebRTC; платформа только находит их и соединяет.

Что видит игрок

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

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

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

Как устроено

  • Комнатой и её сеансом владеет лобби; игры сами комнаты не создают и в них не входят.
  • Игра играет по сети, зарегистрировавшись в лобби; тогда рядом с её «Играть» появляется «С друзьями».
  • Опоздавшие могут войти в идущую игру, если игра это разрешает. Образец - воксельная песочница.

Шаг 01Добавьте систему в проект

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

Шаг 02Настройте в кабинете

Откройте кабинет, выберите проект и перейдите в LiveOps → v2 → Мультиплеер.

  • Включите мультиплеер и задайте максимум игроков в комнате.
  • Здесь же настраивается сервер-ретранслятор (TURN) для игроков за строгими сетями.

Кнопка ИИ на странице открывает помощника: опишите, что нужно, он предложит правки, а вы проверите их и нажмёте Сохранить.

Шаг 03Проверьте и выпустите

Проверьте систему в тестовой версии приложения. В живое приложение настройки уходят отдельным действием - см. публикация и ссылки.

Для разработчиков

Комнаты работают через client.multiplayer и RealtimeSession (@idosgames/core/realtime); игра подключается через ctx.multiplayer.

TypeScript
// В setup() модуля игры: игра играет по сети через комнаты лобби
ctx.multiplayer.registerGame({
  mode: 'my-game',
  topology: 'Host',
  chatMode: 'ServerRelay', // чат комнаты из лобби
  maxPlayers: 4,
  joinInProgress: true,
  // На устройстве каждого участника, когда хост нажал «Играть»
  start: async (room) => startOnline(room.session, { host: room.isHost, leave: room.leave }),
})
  • Выходите через room.leave(): комнатой владеет лобби.
  • Показывайте «Играть с друзьями», только пока система мультиплеера доступна: без неё игра остаётся одиночной.

Подробное описание полей - в навыке multiplayer-realtime, его отдаёт MCP-сервер SDK.

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

Нужен игровой сервер?

Нет. Игроки соединяются друг с другом по WebRTC; комнаты и установку соединения ведёт платформа.

Есть голосовой чат?

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

Смотрите также

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

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