Flexible Game Server (поддержка приостановлена)

Проекты в стадии разработки.

Flexible Game Server (поддержка приостановлена)

Сообщение VBProgr 19 фев 2012, 17:23

Поддержка приостановлена, бесплатная версия предоставляется только для ознакомления!

Сайт сетевого движка

Бесплатная загрузка

Документация

Видео-туториалы

(не забываем ставить HD качество в правом нижнем углу!)

Первый туториал


Остальные туториалы смотрите по ссылке выше!

Нужен фидбэк по следующим пунктам: (popcorn)

[V] Сайт
[V] Позиционирование и название
[V] Видео
[V] Документация
[V] Первое впечатление
[V] Корректность работы автоматической и ручной синхронизации
[V] Корректность работы RPC
[V] Корректность работы Remoting
[V] Удобство использования
[V] Найденные ошибки
[V] Поддержка не-PC платформ в Unity
[V] Стабильность в редакторе и стабильность билда
[V] Правильность функционирования в WebPlayer
[V] Соответствие ожиданиям
[V] Опыт использования пространства имен Rooms2
[V] Опыт использования пространства имен MultiProtocol
[V] Предложения

Пишите здесь идеи и предложения, возможности, которые Вы бы использовали в своих проектах.
Что для Вас является важным при выборе сетевого решения? Поддержка каких возможностей или технологий?

Какие архитектурные решения для сети предпочли бы Вы?

Если что-то не работает, выкладывайте логи. Для веб-клиента не забывайте запускать SocketPolicyServer.

Очень вероятно, что не все сразу будет понятно. Задавайте вопросы в этой теме, это поможет мне составить документацию.

Feature-list
Скрытый текст:
Фичи:
[V] Аналог буферизированных RPC - Server Events
[V] Мощное многопоточное сетевое ядро для работы с сокетами
[V] Поддержка UDP
[V] Система сериализации моего изготовления. Работает гораздо быстрее и компактнее BinaryFormatter. Поддерживает любые Dictionary и List-ы.
[V] Система абстрагирования запросов "requests"
[V] Система комнат (использование опционально)
[V] Поддержка сессий - возможность установки нескольких подключений для одного клиента
[V] Возможность использовать Unity в качестве сервера
[V] Объектно-компонентная система для использования в Unity (отдельная реализация) и .NET приложениях
[V] Система автоматической синхронизацией для компонентов
[V] RPC вызовы в компонентах
[V] Стандартная синхронизация с ручной сериализацией (как в юнити)
[V] Remoting - привычный доступ к методам удаленного объекта
[V] Инструмент для поддержания бесконечной(!) карты в пределах одного физического сервера
[V] DES шифрование с передачей ключей через RSA
[V] GZip сжатие
[V] Встроенная защита от одиночных DoS атак
Последний раз редактировалось VBProgr 30 дек 2013, 11:38, всего редактировалось 44 раз(а).
skype: vbprogr
Добавить vbprogr в Skype
VBProgr
UNITрон
 
Сообщения: 319
Зарегистрирован: 24 сен 2011, 14:11

Re: Сервер аля SmartFox. Ваши предложения

Сообщение artk 21 фев 2012, 01:05

Нуб в сети, но хотелось бы побольше готового. Шаблон консольного сервака, сокеты, нормальная синхронизация, готовая интерполяция/экстраполяция, масер-сервер. И можно шаблоны для fps, браузерок, ммо. :ymdaydream:
Аватара пользователя
artk
Старожил
 
Сообщения: 749
Зарегистрирован: 22 май 2011, 12:22

Re: Сервер аля SmartFox. Ваши предложения

Сообщение VBProgr 21 фев 2012, 23:33

На данный момент планируется только архитектура с мастер сервером, т.е. без возможности соединения клиентов напрямую между собой.

Сервер многопоточный, для нубов будет сложновато разобраться. Нужны базовые знания многопоточности: lock, Monitor, Timer, ThreadPool, Thread.Sleep хотя бы, желательно еще ReaderWriterLockSlim.

Постараюсь что-нибудь придумать для нубов, чтобы было проще, но, боюсь, производительность пострадает...

Пока что есть пример чата с одной комнатой и приватными сообщениями.

Да, примеры ммо будут. Насчет фпс - тут сомневаюсь, так как мало ммо в этом жанре. Лицензии планирую продавать как в смартфоксе - на IP адрес, т.е. в играх, где игрок может сделать сервер в локальной сети, таких как контра, мой движок для сети будет не применим. Может, кто-нибудь предложит другие способы?..
skype: vbprogr
Добавить vbprogr в Skype
VBProgr
UNITрон
 
