Я разрабатываю сетевую игру, которая должна поддерживать тысячи (даже десятки тысяч) конечных пользователей.
* Клиентская часть основана на браузере.
* Серверный «движок» будет основан на XMPP с функциональными возможностями MUC.
* Игра состоит из множества сценариев (от десятков до сотен), в которых конечные пользователи (игроки) присоединяются, чтобы принять участие в этом сценарии.
* Каждый сценарий должен иметь уникального «бота», который контролирует поток. Например: игрок X произносит заклинание на игрока Y: бот получает «запрос на чтение заклинания» ДО остальной части комнаты, вычисляет результат и «уведомляет» остальных участников сценария о том, что сделано (игрок X уволен, игрок У ударил ...).
Мои вопросы:
1. Какой сервер XMPP лучше всего подходит для работы?
2. Какой язык на стороне сервера может поддерживать «обмен сообщениями» практически в реальном времени для ожидаемого количества игроков? (24/7, несколько «комнат» [сценариев], десятки тысяч конечных пользователей).
3. Если мы предположим, что каждый сценарий должен иметь возможность разместить до 100 пользователей, и что нам нужен бот, присутствующий в каждом сценарии, чтобы реагировать на действия игроков и «доставлять» их остальным участникам в этом сценарий, какой будет лучший подход:
A. Используйте MUC с ботом, созданным для каждой комнаты, присоединяясь как пользователь, или:
Б. Используйте PubSub или другие методы.