2010-04-16 1 views
0

최근에 짧고 간단한 다중 사용자 지하 감옥을 만들었습니다. 내가 만든 것들은 게임 엔진과 실제 머드 자체입니다. 그래서 파일을 클릭하면 머드 게임을 할 수 있습니다. 내가 가진 문제는 둘 이상의 플레이어가 플레이 할 수 있도록 연결하는 방법을 모른다는 것입니다. 서버 또는 뭔가에 연결합니까? 필자는 파이썬과 머드에 익숙하지 않으므로 어떻게해야할지 모르겠다. 코드를 통해 나를 도울 수있는 몇 가지 예와이 게임을 연결하고 실행하는 방법을 통해 나를 도울 수 있습니까?여러 플레이어가 내 머드에 연결할 수있는 기능을 어떻게 제공합니까?

+2

이 두 이전에 닫힌 스레드와 동일하지 않습니까? http://stackoverflow.com/questions/2621465/muti-user-dungeon-help-closed http://stackoverflow.com/questions/2623657/mud-server-in-python-closed – wasatz

+0

나는 당신에게 행운이 있기를 바랄 뿐이다. 특히 그저 Google 만 할 수 있고 몇 가지 예를 찾을 수 있기 때문에 그다지 어려운 것은 아닙니다. 보다 구체적인 질문이 있으면 기꺼이 도와 드리겠습니다. – extraneon

+0

wasatz 나는 당신이 그들이 굉장히 비슷하다고 말하면서 이해하지만, 나는 그 (것)들을 쓰지 않았다 – jason

답변

1

귀하의 머드는 이어야합니다. 서버는이어야합니다.

먼저 엔진이 여러 사람이 동시에 던전 상태를 변경하는 것을 처리 할 수 ​​있는지 확인하고자합니다.

다음으로 서버를 만드는 방법을 살펴보십시오. SocketServer 클래스를보고 싶을 수도 있습니다. 머드의 경우 TCP 서브 클래스 중 하나를 원할 것입니다.

각 사용자가 서버에 대한 연결을 엽니 다. 일반적으로 각 연결은 프로세스 또는 스레드에 의해 처리됩니다 (ThreadingMixin 참조). 이 스레드 안에는 연결을위한 사용자 인터페이스 코드가 있습니다 (사용자로부터 한 줄을 읽은 다음 엔진에 전달하고 결과를 사용자에게 출력).

엔진이 별도의 스레드/프로세스로 실행되어 지하 감옥 상태 (객실, 사용자, 항목 목록)를 유지 관리 할 수 ​​있습니다.

행운을 빈다.

+0

'선택'메소드는 스레딩에 대한 좋은 대안입니다 : http://docs.python.org/library/select.html#select.select –

0

일반적으로 MUD 서버 코드는 소켓 연결을 처리하고 명령 파서를 통해 내부 플레이어 개체에 연결합니다. 너는 SocketMUD을보고 싶을지도 모르다; MUD 사용을위한 베어 본 소켓 핸들링 아키텍처이며, 필요한 것일 수도 있습니다.

관련 문제