Сообщения: 319
Зарегистрирован: 24 сен 2011, 14:11

Re: Сервер аля SmartFox. Ваши предложения

Сообщение VBProgr 22 фев 2012, 17:12

С другой стороны... будет ограничение на 30 подключений для бесплатного использования без привязки к IP. Для фпс вполне пойдет. Значит, пример фпс будет...
skype: vbprogr
Добавить vbprogr в Skype
VBProgr
UNITрон
 
Сообщения: 319
Зарегистрирован: 24 сен 2011, 14:11

Re: Сервер аля SmartFox. Ваши предложения

Сообщение Syberex 23 фев 2012, 00:35

Не стоит давать пустых обещаний :-w
В Кузню надо писать тогда, когда уже есть на что смотреть. Если бы я писал в Кузню, все что начинал :- в том числе и "сетевое решение" на Java ...

Результаты уже есть, но к публикации еще не готовы.

Спрашивается зачем? Лучше 1 раз увидеть, чем 100 раз услышать :-q

Никакой технической информации относительно самого решения...

Будет реализация бесшовной карты для MMO.

А что вы под этим понимаете? И как оно применимо к серверной части? :-?
Аватара пользователя
Syberex
Адепт
 
Сообщения: 2292
Зарегистрирован: 14 янв 2011, 20:35
Откуда: Кострома
  • Сайт

Re: Сервер аля SmartFox. Ваши предложения

Сообщение VBProgr 24 фев 2012, 23:37

Технические подробности
Скрытый текст:
Серверное решение написано на C#, выглядит как несколько dll-ок :)
Есть поддержка сессий, возможность установки нескольких соединений для одной сессии
DDoS защита
Готов пример чата и на его основе система тестирования нагрузки. Результаты супер :) Подробности с релизом.

Поддержка UDP не протестирована.


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

Еще мысль: то что я делаю - не для новичков. У меня не будет универсальных компонентов аля "нацепил на объект и синхронизируется". Почему? Потому что такие пользователи и строчки кода самостоятельно не напишут, вряд ли стоит ждать, что они сделают целую игру. А значит они не будут покупать лицензию на сервер. Лучше все будет действовать в несколько более "ручном" режиме, за то разработчик сможет добиться полностью ожидаемого и максимально оптимального поведения.

"Бесшовная карта" для меня означает, что два объекта, находящиеся "на краю двух соседних серверов" могут взаимодействовать между собой. Сейчас работаю над этим.

Если Вас это заинтересовало, Вы можете связаться со мной по скайпу.
skype: vbprogr
Добавить vbprogr в Skype
VBProgr
UNITрон
 
Сообщения: 319
Зарегистрирован: 24 сен 2011, 14:11

Re: Сервер аля SmartFox. Ваши предложения

Сообщение gnoblin 25 фев 2012, 01:09

а в чем будут конкурентные преимущества по-сравнению с другими решениями для онлайна в играх?
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Сервер аля SmartFox. Ваши предложения

Сообщение Syberex 25 фев 2012, 02:01

У меня не будет универсальных компонентов аля "нацепил на объект и синхронизируется".

Вот и очень зря (ИМХО). Потому, что уже есть серьезные решения, не буду называть какие, сами знаете. ;)
Но вот именно этого нет! И причем тут новички, да они не будут покупать лицензию. Но приницип универсальных компонент совершенно не обязательно используется только новичками. Я считаю, что Юнити (возможно не только он) сам по себе задает новые стандарты к проектированию игр. И компоненты для поддержки сети, тоже могут быть очень востребованы. Так как встроенное сетевое решение в Юнити далеко не всех устраивает! Не могу сказать на сколько оно компонентно и удобно, так как я его не изучал, оно меня изначально не устраивает. :)
Для сравнения возьмем GUI. Он тоже не особо удачен в Юнити. Поэтому неплохо продаются разрабатываемые сторонними разработчиками аналоги. И покупают их вовсе не новички, а небольшие студии, с целью экономии времени.
Так же и сетевое компонентное решение, может реально иметь успех у таких студий. Разработчики игр, рассчитанных на небольшую и среднюю аудиторию, (а вы сейчас рассчитываете прямо под крупные ММО :D ), могли бы купить, навесить компоненты и все заработало, остается только логику отладить!

Для крупных компаний ваше решение не будет авторитетно для приобретения. Для спецов? Каждый такой спец напишет свое, поверьте ;)
Лучше все будет действовать в несколько более "ручном" режиме

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

