Показать сообщение отдельно
Старый 01.08.2013, 13:03   #10
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

Принцип Unity сети:

Игрок создает сервер на своей машине и к нему подключаются остальные. Он должен иметь белый IP.

Если используется мастерсервер, то на нем регистрируется один из игроков как сервер который создает игру (комнату), все к нему подключаются. Функционал матсерсервера был по моему только в списке комнат и количестве игроков в них. Все подключаются к игроку серверу, если позволяет NAT. Часто с в такой ситуации не все могут стать сервером для игры.
Мастер сервер либо тот который предлагает Unity либо свой (надо отдельно ставить). Я уже и не помню где его скачать можно.
Все пакеты идут через игрока, создавшего сервер.

Принцип работы облака:

Используется Photon Unity Networking (PUN)

Все клиенты подключаюся сначала к лодбалансеру (мастерсервер с точки зрения Unity сети). Когда создается комната, то лодбалансер выбирает сервер, на котором есть свободные ресурсы и на нем создает комнату, все клиенты подключаются к этому серверу к этой комнате. Никому не надо иметь белый IP и нет проблем с NAT.
Сервер для комнаты пересылает все пакеты через себя.

Логика выполняется тоже на клиенте, который называется мастерклиентом


Плюсы облака и PUN по сравнению с Unity сетью:
  1. Лодбалансер может для комнат содержать дополнительные параметры, по которым можно их фильтровать. Может показывать кто из друзей онлайн, если передать ему список id друзей (для этого надо реализовать авторизацию).
  2. Игроки уже имеют параметры, которые пересылаются автоматически всем подключенным к комнате игрокам
  3. Есть автоматический контроль за инстансингом сетевых объектов
  4. Нет проблем с NAT и белыми IP т.к. все подключаются к серверу
  5. при выходе из комнаты мастерклиента всех не выбрасывает, мастерклиентом становится кто-то из оставшихся игроков

Вероятно я еще что-то забыл
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
WISHMASTER35 (01.08.2013)