私は、リアルタイムではないマルチプレイヤーチャット/ゲームシステムのためのオープンソースのクロスプラットフォームプラットフォームを開発しています。カードゲーム、ボードゲーム、ターンベースのゲームなど、サーバーはサーバーサイドで生成されます(ユーザーのコンピュータからではありません)。クライアントは、これらのゲームモジュールを有しているか、またはゲームモジュールをダウンロードし、それらを実行する。非リアルタイムゲームのための良い非同期TCPベースのプロトコル?
私は最高のプロトコルが「IRCのような」ものであると結論づけました。チャットやゲームのチャンネルがあるように例えば
そこのチャンネル
- ロビー
- Lobby.English
- Lobby.Finnish
- Lobby.Mygame -
- ある特定のゲームのためにチャットLobby.Mygame.English
- Game.Server.Announcements - 新しいサーバーが作成されると、サーバーはここでこれを叫ぶ。すべてのクライアントがこれを聞いています。実行中のすべてのゲームサーバーのリストを取得できます。
- Game.3636534.chat - Spesificゲームチャット
- Game.3636534.game - ユーザーはここで購入Xのようにコマンドを送信し、サーバが彼らに
私は
-
に見てきたいくつかのものを応答しますかなり良いけど、もう少しRPCでなければなりません優しい
- のActiveMQ/RabbitMQのと - あなたは数秒ごとに新しいデータのために
- ICEをポーリングする必要があるため
- XMLRPCは無意味ですパブリッシャー/コンシューマーシステムは私が探しているものです。問題は、良いユーザーACLがないことです。だから基本的にみんなどこにでも行くことができ、メインのAMQサーバーにゴミを送ることができます。
サポートされているプログラミング言語は、少なくともC#、Java、Pythonである必要があります。暗号化サポートもそこにあるはずです。もちろん無料です。