<pclass="last">You are reading an old version of the Evennia documentation. <ahref="https://www.evennia.com/docs/latest/index.html">The latest version is here</a></p>.
<spanid="evennia-server-service"></span><h1>evennia.server.service<aclass="headerlink"href="#module-evennia.server.service"title="Permalink to this headline">¶</a></h1>
<p>This module contains the main EvenniaService class, which is the very core of the
Evennia server. It is instantiated by the evennia/server/server.py module.</p>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.server.service.</code><codeclass="sig-name descname">EvenniaServerService</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/service.html#EvenniaServerService"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.service.EvenniaServerService"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">__init__</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/service.html#EvenniaServerService.__init__"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.service.EvenniaServerService.__init__"title="Permalink to this definition">¶</a></dt>
<dd><p>Initialize self. See help(type(self)) for accurate signature.</p>
<codeclass="sig-name descname">server_maintenance</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/service.html#EvenniaServerService.server_maintenance"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.service.EvenniaServerService.server_maintenance"title="Permalink to this definition">¶</a></dt>
<dd><p>This maintenance function handles repeated checks and updates that
the server needs to do. It is called every minute.</p>
<codeclass="sig-name descname">process_idle_timeouts</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/service.html#EvenniaServerService.process_idle_timeouts"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.service.EvenniaServerService.process_idle_timeouts"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">privilegedStartService</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/service.html#EvenniaServerService.privilegedStartService"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.service.EvenniaServerService.privilegedStartService"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">register_plugins</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/service.html#EvenniaServerService.register_plugins"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.service.EvenniaServerService.register_plugins"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">register_amp</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/service.html#EvenniaServerService.register_amp"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.service.EvenniaServerService.register_amp"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">register_webserver</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/service.html#EvenniaServerService.register_webserver"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.service.EvenniaServerService.register_webserver"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">sqlite3_prep</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/service.html#EvenniaServerService.sqlite3_prep"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.service.EvenniaServerService.sqlite3_prep"title="Permalink to this definition">¶</a></dt>
<dd><p>Optimize some SQLite stuff at startup since we
<codeclass="sig-name descname">update_defaults</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/service.html#EvenniaServerService.update_defaults"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.service.EvenniaServerService.update_defaults"title="Permalink to this definition">¶</a></dt>
<dd><p>We make sure to store the most important object defaults here, so
we can catch if they change and update them on-objects automatically.
This allows for changing default cmdset locations and default
typeclasses in the settings file and have them auto-update all
<codeclass="sig-name descname">run_initial_setup</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/service.html#EvenniaServerService.run_initial_setup"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.service.EvenniaServerService.run_initial_setup"title="Permalink to this definition">¶</a></dt>
<dd><p>This is triggered by the amp protocol when the connection
to the portal has been established.
This attempts to run the initial_setup script of the server.
It returns if this is not the first time the server starts.
Once finished the last_initial_setup_step is set to ‘done’</p>
<codeclass="sig-name descname">create_default_channels</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/service.html#EvenniaServerService.create_default_channels"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.service.EvenniaServerService.create_default_channels"title="Permalink to this definition">¶</a></dt>
<dd><p>check so default channels exist on every restart, create if not.</p>
<codeclass="sig-name descname">run_init_hooks</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">mode</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/service.html#EvenniaServerService.run_init_hooks"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.service.EvenniaServerService.run_init_hooks"title="Permalink to this definition">¶</a></dt>
<dd><p>Called by the amp client once receiving sync back from Portal</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>mode</strong> (<em>str</em>) – One of shutdown, reload or reset</p>
<codeclass="sig-name descname">shutdown</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">mode</span><spanclass="o">=</span><spanclass="default_value">'reload'</span></em>, <emclass="sig-param"><spanclass="n">_reactor_stopping</span><spanclass="o">=</span><spanclass="default_value">False</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/service.html#EvenniaServerService.shutdown"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.service.EvenniaServerService.shutdown"title="Permalink to this definition">¶</a></dt>
<dd><p>Shuts down the server from inside it.</p>
<dlclass="simple">
<dt>mode - sets the server restart mode.</dt><dd><ulclass="simple">
<li><p>‘reload’ - server restarts, no “persistent” scripts
are stopped, at_reload hooks called.</p></li>
<li><p>‘reset’ - server restarts, non-persistent scripts stopped,
at_shutdown hooks called but sessions will not
be disconnected.</p></li>
<li><p>‘shutdown’ - like reset, but server will not auto-restart.</p></li>
</ul>
</dd>
<dt>_reactor_stopping - this is set if server is stopped by a kill</dt><dd><p>command OR this method was already called
<codeclass="sig-name descname">get_info_dict</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/service.html#EvenniaServerService.get_info_dict"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.service.EvenniaServerService.get_info_dict"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_server_init</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/service.html#EvenniaServerService.at_server_init"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.service.EvenniaServerService.at_server_init"title="Permalink to this definition">¶</a></dt>
<dd><p>This is called first when the server is starting, before any other hooks, regardless of how it’s starting.</p>
<codeclass="sig-name descname">at_server_start</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/service.html#EvenniaServerService.at_server_start"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.service.EvenniaServerService.at_server_start"title="Permalink to this definition">¶</a></dt>
<dd><p>This is called every time the server starts up, regardless of
<codeclass="sig-name descname">at_server_stop</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/service.html#EvenniaServerService.at_server_stop"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.service.EvenniaServerService.at_server_stop"title="Permalink to this definition">¶</a></dt>
<dd><p>This is called just before a server is shut down, regardless
<codeclass="sig-name descname">at_server_reload_start</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/service.html#EvenniaServerService.at_server_reload_start"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.service.EvenniaServerService.at_server_reload_start"title="Permalink to this definition">¶</a></dt>
<dd><p>This is called only when server starts back up after a reload.</p>
<codeclass="sig-name descname">at_post_portal_sync</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">mode</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/service.html#EvenniaServerService.at_post_portal_sync"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.service.EvenniaServerService.at_post_portal_sync"title="Permalink to this definition">¶</a></dt>
<dd><p>This is called just after the portal has finished syncing back data to the server
after reconnecting.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>mode</strong> (<em>str</em>) – One of ‘reload’, ‘reset’ or ‘shutdown’.</p>
<codeclass="sig-name descname">at_server_reload_stop</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/service.html#EvenniaServerService.at_server_reload_stop"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.service.EvenniaServerService.at_server_reload_stop"title="Permalink to this definition">¶</a></dt>
<dd><p>This is called only time the server stops before a reload.</p>
<codeclass="sig-name descname">at_server_cold_start</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/service.html#EvenniaServerService.at_server_cold_start"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.service.EvenniaServerService.at_server_cold_start"title="Permalink to this definition">¶</a></dt>
<dd><p>This is called only when the server starts “cold”, i.e. after a
<codeclass="sig-name descname">at_server_cold_stop</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/service.html#EvenniaServerService.at_server_cold_stop"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.service.EvenniaServerService.at_server_cold_stop"title="Permalink to this definition">¶</a></dt>
<dd><p>This is called only when the server goes down due to a shutdown or reset.</p>
<pclass="last">You are reading an old version of the Evennia documentation. <ahref="https://www.evennia.com/docs/latest/index.html">The latest version is here</a></p>.
</div>
<divclass="footer"role="contentinfo">
© Copyright 2023, The Evennia developer community.
Created using <ahref="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.