我最近創建了一個簡短的多用戶地下城。我做的事情是遊戲的引擎和實際的MUD本身,所以當我點擊文件時,你可以玩MUD。我的問題是,我不知道如何連接它,以便多個玩家可以玩。你把它連接到服務器或其他東西?我不知道該怎麼做,因爲我是Python和MUD的新手。有些人可以通過舉例來幫助我解決代碼問題,以及如何連接並使這個遊戲運行起來。如何提供多個玩家連接到我的MUD的能力?
0
A
回答
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使用的裸骨架套接字處理架構,可能正是您所需要的。
相關問題
- 1. PHP如何連接兩個玩家
- 2. 當多於2個玩家時,多人等待室不顯示連接玩家
- 3. 我如何鏈接多個用戶提示以及回到提示的能力?
- 4. 如何爲玩家提供唯一的號碼
- 5. 我如何才能找到用戶提供連續的值
- 6. 如何測試連接表的能力?
- 7. 玩家多個網址
- 8. 多個JW Player玩家?
- 9. 我如何追蹤玩家的勝利?
- 10. 我如何檢查玩家1或玩家2是否贏了?
- 11. 如何使用Google遊戲服務獲取連接到Android遊戲的玩家?
- 12. Android遊戲的多個玩家
- 13. 如何計算每個玩家的最長連勝數
- 14. 如何提高多個連接的性能
- 15. 如何提高SQL查詢多個連接表的性能
- 16. 家園 - 連接到我的數據庫
- 17. 如何提供彈力= C#的統一
- 18. 我的GKMatch沒有玩家...?
- 19. 嘗試將玩家對象添加到我的會話中的玩家陣列
- 20. 網絡遊戲如何將玩家連接在一起?
- 21. 節點/套接字IO多玩家
- 22. 如何查看哪個玩家在我的連線四場比賽中移動?
- 23. jQuery jPlayer - 如何在玩一個新玩家前停止所有玩家?
- 24. 如何構建一個類似於YouTube功能的新玩家?
- 25. 從Java提供者實現到APNS的多重連接
- 26. 如何給連接到db的PHP代碼提供結構
- 27. 如何在Unity的新UNET中使用多個玩家預製?
- 28. 玩家有機會給每個玩家一套可能的卡牌
- 29. 如何提供CanCan「查看購買領域」的能力?
- 30. 如何提供使用TortoiseSVN進行代碼審查的能力?
這與前面兩個關閉的線程不一樣嗎? 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
祝你好運,它不應該是所有這些困難,特別是因爲你可以只是谷歌和找到一些例子。如果您有更具體的問題,我們很樂意提供幫助。 – extraneon 2010-04-16 09:29:29
wasatz我明白你說他們很相似,但我沒有寫出他們大聲笑 – jason 2010-04-16 09:32:04