Python MUD/MUX/MUSH/MU* development system http://www.evennia.com
Find a file
Michael King d017ff0d39 * Added cmd_page. I think I'm running into SQLite problems, as when the command runs, it simply dumps the session.
I tried to test this on MySQL, but I can't get syncdb to work, either. (tsalaroth mking@arikel.net)
2007-04-26 23:35:37 +00:00
apps Remove get_ansiname() by condensing functionality into get_name(). Removed session debug statements I had in for testing. 2007-04-26 20:32:56 +00:00
doxygen Finalizing layout. 2007-04-03 13:43:49 +00:00
__init__.py Re-organization. 2007-04-03 13:42:51 +00:00
ABOUT Re-organization. 2007-04-03 13:42:51 +00:00
ansi.py Re-organization. 2007-04-03 13:42:51 +00:00
cmdhandler.py Re-organization. 2007-04-03 13:42:51 +00:00
commands_general.py * Added cmd_page. I think I'm running into SQLite problems, as when the command runs, it simply dumps the session. 2007-04-26 23:35:37 +00:00
commands_privileged.py Remove get_ansiname() by condensing functionality into get_name(). Removed session debug statements I had in for testing. 2007-04-26 20:32:56 +00:00
commands_unloggedin.py More command sanitizing checks, renamed startup script to startup.sh. 2007-04-03 20:15:54 +00:00
defines_global.py Re-organization. 2007-04-03 13:42:51 +00:00
evennia.vhost.apache Re-organization. 2007-04-03 13:42:51 +00:00
events.py Adding a session validity check in hopes of eventually expiring timed out connections. 2007-04-25 20:11:29 +00:00
functions_db.py Adding initial data via Django's syncdb facility. We will no longer distribute a SQLite DB in the near future in favor of this cross-platform alternative. Also in this commit is a crash fix for @dig with SQLite. 2007-04-25 14:47:33 +00:00
functions_general.py More command sanitizing checks, renamed startup script to startup.sh. 2007-04-03 20:15:54 +00:00
functions_help.py Re-organization. 2007-04-03 13:42:51 +00:00
gameconf.py No longer need to distribute a database file. Each user will run their syncdb script and start with a clean slate. Updated installation instructions in README. 2007-04-25 19:39:15 +00:00
initial_setup.py No longer need to distribute a database file. Each user will run their syncdb script and start with a clean slate. Updated installation instructions in README. 2007-04-25 19:39:15 +00:00
manage.py Re-organization. 2007-04-03 13:42:51 +00:00
README No longer need to distribute a database file. Each user will run their syncdb script and start with a clean slate. Updated installation instructions in README. 2007-04-25 19:39:15 +00:00
scheduler.py Adding a session validity check in hopes of eventually expiring timed out connections. 2007-04-25 20:11:29 +00:00
server.py No longer need to distribute a database file. Each user will run their syncdb script and start with a clean slate. Updated installation instructions in README. 2007-04-25 19:39:15 +00:00
session.py Changing the user login command to use the player's email address instead of username. Also Require quotes around the username with the character creation command regardless of whether it's two words or one. 2007-04-03 15:17:46 +00:00
session_mgr.py Remove get_ansiname() by condensing functionality into get_name(). Removed session debug statements I had in for testing. 2007-04-26 20:32:56 +00:00
settings.py.dist Renaming the default database file to evennia.db3 instead of evennia.sql, which is often used to signify text-based SQL dumps. Remember to re-name your database file and adjust your settings.py accordingly if you want to follow suite. Existing installs should theoretically be unaffected. 2007-04-26 19:32:26 +00:00
startup.sh Unintentionally committed a change to startup.sh, reversing. 2007-04-26 19:33:15 +00:00
TODO Movin the TODO list to the google code group page. 2007-04-23 15:57:34 +00:00
urls.py Minor update. 2007-04-26 02:19:49 +00:00

About Evennia
-------------
Evennia is a proof-of-concept MU* server that aims to provide a functional
base for developers. While there are quite a few codebases that do the same
(and very well in many cases), we are taking a unique spin on the problem.
Some of our flagship features include (or will one day include):

* Extensive web integration.
* The ability to build/administer through a web browser.
* Shared accounts between the website and the game.
* Optional web-based character creation.
* Extremely easy-to-manipulate SQL database back-end via Django 
  (djangoproject.com)
* Simple and easily extensible design.
* Very granular permissions. Individual and group based.

The essential points here are the web integration and the SQL backing via
Django. The Django framework has database abstraction abilities that give us
many features free, such as:

* The codebase will run transparently on MySQL, SQLite, or Postgres
* At the time of this document's writing, our SQL-backed application here
  contains 0 lines of SQL. Django's database abstraction layer is absolutely
  simple yet very powerful.
* For any model we outline for the server's use, we have the ability to
  more or less automatically generate a web-based admin interface for it with
  two lines of code. This lets you Create, Update, or Delete entries.
* On the web-based side of things, features such as automatic form validation,
  abstraction of sessions and cookies, and access to whatever game data you
  desire are all attractive.
  
Requirements
------------
* Python 2.5 strongly recommended, although may work just fine.
* PySqlite2
* Django (Latest trunk from Subversion recommended)
* Optional: Apache2 or equivalent webserver with a Python interpreter
  module. Required for web interface.

Installation
------------
At this point in time, the codebase is changing so rapidly that writing
installation instructions is pretty much pointless. When we get to that stage
in development, we'll make sure to update this. But for the really determined
(or stubborn), here's a rough outline:

* Install Django.
* Get a copy of the Evennia source.
* Optional: Set up your apache2.conf to point mod-python to the settings.py 
  file if you want the web features.
* Copy settings.py.dist to settings.py.
* Edit settings.py with your database info.
* Run 'python manage.py syncdb' 
* Run startup.sh. This will start the MU* server on port 4000 by default. You
  may change this via the web interface or by editing the config table in SQL.
* Login with the email address and password you provided to the syncdb script.
  
Support and Development
-----------------------
Since we're so early in development, we really can't hope to offer much support.
However, if you'd like to report bugs, make suggestions, or help with the
code work, visit either or both of the following links:

* Evennia Webpage
  http://evennia.com

* Evennia Code Page
  http://code.evennia.com

* Evennia Test Game
  evennia.com port 4000