Skip to main content

SwampyMud

Multi-user dungeons, or "MUDs" are text-based role-playing games, that naturally evolved from the text-based rpg and adventure games of the 1970s. This project aims to introduce a new generation—one that never experienced a world without broadband internet—to this classic game genre. While this code can be adapted for any setting, we intend to render our university in beautiful ASCII.

(Note: this project should be considered an alpha. Expect changes to the API.)

Requirements

Hosting

For hosting a server, Python 3 must be installed on the system (along with an appropriate internet connection.) For help with Python installation, visit https://www.python.org.

This project also requires the packages websockets (>= 8.1) and PyYAML (>=5.3.0).

Connecting

For connecting to an existing server, a simple telnet client is required. However, we recommend using a dedicated MUD client to avoid ugliness like this:

raw_telnet.png

There are many solid MUD clients available. We have been using Mudlet, a completely free and open source MUD client. Here's the same scenario, in Mudlet:

mudlet_client.png

You can now connect to a swampymud in your browser using a websocket. More on this later...

Getting Started

Hosting

I recommend installing this package using pip:

pip3 install swampymud

Alternatively, if you want to install from source, you can clone this repo and install the requirements with pip3 install -r requirements.txt.

Either way, you can launch a Swampy MUD server right away like so:

python3 -m swampymud

By default, this will start a WebSocket server on port 9000. If you want to specify a different port (e.g. 4000), you can run

python3 -m swampymud --ws 4000

To start a plain TCP server instead of a WebSocket server, use the --tcp flag.

python3 -m swampymud --tcp 8333

Why not both? You can provide both the --ws and --tcp arguments to start both a WebSocket server and a TCP server.

# this will start a WebSocket server on port 1234
# AND a plain TCP server on port 5678
python3 -m swampymud --ws 1234 --tcp 5678

For a full list of options, run python3 -m swampymud --help.

If you are hosting a server for other people to connect, you will need to port foward your router. When you port forward, select the TCP protocol and direct traffic towards whatever port the server is listening on.

Connecting

with a Raw Telnet Client

If you want to use an ugly, raw telent client, you can use the following terminal command on *nix systems:

# telnet <ip address> <port>
# if you started a server with the default settings:
telnet localhost 9000

On Windows, a telnet client is not provided by default. One option is to follow this guide to enable the Windows telnet client.

Alternatively, you can install PuTTY, a free and open source telnet and ssh client.

with Mudlet

  1. Run Mudlet. You will be prompted to "Select a profile to connect with".
  2. You must enter a set of required fields:
    • For "Profile name", put whatever you prefer.
    • For "Server address", put the address of the server.
    • For "Port", put the port of the server.
  3. Once all the fields are entered, simply press "connect".
  4. Have fun!
  5. When you exit Mudlet, you will be asked if you want to save the profile. Select "Yes", and simply load the profile next time you play.

Contributing

Please read CONTRIBUTING.md for how to work on the project.

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

Metadata

Release files for swampymud 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for swampymud 0.2.0
File Size Uploaded Provenance Actions
swampymud-0.2.0.tar.gz 91.6 kB Without provenance Details for swampymud-0.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for swampymud 0.2.0
File Interpreter ABI Platform Actions
swampymud-0.2.0-py3-none-any.whl Python 3 none any Details for swampymud-0.2.0-py3-none-any.whl

Total release size: 193.9 kB

Release files / swampymud-0.2.0.tar.gz

Download URL swampymud-0.2.0.tar.gz
Size 91.6 kB
Tags Source
SHA-256 checksum
How to use checksums
6ade2f9d8ec9174d81319e433213cad0e147873121ffa36f8954e884fdbbbb59
BLAKE2b-256 checksum
How to use checksums
fb4f235c5413862016c3fb57cfd1821583fed085cbea2f87a4d3ef65dc18e63e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.1.1 requests-toolbelt/0.9.1 tqdm/4.55.1 CPython/3.9.0

Release files / swampymud-0.2.0-py3-none-any.whl

Download URL swampymud-0.2.0-py3-none-any.whl
Size 102.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0319a246285f49f2277f2f4d9a080f6b69654e692feda8342af9a34e8d7b036e
BLAKE2b-256 checksum
How to use checksums
96ee36018bbd6eb19cd8eb50add75773d20f094794f0f09bbd9344eb8554e8ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.1.1 requests-toolbelt/0.9.1 tqdm/4.55.1 CPython/3.9.0

Security for swampymud 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page