Страница 1 из 2

Совет в выборе решения мультиплеера в юнити

СообщениеДобавлено: 04 апр 2020, 11:37
kirich
Здравствуйте, я хочу создать 2д topdown мультиплеерную игру для браузера . Мне нужен совет,что именно использовать для мультиплеерной разработки ?
Я могу запрограммировать игру на c#, а вот , чтобы люди подключались (100 человек одновремменых ), что - то делали, перестреливались и т.д. я не знаю.
Photon я использовать не хочу , так как платный(20 игроков-это мало, или можно как-то запустить много таких серверов по 20 одновременных если знаете как скажите пожалуйста?)
Сервер писать не вариант - то долго и муторно .
Так же рассматривал вариант изучить node js.
Какой оптимальный вариант можете предложить?

Re: Совет в выборе решения мультиплеера в юнити

СообщениеДобавлено: 04 апр 2020, 12:59
Tolking
Оптимальный вариант - использовать Фотон... :)

Re: Совет в выборе решения мультиплеера в юнити

СообщениеДобавлено: 04 апр 2020, 19:29
Jarico
kirich писал(а):Сервер писать не вариант - то долго и муторно .

Что сложного? Создать соединение между клиентом и сервером, а потом просто гонять данные между ними? Полно уроков ведь...

Re: Совет в выборе решения мультиплеера в юнити

СообщениеДобавлено: 06 апр 2020, 10:23
kirich
Jarico писал(а):
kirich писал(а):Сервер писать не вариант - то долго и муторно .

Что сложного? Создать соединение между клиентом и сервером, а потом просто гонять данные между ними? Полно уроков ведь...