"Бесшовная карта" для меня означает, что два объекта, находящиеся "на краю двух соседних серверов" могут взаимодействовать между собой. Сейчас работаю над этим.

Зачем? Кто-то из ваших клиентов уже нуждается в этом? Ваша игра настолько глобальна? Она работает? Там тысячи человек онлайн и требуется такое масштабирование? ... Вы зря тратите время, максимум что вы поимеете, это экспу \m/

DDoS защита

Ууу. Вот это круто! А секрет не откроете? А вы точно имеете опыт? Видели как ложиться сервер под атакой? Есть опыт удачных защит?
Скажу вам честно, мой опыт небольшой, но он есть :) Наш с другом сервер закрылся от ДДОС атак. И проблема встает не столько в защите сервера, сколько в финансах... Хотите подробней, можно в [skype me!] Но опять же, вы зря тратите время...

Не надо пытаться объять необъятное! Это проблема всех разработчиков, команд и даже мега-компаний ;) и успеха добиваются лишь те, кто смог уйти от этого "искушения" ... Сам с этим борюсь :))

Мой вам совет, забыть про мега навороты, про оптимизацию, про UDP, DDoS защита и бесшовную карту ;)
И сделать простое удобное сетевое решение. А вместе с ним клиентское решение, как компоненты в Юнити, которые нацепил и поехало. Компоненты с простой удобной настройкой подключения к серверу (в 2 шага ;) ) ... к вашему уникальному серверу, а также к Photon и SF в том числе! И оно будет намного востребованнее, чем то, что вы делаете сейчас. А главное есть все шансы довести до релиза! \m/

Для меня смысл этой темы в том, чтобы услышать идеи

Идея вить уже в вашей голове, только вы ее не замечаете!

Есть поддержка юнити.

В каком плане?
Аватара пользователя
Syberex
Адепт
 
Сообщения: 2292
Зарегистрирован: 14 янв 2011, 20:35
Откуда: Кострома
  • Сайт

Re: Сервер аля SmartFox. Ваши предложения

Сообщение gnoblin 25 фев 2012, 02:51

в существующих решениях есть компоненты "нацепил и начало синхронизироваться" :p (PUN, например)
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Сервер аля SmartFox. Ваши предложения

Сообщение gnoblin 25 фев 2012, 02:52

про то что можно занять какую-нибудь интересную нишу, в которой пока нету конкурентов это хорошо подмечено
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Сервер аля SmartFox. Ваши предложения

Сообщение VBProgr 25 фев 2012, 12:46

gnoblin писал(а):а в чем будут конкурентные преимущества по-сравнению с другими решениями для онлайна в играх?

Я надеюсь, эта тема поможет мне найти такую идею, которая дала бы мне это преимущество.

Вообще, изначально я делал сервер для своего проекта. Потому что мне не нравится встроенное сетевое решение, не подходит смартфокс (проще сделать самому как мне нужно, чем подстраиваться под его архитектуру), и вообще интересно заниматься такими вещами :) Сейчас я вижу, что меня это возможно увлекает гораздо больше, чем сам проект, для которого понадобился сервер.

И да, в этом проекте действительно крайне необходима бесшовная карта, о которой я говорил. Дело не в количество игроков, а в очень большой карте и юнитевской физике на серве. Игровые объекты перемещаются на большой скорости, так что те размеры карты, которые обычно используются, для этого проекта не подходят.

DDoS
Ууу. Вот это круто! А секрет не откроете? А вы точно имеете опыт? Видели как ложиться сервер под атакой? Есть опыт удачных защит?
Скажу вам честно, мой опыт небольшой, но он есть :)

Я не говорю, что это какая-то особая защита моего изобретения. Но такие вещи, как элементарное ограничение количества одновременно устанавливаемых подключений с одного адреса и т.п. не вызывают сомнений в технике реализации. Да, от атак на уровне протокола, когда есть куча полуоткрытых соединений это не спасет. Но для серьезной защиты есть как минимум фаерволы, а как максимум - отдельное физическое оборудование. То что сделал я просто не позволит какому-нибудь одиночке повесить сервер.

Мой вам совет, забыть про мега навороты, про оптимизацию, про UDP, DDoS защита и бесшовную карту ;)
И сделать простое удобное сетевое решение. А вместе с ним клиентское решение, как компоненты в Юнити, которые нацепил и поехало. Компоненты с простой удобной настройкой подключения к серверу (в 2 шага ;) ) ...
Как я уже говорил, изначально я делал сервер для себя. И мне не нужно "просто удобное решение". Мне нужна оптимизация, минимальный трафик, максимальная настраиваемость и гибкость. Эта одна из причин, по которой я не делаю сервер в виде обычного консольного приложения. Возможно я пересмотрю свое мнение насчет "универсальных компонентов", но это будет не более чем возможности, которые можно не использовать.

