2009-02-27 23 views
2

Gerçek zamanlı çok oyunculu sohbet/oyun sistemi için açık kaynaklı platformlar arası platform geliştiriyorum. Kart oyunları, boardgames, turn-based, vb. Gibi Sunucular sunucu tarafı (kullanıcı bilgisayarından değil) oluşturulur. İstemci bu oyun modülleri veya indirmeler oyun modülüne sahiptir ve daha sonra bunları çalıştırır.Gerçek zamanlı olmayan oyunlar için iyi eşzamansız TCP tabanlı protokol?

En iyi protokolün "IRC benzeri" olduğu sonucuna vardım. Böylece sohbetler ve oyunlar için kanallar var. Örneğin

orada en kanallar

  • Lobi
  • Lobby.English
  • Lobby.Mygame Lobby.Finnish - belirli bir oyun
  • Lobby.Mygame.English
  • sohbet Game.Server.Announcements - Yeni sunucu oluşturulduğunda sunucu burada bağırır. Bütün müşteriler bunu dinliyor. Çalışan tüm oyun sunucularının listesini alabilirsiniz.
  • Game.3636534.chat - Spesifik oyun sohbet
  • Game.3636534.game - Kullanıcılar satın burada X ve sunucu gibi komutlar göndermek onları

i

    içine baktım Bazı şeyler yanıt Eğer her birkaç saniyede yeni veriler için
  • ICE yoklamak zorunda çünkü
  • XMLRPC iyi değil - Oldukça iyi ama samimi biraz daha RPC olmalıdır
  • ActiveMQ/RabbitMQ ve Bu yayıncı/tüketici sistemi, aradığım bir şey. Sorun şu ki, iyi bir kullanıcı ACL eksik. Yani temelde herkes her yere "gidebilir" ve ana AMQ sunucusuna çöp yollayabilir.

Bunun için desteklenen programlama dilleri en az C#, Java ve Python olmalıdır. Şifreleme desteği de orada olmalıdır. Ve elbette özgür.

cevap

2

Asenkron ileti iletimi için açık bir standart olan XMPP'ye bakmalısınız. Şifreleme, güvenlik duvarı geçişi ve daha fazlası için desteğe sahiptir. Sunucular ve kütüphaneler, bahsettiklerinizin de dahil olduğu birçok platform için kullanılabilir.

Uygulamalara bağlantılar ve bilgiler: http://xmpp.org/

İlgili konular