All Projects → Frimkron → Mud Pi

Frimkron / Mud Pi

Licence: mit
A simple MUD server in Python, for teaching purposes, which could be run on a Raspberry Pi

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Mud Pi

start-machine-learning
A complete guide to start and improve in machine learning (ML), artificial intelligence (AI) in 2022 without ANY background in the field and stay up-to-date with the latest news and state-of-the-art techniques!
Stars: ✭ 3,066 (+1566.3%)
Mutual labels:  learning-python, learn-to-code
Awesome Cn
超赞列表合集
Stars: ✭ 449 (+144.02%)
Mutual labels:  learn-to-code, learning-python
python-tutorial-codes
Python 🐍 Tutorials
Stars: ✭ 23 (-87.5%)
Mutual labels:  learning-python, learn-to-code
Ultimate Python
Ultimate Python study guide for newcomers and professionals alike. 🐍 🐍 🐍
Stars: ✭ 3,309 (+1698.37%)
Mutual labels:  learn-to-code, learning-python
Pi romulus
Retropie ROM downloader - for on your Retropie
Stars: ✭ 28 (-84.78%)
Mutual labels:  game, raspberry-pi
Udacity-programming-for-Data-Science-With-Python-Nanodegree
This reprositry contain all the codes of Udacity programming for data science course
Stars: ✭ 22 (-88.04%)
Mutual labels:  learning-python, learn-to-code
Start Machine Learning In 2020
A complete guide to start and improve in machine learning (ML), artificial intelligence (AI) in 2021 without ANY background in the field and stay up-to-date with the latest news and state-of-the-art techniques!
Stars: ✭ 357 (+94.02%)
Mutual labels:  learn-to-code, learning-python
Python Awesome
Learn Python, Easy to learn, Awesome
Stars: ✭ 219 (+19.02%)
Mutual labels:  learn-to-code, learning-python
Notebooks
Learn Python for free using open-source notebooks in Hebrew.
Stars: ✭ 877 (+376.63%)
Mutual labels:  learn-to-code, learning-python
Numerical Computing Is Fun
Learning numerical computing with notebooks for all ages.
Stars: ✭ 730 (+296.74%)
Mutual labels:  learn-to-code, learning-python
Python Tutorial
A Python 3 programming tutorial for beginners.
Stars: ✭ 647 (+251.63%)
Mutual labels:  learn-to-code, learning-python
Endbasic
BASIC environment with a REPL, a web interface, and RPi support written in Rust
Stars: ✭ 106 (-42.39%)
Mutual labels:  raspberry-pi, learn-to-code
Q3lite
Q3lite, an OpenGL ES port of Quake III Arena for embedded Linux systems.
Stars: ✭ 64 (-65.22%)
Mutual labels:  game, raspberry-pi
Developer Handbook
An opinionated guide on how to become a professional Web/Mobile App Developer.
Stars: ✭ 1,830 (+894.57%)
Mutual labels:  learn-to-code, learning-python
Winter
2020上半年超长寒假呆家学习了半年C语言(大一下)的时候写的一些小游戏/小程序,那时候觉得用C从零开始模拟一些东西挺有趣,就没有参考其他教程或者游戏,通过自己思考用基础语法写出了这些写代码,规范性只能说是相当于我大一的标准,欢迎分享,学习和交流
Stars: ✭ 181 (-1.63%)
Mutual labels:  game
Expo Phaser
Build awesome 2D games with Phaser.js and Expo
Stars: ✭ 182 (-1.09%)
Mutual labels:  game
Piwheels
Python package repository providing wheels (pre-built binaries) for Raspberry Pi
Stars: ✭ 180 (-2.17%)
Mutual labels:  raspberry-pi
Siricontrol System
Control anything with Siri voice commands.
Stars: ✭ 180 (-2.17%)
Mutual labels:  raspberry-pi
Snake Game
Terminal-based Snake game
Stars: ✭ 183 (-0.54%)
Mutual labels:  game
Fluttergames
Flutter app for purchasing and renting games.
Stars: ✭ 182 (-1.09%)
Mutual labels:  game

MUD Pi

