<h2>Quick Start<aclass="headerlink"href="#quick-start"title="Permalink to this headline">¶</a></h2>
<p>For the impatient. If you have trouble with a step, you should jump on to the
more detailed instructions for your platform.</p>
<olclass="simple">
<li><p>Install Python, GIT and python-virtualenv. Start a Console/Terminal.</p></li>
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">cd</span></code> to some place you want to do your development (like a folder
<codeclass="docutils literal notranslate"><spanclass="pre">/home/anna/muddev/</span></code> on Linux or a folder in your personal user directory on Windows).</p></li>
<li><p><codeclass="docutils literal notranslate"><spanclass="pre">evennia</span><spanclass="pre">start</span></code> (make sure to make a superuser when asked)
Evennia should now be running and you can connect to it by pointing a web browser to
<codeclass="docutils literal notranslate"><spanclass="pre">http://localhost:4001</span></code> or a MUD telnet client to <codeclass="docutils literal notranslate"><spanclass="pre">localhost:4000</span></code> (use <codeclass="docutils literal notranslate"><spanclass="pre">127.0.0.1</span></code> if your OS does
not recognize <codeclass="docutils literal notranslate"><spanclass="pre">localhost</span></code>).</p></li>
<p>We also release <aclass="reference internal"href="Running-Evennia-in-Docker.html"><spanclass="doc">Docker images</span></a>
based on <codeclass="docutils literal notranslate"><spanclass="pre">master</span></code> and <codeclass="docutils literal notranslate"><spanclass="pre">develop</span></code> branches.</p>
</div>
<divclass="section"id="requirements">
<h2>Requirements<aclass="headerlink"href="#requirements"title="Permalink to this headline">¶</a></h2>
<p>Any system that supports Python3.7+ should work. We’ll describe how to install
<li><p>Linux/Mac users may need the <codeclass="docutils literal notranslate"><spanclass="pre">gcc</span></code> and <codeclass="docutils literal notranslate"><spanclass="pre">python-dev</span></code> packages or equivalent.</p></li>
You should make sure to <em>not</em> be <codeclass="docutils literal notranslate"><spanclass="pre">root</span></code> after this step, running as <codeclass="docutils literal notranslate"><spanclass="pre">root</span></code> is a
security risk. Now create a folder where you want to do all your Evennia
<p>Run <codeclass="docutils literal notranslate"><spanclass="pre">python</span><spanclass="pre">-V</span></code> to see which version of Python your system defaults to.</p>
<divclass="highlight-default notranslate"><divclass="highlight"><pre><span></span><spanclass="c1"># If your Linux defaults to Python3.7+:</span>
<p>The text <codeclass="docutils literal notranslate"><spanclass="pre">(evenv)</span></code> should appear next to your prompt to show that the virtual
environment is active.</p>
<blockquote>
<div><p>Remember that you need to activate the virtualenv like this <em>every time</em> you
start a new terminal to get access to the Python packages (notably the
important <codeclass="docutils literal notranslate"><spanclass="pre">evennia</span></code> program) we are about to install.</p>
</div></blockquote>
<p>Next, install Evennia into your active virtualenv. Make sure you are standing
at the top of your mud directory tree (so you see the <codeclass="docutils literal notranslate"><spanclass="pre">evennia/</span></code> and <codeclass="docutils literal notranslate"><spanclass="pre">evenv/</span></code>
<p>For more info about <codeclass="docutils literal notranslate"><spanclass="pre">pip</span></code>, see the <aclass="reference external"href="Glossary.html#pip">Glossary entry on pip</a>. If
<spanclass="n">evennia</span><spanclass="n">migrate</span><spanclass="c1"># (this creates the database)</span>
<spanclass="n">evennia</span><spanclass="n">start</span><spanclass="c1"># (create a superuser when asked. Email is optional.)</span>
</pre></div>
</div>
<blockquote>
<div><p>Server logs are found in <codeclass="docutils literal notranslate"><spanclass="pre">mygame/server/logs/</span></code>. To easily view server logs
live in the terminal, use <codeclass="docutils literal notranslate"><spanclass="pre">evennia</span><spanclass="pre">-l</span></code> (exit the log-view with Ctrl-C).</p>
</div></blockquote>
<p>Your game should now be running! Open a web browser at <codeclass="docutils literal notranslate"><spanclass="pre">http://localhost:4001</span></code>
or point a telnet client to <codeclass="docutils literal notranslate"><spanclass="pre">localhost:4000</span></code> and log in with the user you
<em>Applications->Utilities->Terminal</em>. <aclass="reference external"href="http://blog.teamtreehouse.com/introduction-to-the-mac-os-x-command-line">Here is an introduction to the Mac
how you may upgrade it). Remember that you need Python3.7, not Python2.7!</p></li>
<li><p>GIT can be obtained with
<aclass="reference external"href="http://code.google.com/p/git-osx-installer/">git-osx-installer</a> or via
MacPorts <aclass="reference external"href="http://git-scm.com/book/en/Getting-Started-Installing-Git#Installing-on-Mac">as described
here</a>.</p></li>
<li><p>If you run into issues with installing <codeclass="docutils literal notranslate"><spanclass="pre">Twisted</span></code> later you may need to
install gcc and the Python headers.</p></li>
</ul>
<p>After this point you should not need <codeclass="docutils literal notranslate"><spanclass="pre">sudo</span></code> or any higher privileges to install anything.</p>
<p>Now create a folder where you want to do all your Evennia development:</p>
<p>Run <codeclass="docutils literal notranslate"><spanclass="pre">python</span><spanclass="pre">-V</span></code> to check which Python your system defaults to.</p>
<divclass="highlight-default notranslate"><divclass="highlight"><pre><span></span><spanclass="c1"># If your Mac defaults to Python3:</span>
<p>The text <codeclass="docutils literal notranslate"><spanclass="pre">(evenv)</span></code> should appear next to your prompt to show the virtual
environment is active.</p>
<blockquote>
<div><p>Remember that you need to activate the virtualenv like this <em>every time</em> you
start a new terminal to get access to the Python packages (notably the
important <codeclass="docutils literal notranslate"><spanclass="pre">evennia</span></code> program) we are about to install.</p>
</div></blockquote>
<p>Next, install Evennia into your active virtualenv. Make sure you are standing
at the top of your mud directory tree (so you see the <codeclass="docutils literal notranslate"><spanclass="pre">evennia/</span></code> and <codeclass="docutils literal notranslate"><spanclass="pre">evenv/</span></code>
folders) and run</p>
<divclass="highlight-default notranslate"><divclass="highlight"><pre><span></span><spanclass="n">pip</span><spanclass="n">install</span><spanclass="o">--</span><spanclass="n">upgrade</span><spanclass="n">pip</span><spanclass="c1"># Old pip versions may be an issue on Mac.</span>
<spanclass="n">pip</span><spanclass="n">install</span><spanclass="o">--</span><spanclass="n">upgrade</span><spanclass="n">setuptools</span><spanclass="c1"># Ditto concerning Mac issues.</span>
<p>For more info about <codeclass="docutils literal notranslate"><spanclass="pre">pip</span></code>, see the <aclass="reference external"href="Glossary.html#pip">Glossary entry on pip</a>. If
<spanclass="n">evennia</span><spanclass="n">migrate</span><spanclass="c1"># (this creates the database)</span>
<spanclass="n">evennia</span><spanclass="n">start</span><spanclass="c1"># (create a superuser when asked. Email is optional.)</span>
</pre></div>
</div>
<blockquote>
<div><p>Server logs are found in <codeclass="docutils literal notranslate"><spanclass="pre">mygame/server/logs/</span></code>. To easily view server logs
live in the terminal, use <codeclass="docutils literal notranslate"><spanclass="pre">evennia</span><spanclass="pre">-l</span></code> (exit the log-view with Ctrl-C).</p>
</div></blockquote>
<p>Your game should now be running! Open a web browser at <codeclass="docutils literal notranslate"><spanclass="pre">http://localhost:4001</span></code>
or point a telnet client to <codeclass="docutils literal notranslate"><spanclass="pre">localhost:4000</span></code> and log in with the user you
the Windows command line interface. Here is <aclass="reference external"href="http://www.bleepingcomputer.com/tutorials/windows-command-prompt-introduction/">one of many tutorials on using the Windows command
the 64-bit version (although it doesn’t matter too much). <strong>When installing, make sure
to check-mark <em>all</em> install options, especially the one about making Python
available on the path (you may have to scroll to see it)</strong>. This allows you to
just write <codeclass="docutils literal notranslate"><spanclass="pre">python</span></code> in any console without first finding where the <codeclass="docutils literal notranslate"><spanclass="pre">python</span></code>
program actually sits on your hard drive.</p></li>
<li><p>You need to also get <aclass="reference external"href="http://git-scm.com/downloads">GIT</a> and install it. You
can use the default install options but when you get asked to “Adjust your PATH
environment”, you should select the second option “Use Git from the Windows
Command Prompt”, which gives you more freedom as to where you can use the
program.</p></li>
<li><p>Finally you must install the <aclass="reference external"href="https://aka.ms/vs/16/release/vs_buildtools.exe">Microsoft Visual C++ compiler for
Python</a>. Download and run the linked installer and
<p>You can install Evennia wherever you want. <codeclass="docutils literal notranslate"><spanclass="pre">cd</span></code> to that location and create a
new folder for all your Evennia development (let’s call it <codeclass="docutils literal notranslate"><spanclass="pre">muddev</span></code>).</p>
<div><p>Hint: If <codeclass="docutils literal notranslate"><spanclass="pre">cd</span></code> isn’t working you can use <codeclass="docutils literal notranslate"><spanclass="pre">pushd</span></code> instead to force the
<p>In your console, try <codeclass="docutils literal notranslate"><spanclass="pre">python</span><spanclass="pre">-V</span></code> to see which version of Python your system
<p>A new folder <codeclass="docutils literal notranslate"><spanclass="pre">evenv</span></code> will appear (we could have called it anything). This
folder will hold a self-contained setup of Python packages without interfering
with default Python packages on your system. Activate the virtualenv:</p>
<divclass="highlight-default notranslate"><divclass="highlight"><pre><span></span><spanclass="c1"># If you are using a standard command prompt, you can use the following:</span>
<p>The text <codeclass="docutils literal notranslate"><spanclass="pre">(evenv)</span></code> should appear next to your prompt to show the virtual
environment is active.</p>
<blockquote>
<div><p>Remember that you need to activate the virtualenv like this <em>every time</em> you
start a new console window if you want to get access to the Python packages
(notably the important <codeclass="docutils literal notranslate"><spanclass="pre">evennia</span></code> program) we are about to install.</p>
</div></blockquote>
<p>Next, install Evennia into your active virtualenv. Make sure you are standing
at the top of your mud directory tree (so you see the <codeclass="docutils literal notranslate"><spanclass="pre">evennia</span></code> and <codeclass="docutils literal notranslate"><spanclass="pre">evenv</span></code>
folders when you use the <codeclass="docutils literal notranslate"><spanclass="pre">dir</span></code> command) and run</p>
<p>For more info about <codeclass="docutils literal notranslate"><spanclass="pre">pip</span></code>, see the <aclass="reference external"href="Glossary.html#pip">Glossary entry on pip</a>. If
the install failed with any issues, see [Windows Troubleshooting](Getting-Started#windows-
troubleshooting).
Next we’ll start our new game, we’ll call it “mygame” here. This creates a new folder where you will
<spanclass="n">evennia</span><spanclass="n">migrate</span><spanclass="c1"># (this creates the database)</span>
<spanclass="n">evennia</span><spanclass="n">start</span><spanclass="c1"># (create a superuser when asked. Email is optional.)</span>
</pre></div>
</div>
<blockquote>
<div><p>Server logs are found in <codeclass="docutils literal notranslate"><spanclass="pre">mygame/server/logs/</span></code>. To easily view server logs
live in the terminal, use <codeclass="docutils literal notranslate"><spanclass="pre">evennia</span><spanclass="pre">-l</span></code> (exit the log-view with Ctrl-C).</p>
</div></blockquote>
<p>Your game should now be running! Open a web browser at <codeclass="docutils literal notranslate"><spanclass="pre">http://localhost:4001</span></code>
or point a telnet client to <codeclass="docutils literal notranslate"><spanclass="pre">localhost:4000</span></code> and log in with the user you
<p>to build <aclass="reference internal"href="../Howto/Starting/Part1/Tutorial-World-Introduction.html"><spanclass="doc">Evennia’s tutorial world</span></a> - it’s a small solo quest to
explore. Only run the instructed <codeclass="docutils literal notranslate"><spanclass="pre">@batchcommand</span></code> once. You’ll get a lot of text scrolling by as the
tutorial is built. Once done, the <codeclass="docutils literal notranslate"><spanclass="pre">tutorial</span></code> exit will have appeared out of Limbo - just write
<codeclass="docutils literal notranslate"><spanclass="pre">tutorial</span></code> to enter it.</p>
<p>Once you get back to <codeclass="docutils literal notranslate"><spanclass="pre">Limbo</span></code> from the tutorial (if you get stuck in the tutorial quest you can do
<codeclass="docutils literal notranslate"><spanclass="pre">@tel</span><spanclass="pre">#2</span></code> to jump to Limbo), a good idea is to learn how to [start, stop and reload](Start-Stop-
Reload) the Evennia server. You may also want to familiarize yourself with some
<aclass="reference internal"href="../Glossary.html"><spanclass="doc">commonly used terms in our Glossary</span></a>. After that, why not experiment with
<aclass="reference internal"href="../Howto/Starting/Part1/Building-Quickstart.html"><spanclass="doc">creating some new items and build some new rooms</span></a> out from Limbo.</p>
<p>From here on, you could move on to do one of our <aclass="reference internal"href="../Howto/Howto-Overview.html"><spanclass="doc">introductory tutorials</span></a> or simply dive
headlong into Evennia’s comprehensive <aclass="reference external"href="https://github.com/evennia/evennia/wiki">manual</a>. While
Evennia has no major game systems out of the box, we do supply a range of optional <em>contribs</em> that
you can use or borrow from. They range from dice rolling and alternative color schemes to barter and
combat systems. You can find the <aclass="reference external"href="https://github.com/evennia/evennia/blob/master/evennia/contrib/README.md">growing list of contribs
here</a>.</p>
<p>If you have any questions, you can always ask in <aclass="reference external"href="http://webchat.freenode.net/?channels=evennia&uio=MT1mYWxzZSY5PXRydWUmMTE9MTk1JjEyPXRydWUbb">the developer
chat</a>
<codeclass="docutils literal notranslate"><spanclass="pre">#evennia</span></code> on <codeclass="docutils literal notranslate"><spanclass="pre">irc.freenode.net</span></code> or by posting to the <aclass="reference external"href="https://groups.google.com/forum/#%21forum/evennia">Evennia
forums</a>. You can also join the <aclass="reference external"href="https://discord.gg/NecFePw">Discord
<p>Remember, the server logs are in <codeclass="docutils literal notranslate"><spanclass="pre">mygame/server/logs/</span></code>. To easily view server logs in the terminal,
you can run <codeclass="docutils literal notranslate"><spanclass="pre">evennia</span><spanclass="pre">-l</span></code>, or (in the future) start the server with <codeclass="docutils literal notranslate"><spanclass="pre">evennia</span><spanclass="pre">start</span><spanclass="pre">-l</span></code>.</p>
<divclass="section"id="linux-troubleshooting">
<h3>Linux Troubleshooting<aclass="headerlink"href="#linux-troubleshooting"title="Permalink to this headline">¶</a></h3>
<ulclass="simple">
<li><p>If you get an error when installing Evennia (especially with lines mentioning
failing to include <codeclass="docutils literal notranslate"><spanclass="pre">Python.h</span></code>) then try <codeclass="docutils literal notranslate"><spanclass="pre">sudo</span><spanclass="pre">apt-get</span><spanclass="pre">install</span><spanclass="pre">python3-setuptools</span><spanclass="pre">python3-dev</span></code>.
Once installed, run <codeclass="docutils literal notranslate"><spanclass="pre">pip</span><spanclass="pre">install</span><spanclass="pre">-e</span><spanclass="pre">evennia</span></code> again.</p></li>
<li><p>Under some not-updated Linux distributions you may run into errors with a
too-old <codeclass="docutils literal notranslate"><spanclass="pre">setuptools</span></code> or missing <codeclass="docutils literal notranslate"><spanclass="pre">functools</span></code>. If so, update your environment
with <codeclass="docutils literal notranslate"><spanclass="pre">pip</span><spanclass="pre">install</span><spanclass="pre">--upgrade</span><spanclass="pre">pip</span><spanclass="pre">wheel</span><spanclass="pre">setuptools</span></code>. Then try <codeclass="docutils literal notranslate"><spanclass="pre">pip</span><spanclass="pre">install</span><spanclass="pre">-e</span><spanclass="pre">evennia</span></code> again.</p></li>
<li><p>One user reported a rare issue on Ubuntu 16 is an install error on installing Twisted; <codeclass="docutils literal notranslate"><spanclass="pre">Command</span><spanclass="pre">"python</span><spanclass="pre">setup.py</span><spanclass="pre">egg_info"</span><spanclass="pre">failed</span><spanclass="pre">with</span><spanclass="pre">error</span><spanclass="pre">code</span><spanclass="pre">1</span><spanclass="pre">in</span><spanclass="pre">/tmp/pip-build-vnIFTg/twisted/</span></code> with errors
like <codeclass="docutils literal notranslate"><spanclass="pre">distutils.errors.DistutilsError:</span><spanclass="pre">Could</span><spanclass="pre">not</span><spanclass="pre">find</span><spanclass="pre">suitable</span><spanclass="pre">distribution</span><spanclass="pre">for</span><spanclass="pre">Requirement.parse('incremental>=16.10.1')</span></code>. This appears possible to solve by simply updating Ubuntu
with <codeclass="docutils literal notranslate"><spanclass="pre">sudo</span><spanclass="pre">apt-get</span><spanclass="pre">update</span><spanclass="pre">&&</span><spanclass="pre">sudo</span><spanclass="pre">apt-get</span><spanclass="pre">dist-upgrade</span></code>.</p></li>
<li><p>Users of Fedora (notably Fedora 24) has reported a <codeclass="docutils literal notranslate"><spanclass="pre">gcc</span></code> error saying the directory
<codeclass="docutils literal notranslate"><spanclass="pre">/usr/lib/rpm/redhat/redhat-hardened-cc1</span></code> is missing, despite <codeclass="docutils literal notranslate"><spanclass="pre">gcc</span></code> itself being installed. <aclass="reference external"href="https://gist.github.com/yograterol/99c8e123afecc828cb8c">The
confirmed work-around</a> seems to be to
install the <codeclass="docutils literal notranslate"><spanclass="pre">redhat-rpm-config</span></code> package with e.g. <codeclass="docutils literal notranslate"><spanclass="pre">sudo</span><spanclass="pre">dnf</span><spanclass="pre">install</span><spanclass="pre">redhat-rpm-config</span></code>.</p></li>
<li><p>Some users trying to set up a virtualenv on an NTFS filesystem find that it fails due to issues
with symlinks not being supported. Answer is to not use NTFS (seriously, why would you do that to
<li><p>Mac users have reported a critical <codeclass="docutils literal notranslate"><spanclass="pre">MemoryError</span></code> when trying to start Evennia on Mac with a Python
version below <codeclass="docutils literal notranslate"><spanclass="pre">2.7.12</span></code>. If you get this error, update to the latest XCode and Python2 version.</p></li>
<li><p>Some Mac users have reported not being able to connect to <codeclass="docutils literal notranslate"><spanclass="pre">localhost</span></code> (i.e. your own computer). If
so, try to connect to <codeclass="docutils literal notranslate"><spanclass="pre">127.0.0.1</span></code> instead, which is the same thing. Use port 4000 from mud clients
and port 4001 from the web browser as usual.</p></li>
<li><p>If you installed Python but the <codeclass="docutils literal notranslate"><spanclass="pre">python</span></code> command is not available (even in a new console), then
you might have missed installing Python on the path. In the Windows Python installer you get a list
of options for what to install. Most or all options are pre-checked except this one, and you may
even have to scroll down to see it. Reinstall Python and make sure it’s checked.</p></li>
<li><p>If your MUD client cannot connect to <codeclass="docutils literal notranslate"><spanclass="pre">localhost:4000</span></code>, try the equivalent <codeclass="docutils literal notranslate"><spanclass="pre">127.0.0.1:4000</span></code>
instead. Some MUD clients on Windows does not appear to understand the alias <codeclass="docutils literal notranslate"><spanclass="pre">localhost</span></code>.</p></li>
<li><p>If you run <codeclass="docutils literal notranslate"><spanclass="pre">virtualenv</span><spanclass="pre">evenv</span></code> and get a <codeclass="docutils literal notranslate"><spanclass="pre">'virtualenv'</span><spanclass="pre">is</span><spanclass="pre">not</span><spanclass="pre">recognized</span><spanclass="pre">as</span><spanclass="pre">an</span><spanclass="pre">internal</span><spanclass="pre">or</span><spanclass="pre">external</span><spanclass="pre">command,</span><spanclass="pre">operable</span><spanclass="pre">program</span><spanclass="pre">or</span><spanclass="pre">batch</span><spanclass="pre">file.</span></code> error, you can <codeclass="docutils literal notranslate"><spanclass="pre">mkdir</span><spanclass="pre">evenv</span></code>, <codeclass="docutils literal notranslate"><spanclass="pre">cd</span><spanclass="pre">evenv</span></code> and then <codeclass="docutils literal notranslate"><spanclass="pre">python</span><spanclass="pre">-m</span><spanclass="pre">virtualenv</span><spanclass="pre">.</span></code> as a workaround.</p></li>
<li><p>Some Windows users get an error installing the Twisted ‘wheel’. A wheel is a pre-compiled binary
package for Python. A common reason for this error is that you are using a 32-bit version of Python,
but Twisted has not yet uploaded the latest 32-bit wheel. Easiest way to fix this is to install a
slightly older Twisted version. So if, say, version <codeclass="docutils literal notranslate"><spanclass="pre">18.1</span></code> failed, install <codeclass="docutils literal notranslate"><spanclass="pre">18.0</span></code> manually with <codeclass="docutils literal notranslate"><spanclass="pre">pip</span><spanclass="pre">install</span><spanclass="pre">twisted==18.0</span></code>. Alternatively you could try to get a 64-bit version of Python (uninstall the
32bit one). If so, you must then <codeclass="docutils literal notranslate"><spanclass="pre">deactivate</span></code> the virtualenv, delete the <codeclass="docutils literal notranslate"><spanclass="pre">evenv</span></code> folder and recreate
it anew (it will then use the new Python executable).</p></li>
<li><p>If your server won’t start, with no error messages (and no log files at all when starting from
scratch), try to start with <codeclass="docutils literal notranslate"><spanclass="pre">evennia</span><spanclass="pre">ipstart</span></code> instead. If you then see an error about <codeclass="docutils literal notranslate"><spanclass="pre">system</span><spanclass="pre">cannot</span><spanclass="pre">find</span><spanclass="pre">the</span><spanclass="pre">path</span><spanclass="pre">specified</span></code>, it may be that the file <codeclass="docutils literal notranslate"><spanclass="pre">evennia/evennia/server/twistd.bat</span></code> has the wrong
path to the <codeclass="docutils literal notranslate"><spanclass="pre">twistd</span></code> executable. This file is auto-generated, so try to delete it and then run
<codeclass="docutils literal notranslate"><spanclass="pre">evennia</span><spanclass="pre">start</span></code> to rebuild it and see if it works. If it still doesn’t work you need to open it in a
text editor like Notepad. It’s just one line containing the path to the <codeclass="docutils literal notranslate"><spanclass="pre">twistd.exe</span></code> executable as
determined by Evennia. If you installed Twisted in a non-standard location this might be wrong and
you should update the line to the real location.</p></li>