<p>If you are reading this, it’s quite likely you are dreaming of creating and running a text-based
massively-multiplayer game (<aclass="reference external"href="http://tinyurl.com/c5sc4bm">MUD/MUX/MUSH</a> etc) of your very own. You
might just be starting to think about it, or you might have lugged around that <em>perfect</em> game in
your mind for years … you know <em>just</em> how good it would be, if you could only make it come to
reality. We know how you feel. That is, after all, why Evennia came to be.</p>
<p>Evennia is in principle a MUD-building system: a bare-bones Python codebase and server intended to
be highly extendable for any style of game. “Bare-bones” in this context means that we try to impose
as few game-specific things on you as possible. So whereas we for convenience offer basic building
blocks like objects, characters, rooms, default commands for building and administration etc, we
don’t prescribe any combat rules, mob AI, races, skills, character classes or other things that will
be different from game to game anyway. It is possible that we will offer some such systems as
contributions in the future, but these will in that case all be optional.</p>
<p>What we <em>do</em> however, is to provide a solid foundation for all the boring database, networking, and
behind-the-scenes administration stuff that all online games need whether they like it or not.
Evennia is <em>fully persistent</em>, that means things you drop on the ground somewhere will still be
there a dozen server reboots later. Through Django we support a large variety of different database
systems (a database is created for you automatically if you use the defaults).</p>
<p>Using the full power of Python throughout the server offers some distinct advantages. All your
coding, from object definitions and custom commands to AI scripts and economic systems is done in
normal Python modules rather than some ad-hoc scripting language. The fact that you script the game
in the same high-level language that you code it in allows for very powerful and custom game
implementations indeed.</p>
<p>The server ships with a default set of player commands that are similar to the MUX command set. We
<em>do not</em> aim specifically to be a MUX server, but we had to pick some default to go with (see
<aclass="reference internal"href="Soft-Code.html"><spanclass="doc">this</span></a> for more about our original motivations). It’s easy to remove or add commands, or
to have the command syntax mimic other systems, like Diku, LP, MOO and so on. Or why not create a
new and better command system of your own design.</p>
<p>Evennia’s demo server can be found at <aclass="reference external"href="http://demo.evennia.com">demo.evennia.com</a>. If you prefer to
connect to the demo via your own telnet client you can do so at <codeclass="docutils literal notranslate"><spanclass="pre">silvren.com</span></code>, port <codeclass="docutils literal notranslate"><spanclass="pre">4280</span></code>. Here is
a <aclass="reference internal"href="Screenshot.html"><spanclass="doc">screenshot</span></a>.</p>
<p>Once you installed Evennia yourself it comes with its own tutorial - this shows off some of the
possibilities <em>and</em> gives you a small single-player quest to play. The tutorial takes only one
single in-game command to install as explained <aclass="reference internal"href="Tutorial-World-Introduction.html"><spanclass="doc">here</span></a>.</p>
<li><p>HTTP - Website served by in-built webserver and connected to same database as game.</p></li>
<li><p>IRC - external IRC channels can be connected to in-game chat channels</p></li>
<li><p>RSS feeds can be echoed to in-game channels (things like Twitter can easily be added)</p></li>
<li><p>Several different databases supported (SQLite3, MySQL, PostgreSQL, …)</p></li>
</ul>
<p>For more extensive feature information, see the <aclass="reference internal"href="Developer-Central.html"><spanclass="doc">Developer Central</span></a>.</p>
<h2>What you need to know to work with Evennia<aclass="headerlink"href="#what-you-need-to-know-to-work-with-evennia"title="Permalink to this headline">¶</a></h2>
<p>Assuming you have Evennia working (see the <aclass="reference internal"href="Getting-Started.html"><spanclass="doc">quick start instructions</span></a>) and have
gotten as far as to start the server and connect to it with the client of your choice, here’s what
you need to know depending on your skills and needs.</p>
<h3>I don’t know (or don’t want to do) any programming - I just want to run a game!<aclass="headerlink"href="#i-don-t-know-or-don-t-want-to-do-any-programming-i-just-want-to-run-a-game"title="Permalink to this headline">¶</a></h3>
<h3>I know basic Python, or I am willing to learn<aclass="headerlink"href="#i-know-basic-python-or-i-am-willing-to-learn"title="Permalink to this headline">¶</a></h3>
<li><p>Using <aclass="reference external"href="http://docs.python.org/tutorial/datastructures.html">lists, dictionaries and list comprehensions</a></p></li>
<li><p>Doing <aclass="reference external"href="http://docs.python.org/tutorial/introduction.html#strings">string handling and formatting</a></p></li>
<li><p>Have a basic understanding of <aclass="reference external"href="http://www.tutorialspoint.com/python/python_classes_objects.htm">object-oriented programming</a>, using
<aclass="reference external"href="http://docs.python.org/tutorial/classes.html">Classes</a>, their methods and properties</p></li>
<p>Obviously, the more things you feel comfortable with, the easier time you’ll have to find your way.
With just basic knowledge you should be able to define your own <aclass="reference internal"href="Commands.html"><spanclass="doc">Commands</span></a>, create custom
<aclass="reference internal"href="Objects.html"><spanclass="doc">Objects</span></a> as well as make your world come alive with basic <aclass="reference internal"href="Scripts.html"><spanclass="doc">Scripts</span></a>. You can
definitely build a whole advanced and customized game from extending Evennia’s examples only.</p>
<h3>I know my Python stuff and I am willing to use it!<aclass="headerlink"href="#i-know-my-python-stuff-and-i-am-willing-to-use-it"title="Permalink to this headline">¶</a></h3>
<p>From here you can continue browsing the <aclass="reference internal"href="index.html"><spanclass="doc">online documentation</span></a> to
find more info about Evennia. Or you can jump into the <aclass="reference internal"href="Tutorials.html"><spanclass="doc">Tutorials</span></a> and get your hands
dirty with code right away. You can also read the developer’s <aclass="reference external"href="https://evennia.blogspot.com/">dev blog</a> for many tidbits and snippets about Evennia’s development and
<li><p>Get engaged in the community. Make an introductory post to our <aclass="reference external"href="https://groups.google.com/forum/#%21forum/evennia">mailing list/forum</a> and get to know people. It’s also
highly recommended you hop onto our <aclass="reference external"href="http://webchat.freenode.net/?channels=evennia&uio=MT1mYWxzZSY5PXRydWUmMTE9MTk1JjEyPXRydWUbb">Developer chat</a>
on IRC. This allows you to chat directly with other developers new and old as well as with the devs
of Evennia itself. This chat is logged (you can find links on http://www.evennia.com) and can also
be searched from the same place for discussion topics you are interested in.</p></li>
<li><p>Read the <aclass="reference internal"href="Game-Planning.html"><spanclass="doc">Game Planning</span></a> wiki page. It gives some ideas for your work flow and the
state of mind you should aim for - including cutting down the scope of your game for its first
release.</p></li>
<li><p>Do the <aclass="reference internal"href="Tutorial-for-basic-MUSH-like-game.html"><spanclass="doc">Tutorial for basic MUSH-like game</span></a> carefully from
beginning to end and try to understand what does what. Even if you are not interested in a MUSH for
your own game, you will end up with a small (very small) game that you can build or learn from.</p></li>
<li><aclass="reference internal"href="#what-you-need-to-know-to-work-with-evennia">What you need to know to work with Evennia</a><ul>
<li><aclass="reference internal"href="#i-don-t-know-or-don-t-want-to-do-any-programming-i-just-want-to-run-a-game">I don’t know (or don’t want to do) any programming - I just want to run a game!</a></li>
<li><aclass="reference internal"href="#i-know-basic-python-or-i-am-willing-to-learn">I know basic Python, or I am willing to learn</a></li>
<li><aclass="reference internal"href="#i-know-my-python-stuff-and-i-am-willing-to-use-it">I know my Python stuff and I am willing to use it!</a></li>
<li><aclass="reference internal"href="#where-to-from-here">Where to from here?</a></li>