Как предоставить возможность нескольким игрокам подключаться к моему MUD?

Недавно я создал короткое и простое многопользовательское подземелье. То, что я сделал, — это движок игры и сам MUD, поэтому, когда я нажимаю на файл, вы можете играть в MUD. У меня проблема в том, что я не знаю, как его подключить, чтобы могли играть более одного игрока. Вы подключаете его к серверу или как? Я не знаю, что делать, так как я новичок в Python и MUD. Может ли кто-нибудь помочь мне, приведя несколько примеров, чтобы помочь мне с кодом и как подключиться и запустить эту игру?


person jason    schedule 16.04.2010    source источник
comment
Разве это не то же самое, что и эти две ранее закрытые темы? stackoverflow.com/questions/2621465/ stackoverflow.com/questions/2623657/mud-server-in- Python-закрыто   -  person wasatz    schedule 16.04.2010
comment
Желаю вам удачи, это не должно быть так уж сложно, тем более, что вы можете просто погуглить и найти несколько примеров. Если у вас есть более конкретный вопрос, мы будем рады помочь.   -  person extraneon    schedule 16.04.2010
comment
wasatz, я понимаю, что вы говорите, они очень похожи, но я их не писал, лол   -  person jason    schedule 16.04.2010
comment
Когда твоя домашняя работа должна быть сдана? Просто спрашиваю, чтобы узнать, когда вы перестанете засорять Stack Overflow всеми этими вопросами.   -  person Vicky    schedule 16.04.2010
comment
@jason А, тогда извини, просто чувствовал себя так близко :)   -  person wasatz    schedule 16.04.2010
comment
вики, загрязнение, если людям нужна помощь по определенным предметам, то я бы не назвал это загрязнением, и как я загрязняю, я только что задал один вопрос, черт возьми, бог знает, что бы вы сделали с загрязнением в мире.   -  person jason    schedule 16.04.2010
comment
@jason Если вы не тот же человек, ваш английский стиль (если мы можем его так назвать) очень похож на его.   -  person    schedule 16.04.2010
comment
Нейл читал вопросы мудмана, я не думаю, что ничего похожего, кроме его или ее вопросов, похоже на мой, почему все сравнивают меня с кем-то другим, что я сделал не так, просто задал вопрос, разве два человека не задают один и тот же вопрос на веб-сайте, так что ты делаешь из себя близнецов или что-то в этом роде, это действительно оскорбительно, я ищу здесь помощи, и я очень переживаю из-за того, что меня сравнивают с кем-то другим, я думал, что это место, где люди могут получить помощь, но кто знал, что Кламбо проводит свое расследование здесь, решите кто кто а кто нет   -  person jason    schedule 16.04.2010


Ответы (2)


Ваш MUD должен быть сервером.

Во-первых, вы хотите убедиться, что ваш движок может обрабатывать несколько человек, изменяющих состояние подземелья одновременно.

Далее рассмотрим, как создать сервер. Вы, вероятно, захотите взглянуть на класс SocketServer, для MUD вам, вероятно, понадобится один из Подклассы TCP.

Каждый пользователь будет открывать соединение с вашим сервером. Обычно каждое соединение обрабатывается либо процессом, либо потоком (см. ThreadingMixin). Внутри этого потока будет код пользовательского интерфейса для соединения (прочитайте строку от пользователя, передайте ее в движок, распечатайте результаты пользователю).

Ваш движок, вероятно, будет работать в отдельном потоке/процессе и поддерживать состояние подземелья (список комнат, пользователей, предметов).

Удачи!

person Daren Thomas    schedule 16.04.2010
comment
Метод select является хорошей альтернативой многопоточности: docs.python.org/library/select .html#select.select - person Pedro Matiello; 04.02.2011

Обычно код вашего сервера MUD обрабатывает соединения сокетов и соединяет их с внутренними объектами игрока через анализатор команд. Вы можете посмотреть на SocketMUD; это простая архитектура обработки сокетов, предназначенная для использования в MUD, и может быть именно тем, что вам нужно.

person chaos    schedule 02.02.2011