<h1>Start Stop Reload<aclass="headerlink"href="#start-stop-reload"title="Permalink to this headline">¶</a></h1>
<p>You control Evennia from your game folder (we refer to it as <codeclass="docutils literal notranslate"><spanclass="pre">mygame/</span></code> here), using the <codeclass="docutils literal notranslate"><spanclass="pre">evennia</span></code>
program. If the <codeclass="docutils literal notranslate"><spanclass="pre">evennia</span></code> program is not available on the command line you must first install
<div><p>Hint: If you ever try the <codeclass="docutils literal notranslate"><spanclass="pre">evennia</span></code> command and get an error complaining that the command is not
available, make sure your <aclass="reference external"href="Glossary.html#virtualenv">virtualenv</a> is active.</p>
<p>Evennia consists of two components, the Evennia <aclass="reference internal"href="../Components/Portal-And-Server.html"><spanclass="doc">Server and Portal</span></a>. Briefly,
<p>The above command will start the Portal, which in turn will boot up the Server. The command will
print a summary of the process and unless there is an error you will see no further output. Both
components will instead log to log files in <codeclass="docutils literal notranslate"><spanclass="pre">mygame/server/logs/</span></code>. For convenience you can follow
those logs directly in your terminal by attaching <codeclass="docutils literal notranslate"><spanclass="pre">-l</span></code> to commands:</p>
doesn’t kill “persistent” <aclass="reference internal"href="../Components/Scripts.html"><spanclass="doc">Scripts</span></a>. It also calls <codeclass="docutils literal notranslate"><spanclass="pre">at_server_reload()</span></code> hooks on all
can save eventual temporary properties you want.</p>
<p>From in-game the <codeclass="docutils literal notranslate"><spanclass="pre">@reload</span></code> command is used. You can also reload the server from outside the game:</p>
reset. A reset will however purge all non-persistent scripts and will call <codeclass="docutils literal notranslate"><spanclass="pre">at_server_shutdown()</span></code>
hooks. It can be a good way to clean unsafe scripts during development, for example.</p>
<p>From in-game the <codeclass="docutils literal notranslate"><spanclass="pre">@reset</span></code> command is used. From the terminal:</p>
<h2>Shutting down<aclass="headerlink"href="#shutting-down"title="Permalink to this headline">¶</a></h2>
<p>A full shutdown closes Evennia completely, both Server and Portal. All accounts will be booted and
systems saved and turned off cleanly.</p>
<p>From inside the game you initiate a shutdown with the <codeclass="docutils literal notranslate"><spanclass="pre">@shutdown</span></code> command. From command line you do</p>
<p>You will see messages of both Server and Portal closing down. All accounts will see the shutdown
message and then be disconnected. The same effect happens if you press <codeclass="docutils literal notranslate"><spanclass="pre">Ctrl+C</span></code> while the server
runs in interactive mode.</p>
</div>
<divclass="section"id="status-and-info">
<h2>Status and info<aclass="headerlink"href="#status-and-info"title="Permalink to this headline">¶</a></h2>
<p>To check basic Evennia settings, such as which ports and services are active, this will repeat the
initial return given when starting the server:</p>
<p>The <codeclass="docutils literal notranslate"><spanclass="pre">evennia</span></code> program will also pass-through options used by the <codeclass="docutils literal notranslate"><spanclass="pre">django-admin</span></code>. These operate on
<h2>Advanced handling of Evennia processes<aclass="headerlink"href="#advanced-handling-of-evennia-processes"title="Permalink to this headline">¶</a></h2>
<p>If you should need to manually manage Evennia’s processors (or view them in a task manager program
such as Linux’<codeclass="docutils literal notranslate"><spanclass="pre">top</span></code> or the more advanced <codeclass="docutils literal notranslate"><spanclass="pre">htop</span></code>), you will find the following processes to be
related to Evennia:</p>
<ulclass="simple">
<li><p>1 x <codeclass="docutils literal notranslate"><spanclass="pre">twistd</span><spanclass="pre">...</span><spanclass="pre">evennia/server/portal/portal.py</span></code> - this is the Portal process.</p></li>
<li><p>3 x <codeclass="docutils literal notranslate"><spanclass="pre">twistd</span><spanclass="pre">...</span><spanclass="pre">server.py</span></code> - One of these processes manages Evennia’s Server component, the main
game. The other processes (with the same name but different process id) handle’s Evennia’s
internal web server threads. You can look at <codeclass="docutils literal notranslate"><spanclass="pre">mygame/server/server.pid</span></code> to determine which is the
<h3>Syntax errors during live development<aclass="headerlink"href="#syntax-errors-during-live-development"title="Permalink to this headline">¶</a></h3>
<p>During development, you will usually modify code and then reload the server to see your changes.
This is done by Evennia re-importing your custom modules from disk. Usually bugs in a module will
just have you see a traceback in the game, in the log or on the command line. For some really
serious syntax errors though, your module might not even be recognized as valid Python. Evennia may
then fail to restart correctly.</p>
<p>From inside the game you see a text about the Server restarting followed by an ever growing list of
“…”. Usually this only lasts a very short time (up to a few seconds). If it seems to go on, it
means the Portal is still running (you are still connected to the game) but the Server-component of
Evennia failed to restart (that is, it remains in a shut-down state). Look at your log files or
terminal to see what the problem is - you will usually see a clear traceback showing what went