evennia/docs/1.0-dev/Setup/Installation.html

265 lines
17 KiB
HTML
Raw Normal View History

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<title>Installation &#8212; Evennia 1.0-dev documentation</title>
<link rel="stylesheet" href="../_static/nature.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/language_data.js"></script>
<link rel="shortcut icon" href="../_static/favicon.ico"/>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="Installing with GIT" href="Installation-Git.html" />
<link rel="prev" title="Server Setup and Life" href="Setup-Overview.html" />
</head><body>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="Installation-Git.html" title="Installing with GIT"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="Setup-Overview.html" title="Server Setup and Life"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 1.0-dev</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="Setup-Overview.html" accesskey="U">Server Setup and Life</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">Installation</a></li>
</ul>
<div class="develop">develop branch</div>
</div>
<div class="document">
<div class="documentwrapper">
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<p class="logo"><a href="../index.html">
<img class="logo" src="../_static/evennia_logo.png" alt="Logo"/>
</a></p>
<div id="searchbox" style="display: none" role="search">
<h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" />
<input type="submit" value="Go" />
</form>
</div>
</div>
<script>$('#searchbox').show(0);</script>
<h3><a href="../index.html">Table of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">Installation</a><ul>
<li><a class="reference internal" href="#initialize-a-new-game">Initialize a new game</a></li>
<li><a class="reference internal" href="#start-the-new-game">Start the new game</a></li>
<li><a class="reference internal" href="#restarting-and-stopping">Restarting and stopping</a></li>
<li><a class="reference internal" href="#see-server-logs">See server logs</a></li>
<li><a class="reference internal" href="#server-configuration">Server configuration</a></li>
<li><a class="reference internal" href="#register-with-the-evennia-game-index-optional">Register with the Evennia Game Index (optional)</a></li>
<li><a class="reference internal" href="#the-next-steps">The Next steps</a></li>
</ul>
</li>
</ul>
<h4>Previous topic</h4>
<p class="topless"><a href="Setup-Overview.html"
title="previous chapter">Server Setup and Life</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="Installation-Git.html"
title="next chapter">Installing with GIT</a></p>
<div role="note" aria-label="source link">
<!--h3>This Page</h3-->
<ul class="this-page-menu">
<li><a href="../_sources/Setup/Installation.md.txt"
rel="nofollow">Show Page Source</a></li>
</ul>
</div><h3>Links</h3>
<ul>
<li><a href="https://www.evennia.com">Home page</a> </li>
<li><a href="https://github.com/evennia/evennia">Evennia Github</a> </li>
<li><a href="http://games.evennia.com">Game Index</a> </li>
<li>
<a href="https://discord.gg/AJJpcRUhtF">Discord</a> -
<a href="https://github.com/evennia/evennia/discussions">Discussions</a> -
<a href="https://evennia.blogspot.com/">Blog</a>
</li>
</ul>
<h3>Versions</h3>
<ul>
<li><a href="Installation.html">1.0-dev (develop branch)</a></li>
2022-11-15 20:29:38 +00:00
<ul>
<li><a href="../0.9.5/index.html">0.9.5 (v0.9.5 branch)</a></li>
</ul>
</div>
</div>
<div class="bodywrapper">
<div class="body" role="main">
<section class="tex2jax_ignore mathjax_ignore" id="installation">
<h1>Installation<a class="headerlink" href="#installation" title="Permalink to this headline"></a></h1>
<div class="admonition important">
<p class="admonition-title">Important</p>
2022-11-19 00:54:14 +00:00
<p>If you are converting an existing game from a previous Evennia version, <a class="reference internal" href="Installation-Upgrade.html"><span class="doc std std-doc">see here</span></a>.</p>
</div>
2022-11-19 00:54:14 +00:00
<p>Installing Evennia doesnt make anything visible online. Apart from installation and updating, you can develop your game without any internet connection.</p>
<ul class="simple">
2022-11-19 17:26:48 +00:00
<li><p>Evennia requires <a class="reference external" href="https://www.python.org/downloads/">Python</a> 3.9, 3.10 or 3.11 (recommended)</p>
<ul>
<li><p>Windows: In the installer, make sure you select <code class="docutils literal notranslate"><span class="pre">add</span> <span class="pre">python</span> <span class="pre">to</span> <span class="pre">path</span></code>. If you have multiple versions of Python installed, use <code class="docutils literal notranslate"><span class="pre">py</span></code> command instead of <code class="docutils literal notranslate"><span class="pre">python</span></code> to have Windows automatically use the latest.</p></li>
</ul>
</li>
2022-11-20 00:44:59 +00:00
<li><p>Using a light-weight <a class="reference internal" href="Installation-Git.html#virtualenv"><span class="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. Using virtualenvs is common Python praxis.</p></li>
2022-11-19 00:54:14 +00:00
<li><p>Dont install Evennia as administrator or superuser.</p></li>
<li><p>If you run into trouble, see <a class="reference internal" href="Installation-Troubleshooting.html"><span class="doc std std-doc">installation troubleshooting</span></a>.</p></li>
</ul>
2022-11-19 17:26:48 +00:00
<p>Evennia is managed from the terminal (console/Command Prompt on Windows). Once you have Python, you install Evennia with</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>pip install evennia
</pre></div>
</div>
2022-11-20 00:44:59 +00:00
<p>Optional: If you use a <a class="reference internal" href="../Contribs/Contribs-Overview.html"><span class="doc std std-doc">contrib</span></a> that warns you that it needs additional packages, you can
2022-11-19 00:54:14 +00:00
install all extra dependencies with</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>pip install evennia[extra]
</pre></div>
</div>
<p>To update Evennia later, do</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>pip install --upgrade evennia
</pre></div>
</div>
2022-11-20 00:44:59 +00:00
<blockquote>
<div><p>Windows users only: You now need to run <code class="docutils literal notranslate"><span class="pre">python</span> <span class="pre">-m</span> <span class="pre">evennia</span></code> once. This should permanently make the <code class="docutils literal notranslate"><span class="pre">evennia</span></code> command available in your environment.</p>
</div></blockquote>
<p>Once installed, make sure the <code class="docutils literal notranslate"><span class="pre">evennia</span></code> command works. Use <code class="docutils literal notranslate"><span class="pre">evennia</span> <span class="pre">-h</span></code> for usage help. If you are using a virtualenv, make sure its active whenever you need to use the <code class="docutils literal notranslate"><span class="pre">evennia</span></code> command later.</p>
<blockquote>
2022-11-19 00:54:14 +00:00
<div><p>You can also <a class="reference internal" href="Installation-Git.html"><span class="doc std std-doc">clone Evennia from github</span></a> or use <a class="reference internal" href="Installation-Docker.html"><span class="doc std std-doc">docker</span></a>. Some users have also experimented with <a class="reference internal" href="Installation-Android.html"><span class="doc std std-doc">installing Evennia on Android</span></a>.</p>
</div></blockquote>
<section id="initialize-a-new-game">
<h2>Initialize a new game<a class="headerlink" href="#initialize-a-new-game" title="Permalink to this headline"></a></h2>
2022-11-20 00:44:59 +00:00
<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 <code class="docutils literal notranslate"><span class="pre">mygame</span></code>, but you should of course name your game whatever you like.</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>evennia --init mygame
</pre></div>
</div>
<p>This will create a new folder <code class="docutils literal notranslate"><span class="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>
2022-11-20 00:44:59 +00:00
<blockquote>
<div><p>The game dir doesnt need to have the exact same name as your game. You can set the name of your game later by editing <code class="docutils literal notranslate"><span class="pre">mygame/server/conf/settings.py</span></code>.</p>
</div></blockquote>
</section>
<section id="start-the-new-game">
<h2>Start the new game<a class="headerlink" href="#start-the-new-game" title="Permalink to this headline"></a></h2>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>cd mygame
evennia migrate
</pre></div>
</div>
<p>This will create the default database (Sqlite3). The database file ends up as <code class="docutils literal notranslate"><span class="pre">mygame/server/evennia.db3</span></code>. If you ever want to start from a fresh database, just delete this file and re-run <code class="docutils literal notranslate"><span class="pre">evennia</span> <span class="pre">migrate</span></code> again.</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>evennia start
</pre></div>
</div>
2022-11-20 00:44:59 +00:00
<p>Set your user-name and password when prompted. This will be the “god user” or “super user” in-game. The email is optional.</p>
<blockquote>
<div><p>You can also <a class="reference internal" href="Installation-Non-Interactive.html"><span class="doc std std-doc">automate</span></a> the creation of the super user.</p>
</div></blockquote>
<p>If all went well, the server is now up and running. Point a legacy MUD/telnet client to <code class="docutils literal notranslate"><span class="pre">localhost:4000</span></code> or a web browser at <a class="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>
</section>
<section id="restarting-and-stopping">
<h2>Restarting and stopping<a class="headerlink" href="#restarting-and-stopping" title="Permalink to this headline"></a></h2>
<p>You can restart the server without disconnecting players:</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>evennia restart
</pre></div>
</div>
<p>To do a full stop and restart (will disconnect players):</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>evennia reboot
</pre></div>
</div>
<p>Full stop of the server (use <code class="docutils literal notranslate"><span class="pre">evennia</span> <span class="pre">start</span></code> to restart):</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>evennia stop
</pre></div>
</div>
2022-11-20 00:44:59 +00:00
<p>See <a class="reference internal" href="Start-Stop-Reload.html"><span class="doc std std-doc">Server start-stop-reload</span></a> page for more details.</p>
</section>
<section id="see-server-logs">
<h2>See server logs<a class="headerlink" href="#see-server-logs" title="Permalink to this headline"></a></h2>
<p>Log files are in <code class="docutils literal notranslate"><span class="pre">mygame/server/logs</span></code>. You can tail them live with</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>evennia --log
</pre></div>
</div>
<p>or</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>evennia -l
</pre></div>
</div>
2022-11-19 00:54:14 +00:00
<p>Stop viewing the log by pressing <code class="docutils literal notranslate"><span class="pre">Ctrl-C</span></code> (<code class="docutils literal notranslate"><span class="pre">Cmd-C</span></code> for Mac).</p>
<p>You can start viewing the log immediately by adding <code class="docutils literal notranslate"><span class="pre">-l/--log</span></code> to <code class="docutils literal notranslate"><span class="pre">evennia</span></code> commands, such as</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>evennia start -l
</pre></div>
</div>
</section>
<section id="server-configuration">
<h2>Server configuration<a class="headerlink" href="#server-configuration" title="Permalink to this headline"></a></h2>
2022-11-20 00:44:59 +00:00
<p>The server configuration file is <code class="docutils literal notranslate"><span class="pre">mygame/server/settings.py</span></code>. Its empty by default. Copy and change only the settings you want from the <a class="reference internal" href="Settings-Default.html"><span class="doc std std-doc">default settings file</span></a>. See the <a class="reference internal" href="Settings.html"><span class="doc std std-doc">Settings</span></a> documentation for more info.</p>
</section>
<section id="register-with-the-evennia-game-index-optional">
<h2>Register with the Evennia Game Index (optional)<a class="headerlink" href="#register-with-the-evennia-game-index-optional" title="Permalink to this headline"></a></h2>
2022-11-19 00:54:14 +00:00
<p>You can let the world know that you are working on a new Evennia-based game by
2022-11-20 00:44:59 +00:00
registering your server with the <em>Evennia game index</em>.</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>evennia connections
</pre></div>
</div>
2022-11-20 00:44:59 +00:00
<p>Just follow the prompts. You dont have to be open for players to do this - you just mark your game as closed and “pre-alpha”.</p>
<p>See <a class="reference internal" href="Evennia-Game-Index.html"><span class="doc std std-doc">here</span></a> for more instructions and please <a class="reference external" href="http:///games.evennia.com">check out the index</a> beforehand to make sure you dont pick a game name that is already taken - be nice!</p>
</section>
<section id="the-next-steps">
<h2>The Next steps<a class="headerlink" href="#the-next-steps" title="Permalink to this headline"></a></h2>
<p>You are good to go!</p>
<p>Next, why not head into the <a class="reference internal" href="../Howtos/Beginner-Tutorial/Part1/Beginner-Tutorial-Part1-Intro.html"><span class="doc std std-doc">Starting Tutorial</span></a> to learn how to start making your new game!</p>
</section>
</section>
</div>
</div>
</div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="Installation-Git.html" title="Installing with GIT"
>next</a> |</li>
<li class="right" >
<a href="Setup-Overview.html" title="Server Setup and Life"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 1.0-dev</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="Setup-Overview.html" >Server Setup and Life</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">Installation</a></li>
</ul>
<div class="develop">develop branch</div>
</div>
<div class="footer" role="contentinfo">
2022-11-15 19:52:44 +00:00
&#169; Copyright 2022, The Evennia developer community.
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
</div>
</body>
</html>