Сигнализирование (Signalling)
Чуть раньше говорилось о необходимости IP адреса для подключения к хосту. При варианте с peer-to-peer, хостом может быть каждый, в любой точке мира, а значит знать заранее кто станет хостом невозможно. Для таких случаев существует отдельный центральный сервер, названный сигнальным сервером.
Сигнальный сервер не является хостом игры, хостом игры становится первый игрок, данные которого и будут переданы другим игрокам для соединения. Другими словами Сигнальный сервер (signalling server) - это центральное место, где игроки могут найти друг друга. Игрок подключается к хосту и если подключение прошло успешно, то Сигнальный сервер исключает занятый IP из своего списка, и выбывает из цепочки. Дальше игроки общаются между собой самостоятельно.
У Scirra есть публичный Сигнальный сервер, которым можно пользоваться wss://multiplayer.scirra.com (wss: это адрес подключения к WebSocket , на которм управление происходит по технологии WebRTC)
Терминология в сигнализировании (Signalling terminology)
Сигнальный сервер должен избегать взаимодействия игроков, находящихся в разных играх, и позволять в то же время устраивать отдельные группы в рамках одинаковых игр.
Такая реализация возможна в случае подключения к room в game instance.
Сигнальный сервер разделяет игроков до начала каждой игры (game). Ваша игра должна иметь глобальное уникальное имя для Сигнального сервера (signalling server). Тогда каждый игрок сможет подключиться именно к вашей игре, а не к Васе Пупкину по ошибке.
Придумайте уникальное техническое имя вашей игры, что бы не иметь совпадений. "MyStudio-Asteroids" или "JohnSmith-Asteroids" но никак не просто "Asteroids" . Техническое имя нигде не показывается, оно нужно для корректной работы Сигнального сервера, поэтому придумывайте такие тех. имена, что бы на 100% быть уверенным. что второго такого не будет.
После того, как Сигнальный сервер идентифицировал вашу игру, он умеет определять и дополнительные параметры. Допустим такие как "stable" или "beta" версия.
Вторым вариантом использования данного механизма является геолокация, например "Europe-v1.1", "Asia-v1.2". Игроки уже смогут сами выбрать к какому серверу подключаться исходя из своей географической привязки.
Ну и наконец игроки могут подключаться к комнате (room). Комната представляет группу игроков, которые играют друг с другом. Игроки не могут видеть никаких других игроков кроме тех кто в комнате. Первый игрок в к комнате назначется как хост.
Сигнальный сервер уведомляет хост и других игроков, которые присоединяются к той же самой комнате и игроки и могут начать играть в игру, видя действия друг друга в реальном времени!
В Construct 2 функции Multiplayer , все действия, условия и выражения, касающиеся Сигнального сервера находятся в Сигнальной категории (Signallingcategory).
Прочие функции разложены по категориям прочих направлении, в том же разделе Multiplayer.