A simple text-based Multi-User Dungeon (MUD) game, which could be run on a Raspberry Pi or other low-end server.

Requirements

You will need to install Python (2.7+ or 3.3+) where you wish to run the server. Installers for Windows and Mac can be found at http://www.python.org/download/. There are also tarballs for Linux, although the best way to install on Linux would be via the package manager.

To allow players to connect remotely, the server will also need to be connected to the internet.

To connect to the server you will need a telnet client. On Mac, Linux, and versions of Windows prior to Windows Vista, the telnet client is usually installed by default. For Windows Vista, 7, 8 or later, you may need to follow this guide to install it.

Running the Server

On Windows

Double click on simplemud.py - the file will be opened with the Python interpreter. To stop the server, simply close the terminal window.

On Mac OSX and Linux (including Raspberry Pi)

From the terminal, change to the directory containing the script and run

python simplemud.py

Note, if you are connected to the machine via SSH, you will find that the script stops running when you quit the SSH session. A simple way to leave the script running is to use a tool called screen. Connect via SSH as usual then run screen. You will enter what looks like a normal shell prompt, but now you can start the python script running and hit ctl+a followed by d to leave screen running in the background. The next time you connect, you can re-attach to your screen session using screen -r. Alternatively you could create a daemon script to run the script in the background every time the server starts.

Connecting to the Server

If the server is running behind a NAT such as a home router, you will need to set up port 1234 to be forwarded to the machine running the server. See your router's instructions for how to set this up. There are a large number of setup guides for different models of router here: http://portforward.com/english/routers/port_forwarding/

You will need to know the external IP address of the machine running the server. This can be discovered by visiting http://www.whatsmyip.org from that machine.

To connect to the server, open your operating system's terminal or command prompt and start the telnet client by running:

telnet <ip address> 1234

where <ip address> is the external IP address of the server, as described above. 1234 is the port number that the server listens on.

If you are using Windows Vista, 7, 8 or later and get the message:

'telnet' is not recognized as an internal or external command, operable
program or batch file.

then follow this guide to install the Windows telnet client.

If all goes well, you should be presented with the message

What is your name?

To quit the telnet client, press ctl + ] to go to the prompt, and then type quit.

What is Telnet?

Telnet is simple text-based network communication protocol that was invented in 1969 and has since been superseded by other, more secure protocols. It does remain popular for a few specialised uses however, MUD games being one of these uses. A long (and boring) history of the telnet protocol can be found here: http://www.cs.utexas.edu/users/chris/think/ARPANET/Telnet/Telnet.shtml

What is a MUD?

MUD is short for Multi-User Dungeon. A MUD is a text-based online role-playing game. MUDs were popular in the early 80s and were the precursor to the graphical Massively-Multiplayer Online Role-Playing Games we have today, like World of Warcraft. http://www.mudconnect.com is a great site for learning more about MUDs.

Extending the Game

MUD Pi is a free and open source project (that's free as in freedom). This means that the source code is included and you are free to read it, copy it, extend it and use it as a starting point for your own MUD game or any other project. See licence.md for more info.

MUD Pi was written in the Python programming language. If you have never used Python before, or are new to programming in general, why not try an online tutorial, such as http://www.learnpython.org/.

There are 2 source files in the project. mudserver.py is a module containing the MudServer class - a basic server script which handles player connections and sending and receiving messages. simplemud.py is an example game using MudServer, with player chat and rooms to move between.

The best place to start tweaking the game would be to have a look at simplemud.py. Why not try adding more rooms to the game world? You'll find more ideas for things to try in the source code itself.

Of course if you're feeling more adventurous you could take a look at the slightly more advanced networking code in mudserver.py.

MUD-Pi-Based Projects

Here are some of the cool projects people have made from MUD-Pi:

  • ESP8266 MUD by Barry Ruffner - a MUD that runs entirely within an ESP8266 microchip, using MicroPython
  • MuddySwamp by the University of Florida Open Source Club - a UF-themed MUD
  • Dumserver by Bartek Radwanski - a feature-rich MUD engine

Author

MUD Pi was written by Mark Frimston

For feedback, please email [email protected] or add a comment on the project's Github page

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].