Этот тред посвящен бекенду для ваших игр. Бекэнд - серверная часть вашей игры. Мультиплеер, настройка экономик, инфа о ваших пользователях, обновление игр без обновления клиента, пуш апы и другие ништяки. Бекенд не обязательно писать самому, есть много готовых решений. Вот несколько из них: GameSparks ( http://www.gamesparks.com )Playfab ( http://www.playfab.com )Photon ( http://www.exitgames.com )В тред призываются все, кто интересуется данной тематикой.Вопросы, которые волнуют меня. Интересная ли данная тема для анона? Кто что использует? Что лучше? Есть ли годные туториалы?
Мне эта тема очень интересно. Всегда мечтал о том, чтобы сделать онлайн рогалик. По факту использовал немного фотон в юнити. Удобная штука, если делать что-то с мультиплеером на пару-тройку человек.
>>259302интересна*
>>259300 (OP)Тема очень интересная. Использую Фотон Клоуд. Крутая штука. Через Webhook подключил свой бекенд. Playfab по-моему идеальный вариант для мобильной или steam игры.
Хочу давно писать бэкенд, пытался учить всякие скалы и пхп, а потом до меня дошло, что наверняка должно уже быть что-то готовое, нормальное, что работает из коробки. Посморел сервисы, очень доставил playfab и gamespaks, но у gamesparks мало туториалов, буду playfab изучать.
Какую аналитику вы используете? У меня обычно нет бэкенда в играх и я использую game analytics - имхо самое удобное. Есть риал тайм, все что нужно для игры трекать можно. Есть подозрение, что gameanalytics врет на 20% в меньшую сторону по кол-ву установок. Главный минус в том, что она конфликутет с рекламными плагинами, например с admob. Был опыт использования unity analitycs, но мне не понравилось, главным образом потому, что есть задержка в 24 часа и ебанутый интерфейс. На работе использую связку flurry + tap joy + рекламные плагины, но вся эта бандура работает только на андройде. Вообще, нативные плагины очень бесят, потому что они вечно конфликтуют между собой. А когда плагинов много, то ими неудобно управлять, то есть, например, если есть 5-6 плагинов и нужно 2 выпилить и 3 добавить, начинается ад.
>>259300 (OP)Интересно, конечно. Но интерес какой, хочу чтоб всё работало, чтоб разбираться не надо было и если и платить, то после выхода игры.
На ноде пишу, браузерку
>>259304"Фотон Клоуд", там же за трафик нужно платить. И сколько выходит, как задержка?И аноны, посоветуйте. Мне нужно будет писать в ближайшее время кооператив на 3 человека для ПК. Работаю в юньке. Задача, чтобы игрок был хостом, а остальные два подключались к нему.Искал готовое решение, с помаркой: без затрат каждый месяц (или разовая оплата), т.к. в долгосрочной перспективе не потяну и пробитие NAT. Что рассматривал:- Unet, очень удобно и быстро работать. Но если у тебя кооп/матчмекинг, то ты будешь зависеть от серверов юнити, т.е. оплата за трафик. И пробитие NAT отсутствует. Подходит для игр, где кто-то держит сервер с белым ip;- OpenNAT, MonoNat - решает проблему с NAT, то ли у меня кривые руки и не так настроил, то ли мой роутер он не смог пробить мой роутер (хотя там есть помарка, нельзя использовать wifi и работает не во всех случаях);- Photon только смотрел на него, но не решился попробовать, т.к. увидел, что там нужно будет платить за трафик для коопа. Это мне не подходит;- Остановился на Steamworks.NET. Отлично работает. Позволяет создавать комнаты для поиска игры и peer2peer передача (пробивает NAT). Из минусов: зависим от стима (зато бесплатно), придётся с нуля писать архитектуру клиент/сервер - передача, обработка, синхронизация. Очень не хочется на это терять время, но что поделать...
>>259300 (OP)Написал бэкенд сам (.net asp приложение).мимо-оп-ммо-рогалика
>>259300 (OP)Что-то что, а бэкенд нужно писать самому всегда. Готовые решения это всегда готовые уязвимости.
>>259472Тебя сейчас ассетотаскатели какашками закидают. Самому писать, как это. Хотя бы на блюпринтах надо писать?
Аноны, что брать для Unity? Для шутера (ещё один убайца контр-страйк, да), например. Я не хочу читеров, так что давать кому-то хоста нельзя. Как перенести просчёт физики на сервер? Какое готовое решение использовать (писать самому не выйдет, так как сорцы юньки не дали)?
>>259520>писать самому не выйдет, так как сорцы юньки не далиМожешь к игре клиент на шарпе сам написать, а сервер на чем хочешь. Ох уж эти отговорки, лишь бы самому ничего не делать.
>>259529Что самое интересное, юнити принимает сторонние либы на С\С++\С#. Хоть физон, хоть сеть, хоть аллаха подключить можно. Но нет блядь, сорцы нужны. Хотя никто не может ответить на вопрос "нахуя?".
>>259469> там же за трафик нужно платитьНет. За трафик нужно платить в uNet, что невыгодно, как мне кажется. А в Фотоне ты платишь за кол-во онлайна. Я купил перманентно 100 онлайна за 50 баксов (без скидки 100 баксов) и мне норм. Если вдруг приспичит, можно за 100 баксов в месяц поднять до 500 онлайна, а потом снова не платить и оставаться на 100. Идеальный вариант.
>>259543Поясни дауну, который с сетями-серверами никогда не работал. Юнька сама считает физику. Я хочу вынести её в сервер, чтобы читеры не бегали со скоростью света и т.д. Как это делать? В идеале бы хотелось, чтобы была консольная вещь. Но сервер то должен считать физику через юнити, так что должно быть запущена моя игра, как сервер. Неясно.>>259547 Уважаемый ананас, как у тебя сделано -- кто у тебя хост: игрок или сервер? Насколько я понял, само облако не может никаких просчетов делать, оно только для связи. иначе надо фотон сервер подключать.
>>259551>кто у тебя хост: игрок или сервер?Игрок. Ты можешь через Webhook подключить какую-то свою обработку дополнительную. Варианты с выделенным сервером я не рассматривал, потому что это накладно, хотя есть очень перспективная штука для этих целей - Photon Bolt, в котором обещают добавить поддержку Steam (их лобби, их прокси-сервер для обхода NAT и тому подобное).
>>259552Ага, посмотрел. Правда очень интересно. Насколько я понял он поднимает аналог дедика у игрока, но отдельно от игры. Опять же остаётся вопрос защиты. Игрок же может залезть туда? Или я сильно заморачиваюсь по поводу читеров?
>>259556Если игрок выступает сервером, то конечно, он может влезть и изменить данные. Ты можешь внести элементарную защиту, которая сразу отсечёт школо-хаккеров: https://www.assetstore.unity3d.com/en/#!/content/10395Смысла вкладываться в хорошую защиту нет до тех пор, пока у тебя нет игры, которая приносит приличные деньги. В общем, решай проблемы по мере их поступления. Если использовать Photon Bolt, то там уже есть фичи, вроде авторитарного движения, когда от игрока принимают лишь команды, а далее сервер уже рассчитывает его передвижение или другие параметры. Вот такой сервер уже можно использовать в качестве выделенного.
>>259558>Смысла вкладываться в хорошую защиту нет до тех пор, пока у тебя нет игры, которая приносит приличные деньги.Действительно. Спасибо, анон. Наверное возьму этот вариант.
>>259547Благодарю за ответ. Точно, запамятовал, в фотоне за количество в онлайне. Интересную ты методику с тарифами привёл. >>259552> Photon Bolt, в котором обещают добавить поддержку Steam (их лобби, их прокси-сервер для обхода NAT и тому подобное).Воу, в перспективе поддержка прокси-серверов стима? Это же круто. Мм, всё таки надо попробовать Фотон.
>>259551>Юнька сама считает физикуФизон юнити это нвидиевский физикс. Физикс ты можешь скачать и прилинковать к проекту, тыжпрограммист. И заставить сервер работать с физоном, как работает с ним юнити. >читеры не бегали со скоростью светаОт спидхака защититься проще. Берёшь узнаешь скорость игрока и если она выше допустимой - снимаешь деньги со счёта за превышение скоростного режима. Точно также получаешь данные о положении игрока и сравниваешь с геодатой, если нарушена - телепортируешь его назад. Или завершаешь игровую сессию.
>>259582>Физикс ты можешь скачать и прилинковать к проекту, тыжпрограммист. И заставить сервер работать с физоном, как работает с ним юнити.Время ахуительных советов
>>259595https://developer.nvidia.com/physx-sdkБерёшь, качаешь, используешь. Всё реально. Другое дело, что не нужно.
Писюны, у Фотона распродажа началась. Можно за полцены PUN+ выхватить.
Бэкэнд на самом деле немного геморно пишется. Разные эти треды-хуерды, пулы-хуилы.Сихронизации разные пидорские, об которых можно легко зашквариться и иметь по факту однопоточный сервер. Архитектуру надо продумывать хорошо. Много пакетов отправлять, ждать ответа, потом опять отправлять, где-то хранить стейт. Доставать данные из бд только при старте, дальше работать с данными только в памяти, сохранять в бд после шатдауна сервера.И при всём при этом стараться не быдлокодить и придерживаться какой-то архитектуры.
https://habrahabr.ru/company/mailru/blog/220359/Годный блог от мейл.ру. У них ещё есть про аллоды и ещё парочка статей, видео на ютубе на эту тему.
Мужики, я тут подумал, что как-то это все муторно, писать сначала сервер, потом клиент, ну то есть, там реально большой объем, даже если использовать какой-нибудь play fab. А есть какие-будь решения, чтобы одновременно писать и клиент и сервер и не курить гайд два года?
Так а че, у Юнити эти самые ИнтернетСервисес разве платные?
>>260567https://www.photonengine.com/en-US/PUN>>260570Платишь за трафик http://unity3d.com/ru/services/multiplayer
>>260411Там ещё Forge. PUN не нужен. А вот Bolt и Forge может кто-то сравнить? Кто-нибудь щупал что-то из этого?
>>260645Bolt щупал. Очень удобная штука. Forge не стал брать, потому что они всё равно на него забьют рано или поздно, а у Bolt большое будущее. Они планируют добавить поддержку стима и ещё всякие штуки.
>>260664> Forge не стал брать, потому что они всё равно на него забьют рано или поздно, а у Bolt большое будущее. Они планируют добавить поддержку стима и ещё всякие штуки.Вот только давно они планируют, а Forge часто обновляется. Мне как раз надо выбрать одно из двух. тяжело определиться, когда не щупал. Может ещё кто-то тут знаком с ними?
Посоны, я так подумал. Впезду эти фотоны и другие эти ваши элементарные частицы. Нахуярил udp сервер на плюсах. Вопрос: как подключиться с юньки к серву? Мож кто уже юзал свои самописы?
>>260677На, щупайPhoton Bolt vBeta-0.4.3.14http://www18.zippyshare.com/v/cZiX7ech/file.htmlForge 19.2http://www.filedropper.com/forgenetworking-release-v192
>>260691Ого-го, ёбаный в рот! Спасибо, анон!
>>260690using System.Net;using System.Net.Sockets;
>>260708Мм. Спс. Попробую. Правда где то читал, что при юзании сокетов юнька дает пососать своими политиками безопасности.
>>260712>>260706>>260708Отпишитесь, какие ваши ощущения. Что там к чему. (Сам тоже попробую)
>>260712если нужны все билды (включая веб), то юзай вебсокеты
>>260714Крч, подружил юньку и сервак на плюсах. Заюзал сишарповский udpclient(). На локалхосте полет нормальный, осталось найти где можно развернуть этот сервер, чтоб с белым ip была машина, и проверить, будет ли из андроида подключатся.
>>260567Можно, на игровую логику придется отвязывать от Юнити, чтобы одинаковый код работал на клиенте и сервере. Посмотри в сторону чистых ECS. Вроде Entitas или свежей Svelto ECS. Вопрос чисто правильной архитектуры.
>>260567Вроде Forge работают над этим
Аноны, на чём лучше писать клиент-серверное приложение на Unity? В смысле, что использовать? Серверный должен быть кроссплатформенным и, желательно, на шарпе (ох, лол, да). Клиент, естественно, тоже, ибо Unity.
>>261769платно же, не вариант
>>261769>>261770Нужна такая система, чтобы пользователь в ебенях мог поднять сервер в локальной сети и играть со своими корешами.
Фотон. У них год назад подходящая лицензия была. Ну или ждать когда выкатят серверную библиотеку для Unet.
>>261777А эта дичь что значит? http://unity3d.com/ru/services/multiplayer
>>261765Forge
>>261782Хорошо, благодарю за разъяснение.>>261783Окей, спасибо, гляну.
>>261086На амазоне бесплатный сервер можно зарегать на год.
Бампули.
бамп
Добавили бы в PlayFab поддержку Вконтакта, тогда цены бы ему не было, а так приходится пилить свой бекенд.
а никто не в курсе, есть бесплатные готовые решения для игр по бекэнду, чтобы запускалось на php-хостинге?