<spanid="evennia-server-evennia-launcher"></span><h1>evennia.server.evennia_launcher<aclass="headerlink"href="#module-evennia.server.evennia_launcher"title="Permalink to this headline">¶</a></h1>
<p>Evennia launcher program</p>
<p>This is the start point for running Evennia.</p>
<p>Sets the appropriate environmental variables for managing an Evennia game. It will start and connect
to the Portal, through which the Server is also controlled. This pprogram</p>
<p>Run the script with the -h flag to see usage information.</p>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.server.evennia_launcher.</code><codeclass="sig-name descname">MsgStatus</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">**</span><spanclass="n">kw</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/evennia_launcher.html#MsgStatus"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.evennia_launcher.MsgStatus"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">key</code><emclass="property"> = 'MsgStatus'</em><aclass="headerlink"href="#evennia.server.evennia_launcher.MsgStatus.key"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">allErrors</code><emclass="property"> = {<class 'Exception'>: b'EXCEPTION'}</em><aclass="headerlink"href="#evennia.server.evennia_launcher.MsgStatus.allErrors"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">commandName</code><emclass="property"> = b'MsgStatus'</em><aclass="headerlink"href="#evennia.server.evennia_launcher.MsgStatus.commandName"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">reverseErrors</code><emclass="property"> = {b'EXCEPTION': <class 'Exception'>}</em><aclass="headerlink"href="#evennia.server.evennia_launcher.MsgStatus.reverseErrors"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.server.evennia_launcher.</code><codeclass="sig-name descname">MsgLauncher2Portal</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">**</span><spanclass="n">kw</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/evennia_launcher.html#MsgLauncher2Portal"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.evennia_launcher.MsgLauncher2Portal"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">key</code><emclass="property"> = 'MsgLauncher2Portal'</em><aclass="headerlink"href="#evennia.server.evennia_launcher.MsgLauncher2Portal.key"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">response</code><emclass="property">: List<spanclass="p">[</span>Tuple<spanclass="p">[</span>bytes<spanclass="p">, </span>twisted.protocols.amp.Argument<spanclass="p">]</span><spanclass="p">]</span></em><emclass="property"> = []</em><aclass="headerlink"href="#evennia.server.evennia_launcher.MsgLauncher2Portal.response"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">allErrors</code><emclass="property"> = {<class 'Exception'>: b'EXCEPTION'}</em><aclass="headerlink"href="#evennia.server.evennia_launcher.MsgLauncher2Portal.allErrors"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">commandName</code><emclass="property"> = b'MsgLauncher2Portal'</em><aclass="headerlink"href="#evennia.server.evennia_launcher.MsgLauncher2Portal.commandName"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">reverseErrors</code><emclass="property"> = {b'EXCEPTION': <class 'Exception'>}</em><aclass="headerlink"href="#evennia.server.evennia_launcher.MsgLauncher2Portal.reverseErrors"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.server.evennia_launcher.</code><codeclass="sig-name descname">AMPLauncherProtocol</code><aclass="reference internal"href="../_modules/evennia/server/evennia_launcher.html#AMPLauncherProtocol"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.evennia_launcher.AMPLauncherProtocol"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">__init__</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/evennia_launcher.html#AMPLauncherProtocol.__init__"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.evennia_launcher.AMPLauncherProtocol.__init__"title="Permalink to this definition">¶</a></dt>
<dd><p>Initialize self. See help(type(self)) for accurate signature.</p>
<codeclass="sig-name descname">wait_for_status</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">callback</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/evennia_launcher.html#AMPLauncherProtocol.wait_for_status"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.evennia_launcher.AMPLauncherProtocol.wait_for_status"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">receive_status_from_portal</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">status</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/evennia_launcher.html#AMPLauncherProtocol.receive_status_from_portal"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.evennia_launcher.AMPLauncherProtocol.receive_status_from_portal"title="Permalink to this definition">¶</a></dt>
<dd><p>Get a status signal from portal - fire next queued
<codeclass="sig-prename descclassname">evennia.server.evennia_launcher.</code><codeclass="sig-name descname">send_instruction</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">operation</span></em>, <emclass="sig-param"><spanclass="n">arguments</span></em>, <emclass="sig-param"><spanclass="n">callback</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">errback</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/evennia_launcher.html#send_instruction"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.evennia_launcher.send_instruction"title="Permalink to this definition">¶</a></dt>
<dd><p>Send instruction and handle the response.</p>
<codeclass="sig-prename descclassname">evennia.server.evennia_launcher.</code><codeclass="sig-name descname">query_status</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">callback</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/evennia_launcher.html#query_status"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.evennia_launcher.query_status"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.server.evennia_launcher.</code><codeclass="sig-name descname">wait_for_status_reply</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">callback</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/evennia_launcher.html#wait_for_status_reply"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.evennia_launcher.wait_for_status_reply"title="Permalink to this definition">¶</a></dt>
<dd><p>Wait for an explicit STATUS signal to be sent back from Evennia.</p>
<codeclass="sig-prename descclassname">evennia.server.evennia_launcher.</code><codeclass="sig-name descname">collectstatic</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/evennia_launcher.html#collectstatic"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.evennia_launcher.collectstatic"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.server.evennia_launcher.</code><codeclass="sig-name descname">start_evennia</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">pprofiler</span><spanclass="o">=</span><spanclass="default_value">False</span></em>, <emclass="sig-param"><spanclass="n">sprofiler</span><spanclass="o">=</span><spanclass="default_value">False</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/evennia_launcher.html#start_evennia"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.evennia_launcher.start_evennia"title="Permalink to this definition">¶</a></dt>
<dd><p>This will start Evennia anew by launching the Evennia Portal (which in turn
<codeclass="sig-prename descclassname">evennia.server.evennia_launcher.</code><codeclass="sig-name descname">reload_evennia</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">sprofiler</span><spanclass="o">=</span><spanclass="default_value">False</span></em>, <emclass="sig-param"><spanclass="n">reset</span><spanclass="o">=</span><spanclass="default_value">False</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/evennia_launcher.html#reload_evennia"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.evennia_launcher.reload_evennia"title="Permalink to this definition">¶</a></dt>
<dd><p>This will instruct the Portal to reboot the Server component. We
do this manually by telling the server to shutdown (in reload mode)
and wait for the portal to report back, at which point we start the
server again. This way we control the process exactly.</p>
<codeclass="sig-prename descclassname">evennia.server.evennia_launcher.</code><codeclass="sig-name descname">stop_evennia</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/evennia_launcher.html#stop_evennia"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.evennia_launcher.stop_evennia"title="Permalink to this definition">¶</a></dt>
<dd><p>This instructs the Portal to stop the Server and then itself.</p>
<codeclass="sig-prename descclassname">evennia.server.evennia_launcher.</code><codeclass="sig-name descname">reboot_evennia</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">pprofiler</span><spanclass="o">=</span><spanclass="default_value">False</span></em>, <emclass="sig-param"><spanclass="n">sprofiler</span><spanclass="o">=</span><spanclass="default_value">False</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/evennia_launcher.html#reboot_evennia"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.evennia_launcher.reboot_evennia"title="Permalink to this definition">¶</a></dt>
<dd><p>This is essentially an evennia stop && evennia start except we make sure
the system has successfully shut down before starting it again.</p>
<codeclass="sig-prename descclassname">evennia.server.evennia_launcher.</code><codeclass="sig-name descname">start_only_server</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/evennia_launcher.html#start_only_server"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.evennia_launcher.start_only_server"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.server.evennia_launcher.</code><codeclass="sig-name descname">start_server_interactive</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/evennia_launcher.html#start_server_interactive"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.evennia_launcher.start_server_interactive"title="Permalink to this definition">¶</a></dt>
<dd><p>Start the Server under control of the launcher process (foreground)</p>
<codeclass="sig-prename descclassname">evennia.server.evennia_launcher.</code><codeclass="sig-name descname">start_portal_interactive</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/evennia_launcher.html#start_portal_interactive"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.evennia_launcher.start_portal_interactive"title="Permalink to this definition">¶</a></dt>
<dd><p>Start the Portal under control of the launcher process (foreground)</p>
<pclass="rubric">Notes</p>
<p>In a normal start, the launcher waits for the Portal to start, then
tells it to start the Server. Since we can’t do this here, we instead
start the Server first and then starts the Portal - the Server will
auto-reconnect to the Portal. To allow the Server to be reloaded, this
relies on a fixed server server-cmdline stored as a fallback on the
portal application in evennia/server/portal/portal.py.</p>
<codeclass="sig-prename descclassname">evennia.server.evennia_launcher.</code><codeclass="sig-name descname">stop_server_only</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">when_stopped</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">interactive</span><spanclass="o">=</span><spanclass="default_value">False</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/evennia_launcher.html#stop_server_only"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.evennia_launcher.stop_server_only"title="Permalink to this definition">¶</a></dt>
<dd><p>Only stop the Server-component of Evennia (this is not useful except for debug)</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>when_stopped</strong> (<em>callable</em>) – This will be called with no arguments when Server has stopped (or
if it had already stopped when this is called).</p></li>
<li><p><strong>interactive</strong> (<em>bool</em><em>, </em><em>optional</em>) – Set if this is called as part of the interactive reload
<codeclass="sig-prename descclassname">evennia.server.evennia_launcher.</code><codeclass="sig-name descname">query_info</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/evennia_launcher.html#query_info"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.evennia_launcher.query_info"title="Permalink to this definition">¶</a></dt>
<dd><p>Display the info strings from the running Evennia</p>
<codeclass="sig-prename descclassname">evennia.server.evennia_launcher.</code><codeclass="sig-name descname">evennia_version</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/evennia_launcher.html#evennia_version"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.evennia_launcher.evennia_version"title="Permalink to this definition">¶</a></dt>
<dd><p>Get the Evennia version info from the main package.</p>
<codeclass="sig-prename descclassname">evennia.server.evennia_launcher.</code><codeclass="sig-name descname">check_main_evennia_dependencies</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/evennia_launcher.html#check_main_evennia_dependencies"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.evennia_launcher.check_main_evennia_dependencies"title="Permalink to this definition">¶</a></dt>
<dd><p>Checks and imports the Evennia dependencies. This must be done
already before the paths are set up.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Returns</dt>
<ddclass="field-odd"><p><em>not_error (bool)</em>– True if no dependency error was found.</p>
<codeclass="sig-prename descclassname">evennia.server.evennia_launcher.</code><codeclass="sig-name descname">set_gamedir</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">path</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/evennia_launcher.html#set_gamedir"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.evennia_launcher.set_gamedir"title="Permalink to this definition">¶</a></dt>
<dd><p>Set GAMEDIR based on path, by figuring out where the setting file
is inside the directory tree. This allows for running the launcher
from elsewhere than the top of the gamedir folder.</p>
<codeclass="sig-prename descclassname">evennia.server.evennia_launcher.</code><codeclass="sig-name descname">create_secret_key</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/evennia_launcher.html#create_secret_key"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.evennia_launcher.create_secret_key"title="Permalink to this definition">¶</a></dt>
<dd><p>Randomly create the secret key for the settings file</p>
<codeclass="sig-prename descclassname">evennia.server.evennia_launcher.</code><codeclass="sig-name descname">create_settings_file</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">init</span><spanclass="o">=</span><spanclass="default_value">True</span></em>, <emclass="sig-param"><spanclass="n">secret_settings</span><spanclass="o">=</span><spanclass="default_value">False</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/evennia_launcher.html#create_settings_file"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.evennia_launcher.create_settings_file"title="Permalink to this definition">¶</a></dt>
<dd><p>Uses the template settings file to build a working settings file.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>init</strong> (<em>bool</em>) – This is part of the normal evennia –init
operation. If false, this function will copy a fresh
template file in (asking if it already exists).</p></li>
<li><p><strong>secret_settings</strong> (<em>bool</em><em>, </em><em>optional</em>) – If False, create settings.py, otherwise
<codeclass="sig-prename descclassname">evennia.server.evennia_launcher.</code><codeclass="sig-name descname">create_game_directory</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">dirname</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/evennia_launcher.html#create_game_directory"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.evennia_launcher.create_game_directory"title="Permalink to this definition">¶</a></dt>
<dd><p>Initialize a new game directory named dirname
at the current path. This means copying the
template directory from evennia’s root.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>dirname</strong> (<em>str</em>) – The directory name to create.</p>
<codeclass="sig-prename descclassname">evennia.server.evennia_launcher.</code><codeclass="sig-name descname">create_superuser</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/evennia_launcher.html#create_superuser"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.evennia_launcher.create_superuser"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.server.evennia_launcher.</code><codeclass="sig-name descname">check_database</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">always_return</span><spanclass="o">=</span><spanclass="default_value">False</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/evennia_launcher.html#check_database"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.evennia_launcher.check_database"title="Permalink to this definition">¶</a></dt>
<dd><p>Check so the database exists.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>always_return</strong> (<em>bool</em><em>, </em><em>optional</em>) – If set, will always return True/False
also on critical errors. No output will be printed.</p>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>exists (bool)</em>–<strong>True</strong> if the database exists, otherwise <strong>False</strong>.</p>
</dd>
</dl>
</dd></dl>
<dlclass="py function">
<dtid="evennia.server.evennia_launcher.getenv">
<codeclass="sig-prename descclassname">evennia.server.evennia_launcher.</code><codeclass="sig-name descname">getenv</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/evennia_launcher.html#getenv"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.evennia_launcher.getenv"title="Permalink to this definition">¶</a></dt>
<dd><p>Get current environment and add PYTHONPATH.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Returns</dt>
<ddclass="field-odd"><p><em>env (dict)</em>– Environment global dict.</p>
</dd>
</dl>
</dd></dl>
<dlclass="py function">
<dtid="evennia.server.evennia_launcher.get_pid">
<codeclass="sig-prename descclassname">evennia.server.evennia_launcher.</code><codeclass="sig-name descname">get_pid</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">pidfile</span></em>, <emclass="sig-param"><spanclass="n">default</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/evennia_launcher.html#get_pid"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.evennia_launcher.get_pid"title="Permalink to this definition">¶</a></dt>
<dd><p>Get the PID (Process ID) by trying to access an PID file.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>pidfile</strong> (<em>str</em>) – The path of the pid file.</p></li>
<li><p><strong>default</strong> (<em>int</em><em>, </em><em>optional</em>) – What to return if file does not exist.</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>pid (str)</em>– The process id or <strong>default</strong>.</p>
</dd>
</dl>
</dd></dl>
<dlclass="py function">
<dtid="evennia.server.evennia_launcher.del_pid">
<codeclass="sig-prename descclassname">evennia.server.evennia_launcher.</code><codeclass="sig-name descname">del_pid</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">pidfile</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/evennia_launcher.html#del_pid"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.evennia_launcher.del_pid"title="Permalink to this definition">¶</a></dt>
<dd><p>The pidfile should normally be removed after a process has
finished, but when sending certain signals they remain, so we need
to clean them manually.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>pidfile</strong> (<em>str</em>) – The path of the pid file.</p>
</dd>
</dl>
</dd></dl>
<dlclass="py function">
<dtid="evennia.server.evennia_launcher.kill">
<codeclass="sig-prename descclassname">evennia.server.evennia_launcher.</code><codeclass="sig-name descname">kill</code><spanclass="sig-paren">(</span><emclass="sig-param">pidfile</em>, <emclass="sig-param">component='Server'</em>, <emclass="sig-param">callback=None</em>, <emclass="sig-param">errback=None</em>, <emclass="sig-param">killsignal=<Signals.SIGINT: 2></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/evennia_launcher.html#kill"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.evennia_launcher.kill"title="Permalink to this definition">¶</a></dt>
<dd><p>Send a kill signal to a process based on PID. A customized
success/error message will be returned. If clean=True, the system
will attempt to manually remove the pid file. On Windows, no arguments
are useful since Windows has no ability to direct signals except to all
children of a console.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>pidfile</strong> (<em>str</em>) – The path of the pidfile to get the PID from. This is ignored
on Windows.</p></li>
<li><p><strong>component</strong> (<em>str</em><em>, </em><em>optional</em>) – Usually one of ‘Server’ or ‘Portal’. This is
ignored on Windows.</p></li>
<li><p><strong>errback</strong> (<em>callable</em><em>, </em><em>optional</em>) – Called if signal failed to send. This
is ignored on Windows.</p></li>
<li><p><strong>callback</strong> (<em>callable</em><em>, </em><em>optional</em>) – Called if kill signal was sent successfully.
This is ignored on Windows.</p></li>
<li><p><strong>killsignal</strong> (<em>int</em><em>, </em><em>optional</em>) – Signal identifier for signal to send. This is
<codeclass="sig-prename descclassname">evennia.server.evennia_launcher.</code><codeclass="sig-name descname">show_version_info</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">about</span><spanclass="o">=</span><spanclass="default_value">False</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/evennia_launcher.html#show_version_info"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.evennia_launcher.show_version_info"title="Permalink to this definition">¶</a></dt>
<dd><p>Display version info.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>about</strong> (<em>bool</em>) – Include ABOUT info as well as version numbers.</p>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>version_info (str)</em>– A complete version info string.</p>
<codeclass="sig-prename descclassname">evennia.server.evennia_launcher.</code><codeclass="sig-name descname">error_check_python_modules</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">show_warnings</span><spanclass="o">=</span><spanclass="default_value">False</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/evennia_launcher.html#error_check_python_modules"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.evennia_launcher.error_check_python_modules"title="Permalink to this definition">¶</a></dt>
<dd><p>Import settings modules in settings. This will raise exceptions on
pure python-syntax issues which are hard to catch gracefully with
exceptions in the engine (since they are formatting errors in the
python source files themselves). Best they fail already here
before we get any further.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Keyword Arguments</dt>
<ddclass="field-odd"><p><strong>show_warnings</strong> (<em>bool</em>) – If non-fatal warning messages should be shown.</p>
<codeclass="sig-prename descclassname">evennia.server.evennia_launcher.</code><codeclass="sig-name descname">init_game_directory</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">path</span></em>, <emclass="sig-param"><spanclass="n">check_db</span><spanclass="o">=</span><spanclass="default_value">True</span></em>, <emclass="sig-param"><spanclass="n">need_gamedir</span><spanclass="o">=</span><spanclass="default_value">True</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/evennia_launcher.html#init_game_directory"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.evennia_launcher.init_game_directory"title="Permalink to this definition">¶</a></dt>
<dd><p>Try to analyze the given path to find settings.py - this defines
the game directory and also sets PYTHONPATH as well as the django
path.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>path</strong> (<em>str</em>) – Path to new game directory, including its name.</p></li>
<li><p><strong>check_db</strong> (<em>bool</em><em>, </em><em>optional</em>) – Check if the databae exists.</p></li>
<li><p><strong>need_gamedir</strong> (<em>bool</em><em>, </em><em>optional</em>) – set to False if Evennia doesn’t require to
<codeclass="sig-prename descclassname">evennia.server.evennia_launcher.</code><codeclass="sig-name descname">run_dummyrunner</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">number_of_dummies</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/evennia_launcher.html#run_dummyrunner"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.evennia_launcher.run_dummyrunner"title="Permalink to this definition">¶</a></dt>
<dd><p>Start an instance of the dummyrunner</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>number_of_dummies</strong> (<em>int</em>) – The number of dummy accounts to start.</p>
</dd>
</dl>
<pclass="rubric">Notes</p>
<p>The dummy accounts’ behavior can be customized by adding a
<strong>dummyrunner_settings.py</strong> config file in the game’s conf/
<codeclass="sig-prename descclassname">evennia.server.evennia_launcher.</code><codeclass="sig-name descname">run_connect_wizard</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/evennia_launcher.html#run_connect_wizard"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.evennia_launcher.run_connect_wizard"title="Permalink to this definition">¶</a></dt>
<dd><p>Run the linking wizard, for adding new external connections.</p>
<codeclass="sig-prename descclassname">evennia.server.evennia_launcher.</code><codeclass="sig-name descname">list_settings</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">keys</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/evennia_launcher.html#list_settings"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.evennia_launcher.list_settings"title="Permalink to this definition">¶</a></dt>
<dd><p>Display the server settings. We only display the Evennia specific
settings here. The result will be printed to the terminal.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>keys</strong> (<em>str</em><em> or </em><em>list</em>) – Setting key or keys to inspect.</p>
<codeclass="sig-prename descclassname">evennia.server.evennia_launcher.</code><codeclass="sig-name descname">run_custom_commands</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">option</span></em>, <emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/evennia_launcher.html#run_custom_commands"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.evennia_launcher.run_custom_commands"title="Permalink to this definition">¶</a></dt>
<dd><p>Inject a custom option into the evennia launcher command chain.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>option</strong> (<em>str</em>) – Incoming option - the first argument after <strong>evennia</strong> on
the command line.</p></li>
<li><p><strong>*args</strong>– All args will passed to a found callable.__dict__</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>bool</em>– If a custom command was found and handled the option.</p>
<p>The callable will be passed any <strong>*args</strong> given on the command line and is expected to
handle/validate the input correctly. Use like any other evennia command option on
in the terminal/console, for example:</p>
<blockquote>
<div><p>evennia mycmd foo bar</p>
</div></blockquote>
</dd></dl>
<dlclass="py function">
<dtid="evennia.server.evennia_launcher.run_menu">
<codeclass="sig-prename descclassname">evennia.server.evennia_launcher.</code><codeclass="sig-name descname">run_menu</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/evennia_launcher.html#run_menu"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.evennia_launcher.run_menu"title="Permalink to this definition">¶</a></dt>
<dd><p>This launches an interactive menu.</p>
</dd></dl>
<dlclass="py function">
<dtid="evennia.server.evennia_launcher.main">
<codeclass="sig-prename descclassname">evennia.server.evennia_launcher.</code><codeclass="sig-name descname">main</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/evennia_launcher.html#main"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.evennia_launcher.main"title="Permalink to this definition">¶</a></dt>