Я занимаюсь разработкой кроссплатформенной платформы с открытым исходным кодом для многопользовательской системы чатов / игр не в реальном времени. Как и карточные игры, настольные игры, пошаговые игры и т. Д. Серверы создаются на стороне сервера (не с компьютера пользователя). Клиент имеет эти игровые модули или загружает игровой модуль, а затем запускает их.
Я пришел к выводу, что лучший протокол "IRC-подобен". Так что есть каналы для чатов и игр.
Например, есть каналы
- Лобби
- Lobby.English
- Лобби. Финский
- Lobby.Mygame - чат для одной конкретной игры
- Lobby.Mygame.English
- Game.Server.Announcements - Когда создается новый сервер, сервер выкрикивает его здесь. Все клиенты слушают это. Вы можете получить список всех запущенных игровых серверов.
- Game.3636534.chat - Специальный игровой чат
- Game.3636534.game - пользователи отправляют команды, такие как Buy X, и сервер отвечает на них
Некоторые вещи, которые я изучил
- XMLRPC не годится, потому что вам приходится запрашивать новые данные каждые несколько секунд
- ICE - Довольно хорошо, но должен быть более дружественным к RPC
- ActiveMQ / RabbitMQ и его система издателя / потребителя - это то, что я ищу. Проблема в том, что хороший пользовательский ACL отсутствует. Таким образом, в основном каждый может "пойти" куда угодно и отправить любой мусор на основной сервер AMQ.
Поддерживаемые языки программирования для этого должны быть как минимум C #, Java и Python. Поддержка шифрования должна быть также там. И конечно же бесплатно.