forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Сеть (http://forum.boolean.name/forumdisplay.php?f=169)
-   -   Различия между сетью Unity и Photon Server/Cloud (http://forum.boolean.name/showthread.php?t=18419)

WISHMASTER35 30.07.2013 20:50

Ответ: Вопросы от новичка
 
Объясните чем фотон отличается от обычной сети юнити? И можно юнитвской сетью сделать игру на человек 30?
И фотон платный или бесплатный? Ибо скачать его можно бесплатно.

pax 30.07.2013 21:03

Ответ: Вопросы от новичка
 
На 30 человек можешь использовать Unity сеть. Фотон со своим сервером бесплатно до 100 игроков одновременно, в облаке 20.
Photon Unity Networking отличается тем, что есть лобби и лодбалансер в комплекте + некоторые дополнительные фичи для организации сети на основе лобби. Скачиваемый сервер кроме того позволяет свои модули писать и это будет уже твоя сеть, только транспортный уровень будет по протоколу фотона.

WISHMASTER35 31.07.2013 01:44

Ответ: Вопросы от новичка
 
До 100 игроков, это когда в роли сервера выступает один из игроков?
А облако это выделенный сервер, который отдельно оплачивать?
лобби это что?
Кстати, серверная часть же тоже просчитывает физику. В фотоне тоже PhysX как и в юнити?

pax 31.07.2013 07:41

Ответ: Вопросы от новичка
 
100 игроков подключенных к серверу фотона. Сервер фотона ставится отдельно.

Облако это много серверов фотона связанных лод балансером и выполняющих роль транспорта пакетов. Оплата ежемесячная, платить за лицензию не надо.

Лобии это комнатная система, с сервера после подключения можешь получать список комнат, в которых играют.

В сервере фотона нет физики, если ты будешь сам серверный модуль писать, то можешь подключить любой движок на Net, например http://bepuphysics.codeplex.com/


Photon Unity Networking работает с облаком, т.е. это плагин эмулирующий подобие Unity сети, сервер (облако или твой собственный) просто передает пакеты, а один из игроков является мастер клиентом, который может обрабатывать основную логику, так же устроена Unity сеть. Но фотон лишен недостатка того, что если мастер-клиент отключается, то выкидывает всех. В фотоне мастер-клиентом становится кто-то другой в этой комнате и все продолжают играть.

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

WISHMASTER35 31.07.2013 14:35

Ответ: Вопросы от новичка
 
Спасибо, pax. Что-то начинаю понимать.
Значит если используется один сервер, то одновременно может быть 100 игроков, а если используется облако(несколько серверов), то одновременно может быть лишь 20 игроков. Странное ограничение.
Как я понял комнаты позволяю играть игрокам отдельно друг от друга. В юнити разве этого не сделать?

Всегда считал, что основная логика и физика обрабатывается на сервере, а не на клиенте. Интернет клиента скорее всего будет не достаточно быстр. Да и всякие хитрости можно будет сделать на клиенте. Например увеличить себе денег. Хорошо бы теперь разобраться, что обрабатывать на сервере, а что на мастер-клиенте.

pax 31.07.2013 15:30

Ответ: Вопросы от новичка
 
Один сервер - твой сервер, облако это не твои ресурсы, которые тебе предоставляются бесплатно на 20 слотов.

Photon Unity Networking от сети Unity отличается не сильно, есть некоторые преимущества (лобби, лодбалансер, параметры игроков и комнат, кто из друзей онлайн и еще некоторые). Если ты планируешь делать сеть просто на 30 игроков, то используй Unity сеть. С фотоном придется устанавливать его сервер. А так Unity приложение само может стать сервером.

С облаком фотона ты не сможешь ничего обрабатывать на сервере, логика будет только на клиенте.

У меня в роботах схема такая:
бои - облако с Photon Unity Networking,
сохранение прогресса - PHP + MongoDB (свой сервер) с некоторой защитой с запросами по WWW

WISHMASTER35 31.07.2013 18:15

Ответ: Вопросы от новичка
 
pax, все равно недопонимаю.
Сервер это программа - серверная часть фотона к которой я могу прицепить свои модули, свою физику и поставить на свой комп или выделенный сервер.
Облако это выделенный сервер фотона на котором уже установлена серверная часть, и к которой я уже свои модули и физику не прикручу.
Так?

Тогда допустим в шутере что происходит в облаке, а что на мастер-клиенте?
И зачем вообще это облако, если вся логика и физика на мастер-клиенте?

seaman 31.07.2013 21:12

Ответ: Вопросы от новичка
 
Цитата:

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

WISHMASTER35 31.07.2013 21:49

Ответ: Вопросы от новичка
 
seaman, я так понимаю в облаке храниться лишь список IP клиентов?

pax 01.08.2013 13:03

Ответ: Вопросы от новичка
 
Принцип Unity сети:

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

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

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

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

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

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


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

Вероятно я еще что-то забыл

Morganolla 04.10.2013 11:38

Ответ: Различия между сетью Unity и Photon Server/Cloud
 
В случае с облаком по идее в >2 раза возрастают задержки с передачей пакетов? Это будет критично для динамичных игр с физикой?
Вообще интересно какая средняя задержка передачи пакета от сервера Юнити к клиенту?


Часовой пояс GMT +4, время: 17:59.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot