2010-04-16 55 views
0

我最近創建了一個簡短的多用戶地下城。我做的事情是遊戲的引擎和實際的MUD本身,所以當我點擊文件時,你可以玩MUD。我的問題是,我不知道如何連接它,以便多個玩家可以玩。你把它連接到服務器或其他東西?我不知道該怎麼做,因爲我是Python和MUD的新手。有些人可以通過舉例來幫助我解決代碼問題,以及如何連接並使這個遊戲運行起來。如何提供多個玩家連接到我的MUD的能力?

+2

這與前面兩個關閉的線程不一樣嗎? http://stackoverflow.com/questions/2621465/muti-user-dungeon-help-closed http://stackoverflow.com/questions/2623657/mud-server-in-python-closed – wasatz 2010-04-16 09:26:14

+0

祝你好運,它不應該是所有這些困難,特別是因爲你可以只是谷歌和找到一些例子。如果您有更具體的問題,我們很樂意提供幫助。 – extraneon 2010-04-16 09:29:29

+0

wasatz我明白你說他們很相似,但我沒有寫出他們大聲笑 – jason 2010-04-16 09:32:04

回答

1

你的MUD應該服務器。

首先,您要確保您的引擎可以同時處理多個人更改地下城狀態。

接下來,看看如何創建一個服務器。您可能想看看SocketServer類,對於您可能需要其中一個TCP子類的MUD。

每個用戶將打開一個連接到您的服務器。通常,每個連接將由一個進程或一個線程來處理(檢查出ThreadingMixin)。在該線程內部將是連接的用戶界面代碼(從用戶讀取一行,將其傳遞到引擎,將結果打印到用戶)。

您的引擎可能會在單獨的線程/進程中運行並維護地下城狀態(房間列表,用戶,項目)。

祝你好運!

+0

'select'方法是線程的一個很好的選擇:http://docs.python.org/library/select.html#select.select – 2011-02-04 04:22:22

0

通常情況下,您的MUD服務器代碼處理套接字連接並通過命令解析器將它們連接到內部播放器對象。你可能想看看SocketMUD;它是一個用於MUD使用的裸骨架套接字處理架構,可能正是您所需要的。

相關問題