<h1>Installation<aclass="headerlink"href="#installation"title="Permalink to this headline">¶</a></h1>
<divclass="admonition important">
<pclass="admonition-title">Important</p>
<p>If you are converting an existing game from a previous Evennia version, <aclass="reference internal"href="Installation-Upgrade.html"><spanclass="doc std std-doc">see here</span></a>.</p>
</div>
<p>The fastest way to install Evennia is to use the <codeclass="docutils literal notranslate"><spanclass="pre">pip</span></code> installer that comes with Python (read on).
You can also <aclass="reference internal"href="Installation-Git.html"><spanclass="doc std std-doc">clone Evennia from github</span></a> or use <aclass="reference internal"href="Installation-Docker.html"><spanclass="doc std std-doc">docker</span></a>. Some users have also experimented with <aclass="reference internal"href="Installation-Android.html"><spanclass="doc std std-doc">installing Evennia on Android</span></a>.</p>
<sectionid="requirements">
<h2>Requirements<aclass="headerlink"href="#requirements"title="Permalink to this headline">¶</a></h2>
<asideclass="sidebar">
<pclass="sidebar-title">Develop in isolation</p>
<p>Installing Evennia doesn’t make anything visible online. Apart from installation and updating, you can develop your game without any internet connection if you want to.</p>
</aside>
<ulclass="simple">
<li><p>Evennia requires <aclass="reference external"href="https://www.python.org/downloads/">Python</a> 3.10 or 3.11 (recommended). Any OS that supports Python should work.</p>
<li><p><em>Windows</em>: In the installer, make sure you select <codeclass="docutils literal notranslate"><spanclass="pre">add</span><spanclass="pre">python</span><spanclass="pre">to</span><spanclass="pre">path</span></code>. If you have multiple versions of Python installed, use <codeclass="docutils literal notranslate"><spanclass="pre">py</span></code> command instead of <codeclass="docutils literal notranslate"><spanclass="pre">python</span></code> to have Windows automatically use the latest.</p></li>
<li><p>Don’t install Evennia as administrator or superuser.</p></li>
<li><p>If you run into trouble, see <aclass="reference internal"href="Installation-Troubleshooting.html"><spanclass="doc std std-doc">installation troubleshooting</span></a>.</p></li>
</ul>
</section>
<sectionid="install-with-pip">
<h2>Install with <codeclass="docutils literal notranslate"><spanclass="pre">pip</span></code><aclass="headerlink"href="#install-with-pip"title="Permalink to this headline">¶</a></h2>
<p>Using a light-weight <aclass="reference internal"href="Installation-Git.html#virtualenv"><spanclass="std std-doc">Python virtual environment</span></a> is optional, but <em>highly recommended</em> in order to keep your Evennia installation independent from the system libraries. The virtualenv system is a part of Python and will make your life easier!</p>
<p>Evennia is managed from the terminal (console/Command Prompt on Windows). Once you have Python, you - after activating your virtualenv if you are using one - install Evennia with</p>
<p>Optional: If you use a <aclass="reference internal"href="../Contribs/Contribs-Overview.html"><spanclass="doc std std-doc">contrib</span></a> that warns you that it needs additional packages, you can install all extra dependencies with</p>
You now need to run <codeclass="docutils literal notranslate"><spanclass="pre">python</span><spanclass="pre">-m</span><spanclass="pre">evennia</span></code> once. This should permanently make the <codeclass="docutils literal notranslate"><spanclass="pre">evennia</span></code> command available in your environment.</p>
<p>Once installed, make sure the <codeclass="docutils literal notranslate"><spanclass="pre">evennia</span></code> command works. Use <codeclass="docutils literal notranslate"><spanclass="pre">evennia</span><spanclass="pre">-h</span></code> for usage help. If you are using a virtualenv, make sure it’s active whenever you need to use the <codeclass="docutils literal notranslate"><spanclass="pre">evennia</span></code> command later.</p>
<h2>Initialize a new game<aclass="headerlink"href="#initialize-a-new-game"title="Permalink to this headline">¶</a></h2>
<p>We will create a new “game dir” for you do create your game in. Here (and in
the rest of the Evennia documentation) we refer to this game dir as <codeclass="docutils literal notranslate"><spanclass="pre">mygame</span></code>, but you should of course name your game whatever you like.</p>
<p>The game-dir you create doesn’t have to match the name of your game. You can set the name of your game later by editing <codeclass="docutils literal notranslate"><spanclass="pre">mygame/server/conf/settings.py</span></code>.</p>
<p>This will create a new folder <codeclass="docutils literal notranslate"><spanclass="pre">mygame</span></code> (or whatever you chose) in your current location. This
contains empty templates and all the default settings needed to start the server.</p>
<p>This will create the default database (Sqlite3). The database file ends up as <codeclass="docutils literal notranslate"><spanclass="pre">mygame/server/evennia.db3</span></code>. If you ever want to start from a fresh database, just delete this file and re-run <codeclass="docutils literal notranslate"><spanclass="pre">evennia</span><spanclass="pre">migrate</span></code> again.</p>
<div><p>You can also <aclass="reference internal"href="Installation-Non-Interactive.html"><spanclass="doc std std-doc">automate</span></a> the creation of the super user.</p>
<p>If all went well, the server is now up and running. Point a legacy MUD/telnet client to <codeclass="docutils literal notranslate"><spanclass="pre">localhost:4000</span></code> or a web browser at <aclass="reference external"href="http://localhost:4001">http://localhost:4001</a> to play your new (if empty) game!</p>
<p>Log in as a new account or use the superuser you just created.</p>
<p>Full stop of the server (use <codeclass="docutils literal notranslate"><spanclass="pre">evennia</span><spanclass="pre">start</span></code> to restart):</p>
<p>See <aclass="reference internal"href="Running-Evennia.html"><spanclass="doc std std-doc">Server start-stop-reload</span></a> page for more details.</p>
<p>Stop viewing the log by pressing <codeclass="docutils literal notranslate"><spanclass="pre">Ctrl-C</span></code> (<codeclass="docutils literal notranslate"><spanclass="pre">Cmd-C</span></code> for Mac).</p>
<p>You can start viewing the log immediately by adding <codeclass="docutils literal notranslate"><spanclass="pre">-l/--log</span></code> to <codeclass="docutils literal notranslate"><spanclass="pre">evennia</span></code> commands, such as</p>
<h2>Server configuration<aclass="headerlink"href="#server-configuration"title="Permalink to this headline">¶</a></h2>
<p>The server configuration file is <codeclass="docutils literal notranslate"><spanclass="pre">mygame/server/settings.py</span></code>. It’s empty by default. Copy and change only the settings you want from the <aclass="reference internal"href="Settings-Default.html"><spanclass="doc std std-doc">default settings file</span></a>. See the <aclass="reference internal"href="Settings.html"><spanclass="doc std std-doc">Settings</span></a> documentation for more info.</p>
<h2>Register with the Evennia Game Index (optional)<aclass="headerlink"href="#register-with-the-evennia-game-index-optional"title="Permalink to this headline">¶</a></h2>
<p>Just follow the prompts. You don’t have to be open for players to do this - you just mark your game as closed and “pre-alpha”.</p>
<p>See <aclass="reference internal"href="Evennia-Game-Index.html"><spanclass="doc std std-doc">here</span></a> for more instructions and please <aclass="reference external"href="http:///games.evennia.com">check out the index</a> beforehand to make sure you don’t pick a game name that is already taken - be nice!</p>
<p>Next, why not head into the <aclass="reference internal"href="../Howtos/Beginner-Tutorial/Beginner-Tutorial-Overview.html"><spanclass="doc std std-doc">Starting Tutorial</span></a> to learn how to start making your new game!</p>