2010-04-16 9 views
0

J'ai récemment créé un donjon multi-utilisateur court et simple. Les choses que j'ai faites sont le moteur du jeu et le MUD lui-même, alors quand je clique sur le fichier, vous pouvez jouer le MUD. Le problème que j'ai, c'est que je ne sais pas comment le connecter pour que plus d'un joueur puisse jouer. Est-ce que vous le connectez à un serveur ou quelque chose? Je ne sais pas quoi faire comme je suis nouveau à Python et MUDs. Est-ce que certains peuvent m'aider en donnant quelques exemples pour m'aider avec le code et comment se connecter et faire fonctionner ce jeu?Comment puis-je permettre à plusieurs joueurs de se connecter à mon MUD?

+2

N'est-ce pas la même chose que ces deux fils fermés précédents? http://stackoverflow.com/questions/2621465/muti-user-dungeon-help-closed http://stackoverflow.com/questions/2623657/mud-server-in-python-closed – wasatz

+0

Je vous souhaite bonne chance, il ne devrait pas être si difficile, surtout que vous pouvez simplement google et trouver des exemples. Si vous avez une question plus spécifique, nous serons heureux de vous aider. – extraneon

+0

wasatz je comprends ce que vous dites ils sont assez similaires, mais je ne les ai pas écrire lol – jason

Répondre

1

Votre MUD doit être le serveur. D'abord, vous voulez vous assurer que votre moteur peut gérer plusieurs personnes changeant l'état du donjon en même temps.

Ensuite, regardez comment créer un serveur. Vous voulez probablement regarder la classe SocketServer, pour les MUD, vous voulez probablement l'une des sous-classes TCP.

Chaque utilisateur ouvre une connexion à votre serveur. Normalement, chaque connexion sera traitée par un processus ou un thread (consultez le ThreadingMixin). À l'intérieur de ce thread sera le code de l'interface utilisateur pour une connexion (lire une ligne de l'utilisateur, transmettre cela sur le moteur, imprimer les résultats à l'utilisateur).

Votre moteur tournera probablement dans un thread/processus séparé et conservera l'état du donjon (liste des pièces, utilisateurs, éléments).

Bonne chance!

+0

La méthode 'select' est une bonne alternative au threading: http://docs.python.org/library/select.html#select.select –

0

La chose habituelle est que votre code serveur MUD gère les connexions de socket et les connecte aux objets de lecteur interne via un analyseur de commande. Vous voudrez peut-être regarder SocketMUD; Il s'agit d'une architecture de gestion des sockets bare-bones destinée à l'utilisation MUD, et peut être exactement ce dont vous avez besoin.