2009-02-27 7 views
2

Je développe une plate-forme multiplateforme open source pour un système de chat/jeu multijoueur non temps réel. Comme les jeux de cartes, les jeux de société, les tours par tour, etc. Les serveurs sont générés côté serveur (pas sur l'ordinateur des utilisateurs). Le client a ces modules de jeu ou module de jeu de téléchargements, puis les exécute. Je suis arrivé à la conclusion que le meilleur protocole est "semblable à IRC". Alors qu'il y a des canaux pour les chats et les jeux.Bon protocole basé sur TCP asynchrone pour les jeux non-temps réel?

Par exemple les canaux de là

  • Lobby
  • Lobby.English
  • Lobby.Finnish
  • Lobby.Mygame - chat un jeu particulier
  • de Lobby.Mygame.English
  • Game.Server.Announcements - Lorsque le nouveau serveur est créé, le serveur le crie ici. Tous les clients écoutent cela. Vous pouvez obtenir la liste de tous les serveurs de jeu en cours d'exécution.
  • Game.3636534.chat - Jeu spesific le chat
  • Game.3636534.game - Les utilisateurs d'envoyer des commandes comme X Acheter ici et serveur répond à leur

Certaines choses que je l'ai regardé dans

  • XMLRPC est pas bon parce que vous devez interroger pour de nouvelles données toutes les quelques secondes
  • ICE - Très bon mais devrait être un peu plus RPC amicale
  • ActiveMQ/RabbitMQ et c'est le système d'éditeur/consommateur est quelque chose que je cherche. Le problème est que la bonne ACL de l'utilisateur est manquante. Donc, fondamentalement, tout le monde peut "aller" partout et envoyer des ordures au serveur principal AMQ.

Les langages de programmation supportés pour cela devraient être au moins C#, Java et Python. Le support de cryptage devrait également être là. Et bien sûr gratuit.

Répondre

2

Vous devriez regarder dans XMPP qui est un standard ouvert pour le passage de message asynchrone. Il a un support pour le cryptage, la traversée de pare-feu et bien d'autres choses. Les serveurs et les bibliothèques sont disponibles pour de nombreuses plates-formes, y compris celles que vous mentionnez.

Liens vers les implémentations et informations: http://xmpp.org/

Questions connexes