djangomud


A simple MUD server using the Django framework

The Django framework is a application framework to create web applications. It also contains a very good database ORM and a pretty good template engine.

The DjangoMUD project is using the django framework, most of all the database ORM, to create a MUD server. However, since the MUD server already have a complete web-framework at its disposal, there will also be a web portal for mostly administrative work.

For the network handling and main eventloop, the Twisted framework is used.

Instead of using the template engine already in django, the server will use the Jinja2 template engine, as it is slightly more powerfull.

The main purpose of DjangoMUD is for the creator to train his skills in both Python and the frameworks involved. Also, he is quite fond of making MUD servers, and considers that one of his hobbies. :-)

Status: The server currently runs, it can handle multiple connections, and simple receiving from/sending to connected users.

Instructions

Most input from a user is echoed back at him or her, and there are two commands for the user to logout ('quit') and to shutdown the server ('shutdown').

To start the server, go to the djangomud root directory in a command line window, and type 'python ./manager.py runmudserver'. To shutdown the server, either connect with telnet to localhost port 3000 and use the 'shutdown' command, or press CTRL-C in the command line window.

Installation

Installation of the actual MUD server is very simple at the moment, just fetch the source with Mercurial (hg clone https://djangomud.googlecode.com/hg/ djangomud) and you are done.

In a UNIX or UNIX-like environment (like BSD or Linux) the frameworks can easiest be installed with the easy_install command from the setuptools package. How to do it can be found in the help for your specific distribution. After installing setuptools, install the frameworks with the following command: 'sudo easy_install django Twisted jinja2'.

It should also be noted that the server currently is set up to use PostgrSQL, but can use any django-supported database.

Project Information

Labels:
Python Django twisted Jinja2 MUD Networking Server