
5 сокет-серверов для мультиплеерных флеш-проектов. Краткий обзор
Вернулся с сегодняшней пермской Russian Adobe Flash Platform User Group в которой было много интересного про платформу Альтернативы. Но думаю они сами расскажут все в ближайшее время. А сейчас про альтернативы. В последнее время гуглил тему флеша и мультиплеерность, устанавливал нагугленное, а также самое интересное — рылся в примерах и документации.
В обзор попали: ElectroServer 4.0.6, SmartFoxServer 1.6.6, Player.IO, Photon и UnionPlatform 1.0 Alpha7
Делюсь результатом:
Адрес сайта: http://electro-server.com/
Адрес сайта: http://smartfoxserver.com/
Адрес сайта: http://playerio.com/
Адрес сайта: http://photon.exitgames.com/
Адрес сайта: http://www.unionplatform.com/
Бонус трек:
Blossom Server
Увидел сегодня, пока не смотрел. Судя по всему это ретранслятор сообщений между клиентами. Fast, free, and easy. Последние новости от прошлого года, документация только на клиентскую часть.
Адрес сайта: http://blossom-server.com/
Выводы:
Комната (Room) — объединение игроков. Игроки получают сообщения от других игроков комнаты.
Игровая зона (Zone) — объединение комнат, по сути вся игра.
Контроль игровой зоны и комнат со стороны сервера означает возможность создания на решении не только игр-комнат, но и ММО-игры, где есть NPC и монстры, игровые события, список друзей, зоны видимости игроков и т.п.
В обзор попали: ElectroServer 4.0.6, SmartFoxServer 1.6.6, Player.IO, Photon и UnionPlatform 1.0 Alpha7
Делюсь результатом:
ElectroServer 4.0.6
Клиентская часть на AS3.Адрес сайта: http://electro-server.com/
- Триал-версия: 25 игроков одновременно в онлайне (далее ccu) — бесплатно. Следующая версия от $700 за 500 ccu.
- Документация: примеры (мало), описание технологии — ок, описание API есть, без примеров вызовов
- Серверные скрипты: java
- Протокол: бинарный (меньше трафика чем xml или json, соответственно работает быстрее и с претензией на realtime). В версии ES5 протокол еще ужат и улучшен. К сожалению 5-ю версию для ознакомления не скачать. Ее выдают купившим 4-ю.
- Контроль игровой зоны и комнат. Полный доступ со стороны сервера.
- Админка: через веб
SmartFoxServer 1.6.6
Клиентская часть на AS2, AS3. Наверное самый популярный сервер. Две версии: Бейсик и Про. Основное отличие в серверных скриптах: Бейсик работает только как ретранслятор сообщений в игровой комнате, что является дырой в безопасности логики игры. Далее рассматривается версия Про.Адрес сайта: http://smartfoxserver.com/
- Триал-версия: 20 ccu — бесплатно. Следующая версия от 500 Евро за 100 ccu, 1000 Евро за 500 ccu, 2000 Евро за анлим.
- Документация: примеры, описание технологии — ок, туториалы, описание API. Много устаревших примеров с кодом в кадрах и даже на кнопках вроде on(Release).
- Серверные скрипты: java, as1, python
- Протокол: текстовый xml или json. В следующей версии обещают бинарный.
- Контроль игровой зоны и комнат. Полный доступ со стороны сервера.
- Админка: swf
Player.IO
Клиентская часть на AS3. Наверное самый «быстростартуемый» сервис для тех, кто хочет попробовать создать мультиплеерную игру. Не случайно написал сервис — эти ребята предлагают услуги хостинга своего сервера в производительном датацентре. Разработчику дается локальная версия, отрабатывающая только серверную логику, но не коннект пользователя к серверу. Таким образом игра привязана к ихнему серверу. Это одновременно и плюс и минус.Адрес сайта: http://playerio.com/
- Триал-версия: 500 ccu — бесплатно в рамках 20 Гигабайт трафика (в обе стороны). $25/месяц за 5000 ccu и 100Гбайт трафика (с последующими $0.6 за Гигабайт) .
- Документация: примеры, описание технологии, туториал, описание API с примерами вызовов функций.
- Серверные скрипты: C#
- Протокол: бинарный
- Контроль только игровой комнаты. Комнаты создаются клиентом (на сервере при этом создается instance серверного скрипта). Серверная часть игры ничего не знает о других комнатах и игроках в них. Взаимодействие комнат возможно только через базу данных (встроенную в сервис или внешнюю на вашем ресурсе).
- Админка: встроенная в сервис. Хороший «дебаг» комнат у девелоп-сервера.
Photon
Мощное мультиплатформенное решение для ММО и FPS с поддержкой не только TCP, но и «рилтаймого» UDP протокола. Единственный в обзоре сервер написанный на C++ и очевидно самый быстрый в работе. Серверные примеры снабжены Unit-тестами. В комплекте идет остов MMO-проекта для Unity3d и .NET. Однако нас интересует флеш. А с ним не все так весело. Итак, клиентская часть на AS3.Адрес сайта: http://photon.exitgames.com/
- Триал-версия: 50 ccu — бесплатно. Для инди-разработчиков предлагаются дешевые лицензии $100 за 100 ccu, $450 за 500 ccu. Для крупных компаний цены другие.
- Документация: два примера (чат и рисовалка), описание технологии, описание API. Базовая комплектация сервера минимальна: только обмен сообщениями и контроль клиентов и комнат. В Примерах серверной части есть расширения Lite и Lobby представляющие более функциональные остовы для игр.
- Серверные скрипты: C#
- Протокол: бинарный
- Контроль игровой зоны и комнат. Полный доступ со стороны сервера. Возможность задавать видимость клиентами-игроками друг друга, таким образом ограничивая рассылку ненужных конкретному клиенту сообщений.
- Админка: расширение системного счетчика ресурсов, dashboard (что там показывается увидеть не удалось, для запуска требует установки MS Message Queues)
- Сервис Neutron MMO Server, это расширенная редакция Фотона на ихнем хостинге с плюшками, поддержкой, админкой. Начинается от $100 за 50 ccu per application.
UnionPlatform 1.0 Alpha 7 версия
Пока бесплатная альфа, с вытекающим отсюда следствием: вы не платите потому что тестируете :) Будущее также не ясно: очень мало упоминаний в интернете, нет примеров, что понятно. Клиентская часть на AS3.Адрес сайта: http://www.unionplatform.com/
- Триал-версия: пока никаких ограничений нет, в будущем обещают конкурентные цены.
- Документация: примеры, описание технологии, описание API с примерами вызовов функций. Туториалы. Все достаточно понятно. Видимо их писал один из авторов сервера, знакомый нам по книжкам, — Колин Мук.
- Серверные скрипты: java либо любой из списка https://scripting.dev.java.net/
- Протокол: xml упакованный в собственный формат Procedure Call (UPC) protocol
- Контроль игровой зоны и комнат. Полный доступ со стороны сервера.
- Админка: swf, похожа на SmartFoxServer
Бонус трек:
Blossom Server
Увидел сегодня, пока не смотрел. Судя по всему это ретранслятор сообщений между клиентами. Fast, free, and easy. Последние новости от прошлого года, документация только на клиентскую часть.
Адрес сайта: http://blossom-server.com/
Выводы:
- Есть из чего выбрать :)
- Закрытость платформы отпугивает
- SmartFoxServer знают все, забавны упоминания этого сервера на форумах поддержки разработчиков других серверов.
- E-S конкурирует с SFS на равных.
- Union очень интересный и понятный, жаль альфа.
- Player.IO хорош для старта, а опытным разработчикам скорее всего понравится полный контроль всего и вся, что дает Photon.
Комната (Room) — объединение игроков. Игроки получают сообщения от других игроков комнаты.
Игровая зона (Zone) — объединение комнат, по сути вся игра.
Контроль игровой зоны и комнат со стороны сервера означает возможность создания на решении не только игр-комнат, но и ММО-игры, где есть NPC и монстры, игровые события, список друзей, зоны видимости игроков и т.п.
- +22
- Dragosha
Комментарии (14)
из перечисленных плотно работал только со SmartFox.
в принципе мульти-игры на сокетах можно строить и на таких решениях как FMS или Red5, хотя у них нет уже готовых фич, заточенных именно под игры, типа Комнат, и надо их писать самому. на FMS это делать не сложно, там на сервере небольшое простое API на неком варианте AS2. с Red5 не работал серьезно, знаю только что сам он и его серверная часть на Java и в его случае второй из твоих выводов снимается — он открыт и бесплатен.
Ещё любителям открытости и бесплатности, особенно тем чей «градус гиковости» очень высок ;), наверное можно смотреть на серверные решения на основе haXe, вариантов коих немало, но там совсем много придется разбирать/писать самому. Например, можно взять за основу сервер haXeVideo (кода там совсем немного) и попытаться наваять на его основе нечто типа FMS или чего-то из перечисленного, добавляя нужные фичи. такие попытки уже делались, но к сожалению известные мне давно заглохли (либо прекратилась их открытая публикация). пример — haxemedia, заброшен уже более 2-х лет назад.
haxe тоже посмотрел, скачал и запустил пример простого чата. Нашел книжку про haxe. Интересно, но… С другой стороны mybrute работают же :)
из вышеперечисленного я правда знаком только c Player.IO и как по мне, сервис суперский. не нужно беспокоиться о серверах и расширяемости. и это за $25 в месяц за 500 ccu (электросервер при этом стоит $700 единоразово, а смартфокс — $1300). по-моему для независимых разработчиков — самое оно. интересно услышать аргументы тех, кто считает наоборот.
кроме «стоимости вхождения» подкупила понятная документация и простой api
пишешь с мобильного или из другой страны? ;)
P.S. Рафпуг однозначно удался!
p.s. ага )