Извините, что не отвечал . Я все таки решил написать сервер. и Вопрос в следующем :
Почему подавляющее большинство в интернете использует Node js для серверной части + socet io
Или же на c# создавать ?
Я не знаю что выбрать c# или java для этого всего? Какая разница?
Я знаю , что socet io библиотека очень легко работает, но она только для java, а с# используют в разы меньше людей для серверной логики для unity .
(я просто боюсь , что с# может быть не так эффективен или много заморочек и т.п. ) :( :( :(
Подскажите!

Re: Совет в выборе решения мультиплеера в юнити

СообщениеДобавлено: 06 апр 2020, 10:36
Tolking
Все зависит от того, где сервер будет размещаться...

Re: Совет в выборе решения мультиплеера в юнити

СообщениеДобавлено: 06 апр 2020, 12:47
kirich
Tolking писал(а):Все зависит от того, где сервер будет размещаться...

В европе (буду брать vps) А что?

Re: Совет в выборе решения мультиплеера в юнити

СообщениеДобавлено: 06 апр 2020, 13:30
Tolking
На сервере будет виндовс или линукс? Какие сервисы? MySQL? node.js? Вот от этого и отталкивайся.

Re: Совет в выборе решения мультиплеера в юнити

СообщениеДобавлено: 06 апр 2020, 13:42
kirich
Tolking писал(а):На сервере будет виндовс или линукс? Какие сервисы? MySQL? node.js? Вот от этого и отталкивайся.

Точно не SQL.
Мне не принципиально взять на windows или на линуксе.
Меня сейчас волнует java или c#.
Я выше написал, что боюсь, что на с# сервак создать нельзя, или будет не так хорошо работать, как на java или будет геморно.
Я не знаю что для unity лучше

Re: Совет в выборе решения мультиплеера в юнити

СообщениеДобавлено: 06 апр 2020, 15:05
Tolking
Во-первых какая связь между Юнити и созданием Сервера?

А во вторых если нет проблем с сервером на виндовс и установкой на него всяких .NET и тд, я бы делал на С# + Raknet(или аналог)...

Но лучше этот вопрос уточнить и цену узнать в т.ч. и за трафик... Фотон может оказаться дешевле...

Re: Совет в выборе решения мультиплеера в юнити

СообщениеДобавлено: 06 апр 2020, 17:19
Jarico
kirich писал(а):Я выше написал, что боюсь, что на с# сервак создать нельзя, или будет не так хорошо работать, как на java или будет геморно.
Я не знаю что для unity лучше


Что сложного? Сложно Socket заюзать? Тем более его можно использовать из разных потоков (если планируешь многопоточный сервер делать) использовать

https://metanit.com/sharp/net/3.1.php - Класс Socket
https://metanit.com/sharp/net/3.2.php - Пример клиент-серверного приложения на TCP
https://metanit.com/sharp/net/3.3.php - Пример клиент-серверного приложения на UDP

Re: Совет в выборе решения мультиплеера в юнити

СообщениеДобавлено: 06 апр 2020, 17:29
kirich
Tolking писал(а):Во-первых какая связь между Юнити и созданием Сервера?

А во вторых если нет проблем с сервером на виндовс и установкой на него всяких .NET и тд, я бы делал на С# + Raknet(или аналог)...

Но лучше этот вопрос уточнить и цену узнать в т.ч. и за трафик... Фотон может оказаться дешевле...


Посидел, почитал . Фотон просит за 100 оновременных (https://www.photonengine.com/en-US/PUN/pricing) 95 баксов на 5 лет.

Первый попавшийся сервер на авито (https://www.avito.ru/perm/nastolnye_kom ... 1854126190) стоит 5т. руб.
Электричество выйдет в меньше чем 150руб (24 ч в сутки за месяц).
Я думаю что этот комп с авито выдержит в разы больше чем 100 одновременных.
+ сервер полностью под моим контролем .
+ сайт я захосчю сам .
Единственное в чём я не уверен - сколько именно одновременных выдержит сервер. (иду искать) :-\ :-\ :-\
Что думаете ?

Re: Совет в выборе решения мультиплеера в юнити

СообщениеДобавлено: 06 апр 2020, 17:41
kirich
Jarico писал(а):
kirich писал(а):Я выше написал, что боюсь, что на с# сервак создать нельзя, или будет не так хорошо работать, как на java или будет геморно.
Я не знаю что для unity лучше


Что сложного? Сложно Socket заюзать? Тем более его можно использовать из разных потоков (если планируешь многопоточный сервер делать) использовать

https://metanit.com/sharp/net/3.1.php - Класс Socket
https://metanit.com/sharp/net/3.2.php - Пример клиент-серверного приложения на TCP
https://metanit.com/sharp/net/3.3.php - Пример клиент-серверного приложения на UDP


socet (или библиотек socet io для java) я буду юзать хоть как, но это только для клиентской части, а сам то сервер писать тоже надо !

Re: Совет в выборе решения мультиплеера в юнити

СообщениеДобавлено: 06 апр 2020, 22:36
Jarico
kirich писал(а):Я думаю что этот комп с авито выдержит в разы больше чем 100 одновременных.
+ сервер полностью под моим контролем .
+ сайт я захосчю сам .
Единственное в чём я не уверен - сколько именно одновременных выдержит сервер. (иду искать) :-\ :-\ :-\
Что думаете ?

Не проще ли зайти на амазон в ec2, там можно взять виртуальный сервер на целый год бесплатно, правда сервера в забугорье находятся но машинки не слабые (Xeon e5) для твоих целей подойдёт.... Нужна всего лишь виртуальная карта с 80 рублями на ней

Re: Совет в выборе решения мультиплеера в юнити

СообщениеДобавлено: 07 апр 2020, 03:03
Tolking
kirich писал(а):Посидел, почитал . Фотон просит за 100 оновременных (https://www.photonengine.com/en-US/PUN/pricing) 95 баксов на 5 лет.

+ превышение трафика не бесплатное

kirich писал(а):Первый попавшийся сервер на авито (https://www.avito.ru/perm/nastolnye_kom ... 1854126190) стоит 5т. руб.
Электричество выйдет в меньше чем 150руб (24 ч в сутки за месяц).

:) блок питания у этого сервера 700 вт... 0.7*24*365 *5 *4,35 = 133371 рубль или 1754,88$ Это очень намного больше чем 95$ Конечно можно сказать, что блок не будет работать на полную мощность, но чтобы получить 95$ он должен потреблять около 40 вт... Реалистично?
А еще плата за постоянный IP! Без постоянного IP сервер будет проблематично сделать...

kirich писал(а):Я думаю что этот комп с авито выдержит в разы больше чем 100 одновременных.
+ сервер полностью под моим контролем .
+ сайт я захосчю сам .
Единственное в чём я не уверен - сколько именно одновременных выдержит сервер. (иду искать) :-\ :-\ :-\
Что думаете ?

А интернет выдержит? Обещают 100 мбит, а реально сколько? А пинг какой будет? А электричество будет всегда? А интернет всегда будет? А сервер выдержит 24х7?

Если поиграться и на время разработки 20 ССU - достаточно... А там уже может и не понадобится ничего... :)

Re: Совет в выборе решения мультиплеера в юнити

СообщениеДобавлено: 07 апр 2020, 21:02
kirich
Амазоновский сервер - это отличная идея! Скорее всего воспользуюсь.

Насчёт своего решения. Благоприятные условия для сервера устроить можно(интернет не пропадёт, стабилизатор тока и т.п..., а выдержит ли 24/7 ? - не знаю и много очень заморочек , согласен
Но в ближайший год как выяснилось пока мне не нужно. )
Насчёт сервера я понял.

И так вы предлагаете писать на с# + socet . Raknet и другие движки я использовать не хочу, потом изучу.
То есть потом это скомпилировать в юньке в webgl и залить на сайт ?