Идея вить уже в вашей голове, только вы ее не замечаете!
Н-да... последнее время я открываю исходники сервера - и не знаю, что мне делать дальше. Есть какие-то глобальные планы, но вот чтоб сейчас такого сделать - ничего конкретного. Видите, Вы меня уже убедили, что наравне с решениями для продвинутых мне стоит делать и менее оптимальные, но универсальные решения, которыми смогут пользоваться студии. Так что уже сейчас видно, что эта тема форума создана не зря)

Поддержка юнити пока только в том, что dll-ки серверного решения без проблем работают, если их поместить в папку Plugins :) Т.е. я использую тот функционал фреймворка, который поддерживает юнити.
skype: vbprogr
Добавить vbprogr в Skype
VBProgr
UNITрон
 
Сообщения: 319
Зарегистрирован: 24 сен 2011, 14:11

Re: Сервер аля SmartFox. Ваши предложения

Сообщение Syberex 25 фев 2012, 13:18

Я не говорю, что это какая-то особая защита моего изобретения. Но такие вещи, как элементарное ограничение количества одновременно устанавливаемых подключений с одного адреса и т.п. не вызывают сомнений в технике реализации.

Тогда называйте вещи своими именами! Это никакого отношения к DDoS не имеет (P)

Видите, Вы меня уже убедили, что наравне с решениями для продвинутых мне стоит делать и менее оптимальные, но универсальные решения, которыми смогут пользоваться студии. Так что уже сейчас видно, что эта тема форума создана не зря)

Рад, что хоть немного, но донес B-)

Поддержка юнити пока только в том, что dll-ки серверного решения без проблем работают, если их поместить в папку Plugins Т.е. я использую тот функционал фреймворка, который поддерживает юнити.

На основе Net или Mono?

Эта одна из причин, по которой я не делаю сервер в виде обычного консольного приложения.

А в виде чего же вы его делаете? Очень интересно!
Аватара пользователя
Syberex
Адепт
 
Сообщения: 2292
Зарегистрирован: 14 янв 2011, 20:35
Откуда: Кострома
  • Сайт

Re: Сервер аля SmartFox. Ваши предложения

Сообщение VBProgr 25 фев 2012, 13:46

Тип приложения определяет разработчик. Может консоль, может юнити, да что угодно... Он просто добавляет dll сервера и стартует его парой строчек. Разработчик может написать абсолютно любую оболочку сервера на .NET языке.

На основе .NET. Буду корректировать, чтобы под Mono тоже работало. Т.е. компилирую в Visual Studio. Возможно буду делать альтернативный вариант под моно, но пока делаю на .NET с учетом запуска под Mono и той части фреймворка, которую поддерживает юнити..

Сейчас думаю над названием для сервера. Пока что есть такой вариант: Flexible Game Server.
skype: vbprogr
Добавить vbprogr в Skype
VBProgr
UNITрон
 
Сообщения: 319
Зарегистрирован: 24 сен 2011, 14:11

Re: Сервер аля SmartFox. Ваши предложения

Сообщение Woolf 26 фев 2012, 03:55

gnoblin писал(а):в существующих решениях есть компоненты "нацепил и начало синхронизироваться" :p (PUN, например)


Извини конечно, но PUN для поделок, а не для серьёзных проектов. Более того, если вдруг PUN фотоновский ляжет, кто будет нести ответственность? Для примера - приведу себя - я подал на hetzner (у меня там были сервера) иск о потерянной прибыли из-за того, что у них был пожар в датацентре, из-за чего сутки не работали мои сервера, а когда запустили, оказалось, что база была вчерашняя. и я его выиграл, выплаты hetzner составили более 20 тыс евро. Кстати, я там больше сервера не держу, очень необязательные ребята на этом хостинге и пинг до них большой, хотя и недорого. Еще с хетзнером была проблема, им ПОКАЗАЛОСЬ, что мои сервера рассылают спам (они посчитали массрассылку писем зарегистрированным игрокам - спамом) и они вырубили мой сервер. Это вообще нормально? Час простоя - это более тысячи долларов, кто отвечать будет?
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

Re: Сервер аля SmartFox. Ваши предложения

Сообщение gnoblin 26 фев 2012, 05:29

Для некоторого круга проектов PUN подходит ок (серьезные это какие?).

+PUN можно хостить на своей выделенной машине если сильно хочется.
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

След.

Вернуться в Кузня

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3