<spanid="evennia-server-sessionhandler"></span><h1>evennia.server.sessionhandler<aclass="headerlink"href="#module-evennia.server.sessionhandler"title="Permalink to this headline">¶</a></h1>
<p>This module defines handlers for storing sessions when handles
sessions of users connecting to the server.</p>
<p>There are two similar but separate stores of sessions:</p>
<ulclass="simple">
<li><dlclass="simple">
<dt>ServerSessionHandler - this stores generic game sessions</dt><dd><p>for the game. These sessions has no knowledge about
how they are connected to the world.</p>
</dd>
</dl>
</li>
<li><dlclass="simple">
<dt>PortalSessionHandler - this stores sessions created by</dt><dd><p>twisted protocols. These are dumb connectors that
handle network communication but holds no game info.</p>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.server.sessionhandler.</code><codeclass="sig-name descname">DummySession</code><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#DummySession"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.sessionhandler.DummySession"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">sessid</code><emclass="property"> = 0</em><aclass="headerlink"href="#evennia.server.sessionhandler.DummySession.sessid"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.server.sessionhandler.</code><codeclass="sig-name descname">delayed_import</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#delayed_import"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.sessionhandler.delayed_import"title="Permalink to this definition">¶</a></dt>
<dd><p>Helper method for delayed import of all needed entities.</p>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.server.sessionhandler.</code><codeclass="sig-name descname">SessionHandler</code><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#SessionHandler"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.sessionhandler.SessionHandler"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">get</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">key</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/sessionhandler.html#SessionHandler.get"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.sessionhandler.SessionHandler.get"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">get_sessions</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">include_unloggedin</span><spanclass="o">=</span><spanclass="default_value">False</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#SessionHandler.get_sessions"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.sessionhandler.SessionHandler.get_sessions"title="Permalink to this definition">¶</a></dt>
<dd><p>Returns the connected session objects.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>include_unloggedin</strong> (<em>bool</em><em>, </em><em>optional</em>) – Also list Sessions
that have not yet authenticated.</p>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>sessions (list)</em>– A list of <strong>Session</strong> objects.</p>
<codeclass="sig-name descname">get_all_sync_data</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#SessionHandler.get_all_sync_data"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.sessionhandler.SessionHandler.get_all_sync_data"title="Permalink to this definition">¶</a></dt>
<dd><p>Create a dictionary of sessdata dicts representing all
sessions in store.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Returns</dt>
<ddclass="field-odd"><p><em>syncdata (dict)</em>– A dict of sync data.</p>
<codeclass="sig-name descname">clean_senddata</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">session</span></em>, <emclass="sig-param"><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#SessionHandler.clean_senddata"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.sessionhandler.SessionHandler.clean_senddata"title="Permalink to this definition">¶</a></dt>
<dd><p>Clean up data for sending across the AMP wire. Also apply the
FuncParser using callables from <strong>settings.FUNCPARSER_OUTGOING_MESSAGES_MODULES</strong>.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>session</strong> (<aclass="reference internal"href="evennia.server.session.html#evennia.server.session.Session"title="evennia.server.session.Session"><em>Session</em></a>) – The relevant session instance.</p></li>
<li><p><strong>kwargs</strong> (<em>dict</em>) – the name of the instruction (like “text”). Suitable values for each keyword are:
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.server.sessionhandler.</code><codeclass="sig-name descname">ServerSessionHandler</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/sessionhandler.html#ServerSessionHandler"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler"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/sessionhandler.html#ServerSessionHandler.__init__"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.__init__"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">portal_connect</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">portalsessiondata</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.portal_connect"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.portal_connect"title="Permalink to this definition">¶</a></dt>
<dd><p>Called by Portal when a new session has connected.
Creates a new, unlogged-in game session.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>portalsessiondata</strong> (<em>dict</em>) – a dictionary of all property:value
keys defining the session and which is marked to be
<codeclass="sig-name descname">portal_session_sync</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">portalsessiondata</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.portal_session_sync"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.portal_session_sync"title="Permalink to this definition">¶</a></dt>
<dd><p>Called by Portal when it wants to update a single session (e.g.
because of all negotiation protocols have finally replied)</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>portalsessiondata</strong> (<em>dict</em>) – a dictionary of all property:value
keys defining the session and which is marked to be
<codeclass="sig-name descname">portal_sessions_sync</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">portalsessionsdata</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.portal_sessions_sync"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.portal_sessions_sync"title="Permalink to this definition">¶</a></dt>
<dd><p>Syncing all session ids of the portal with the ones of the
server. This is instantiated by the portal when reconnecting.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>portalsessionsdata</strong> (<em>dict</em>) – A dictionary
<strong>{sessid: {property:value},…}</strong> defining each session and
<codeclass="sig-name descname">portal_disconnect</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">session</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.portal_disconnect"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.portal_disconnect"title="Permalink to this definition">¶</a></dt>
<dd><p>Called from Portal when Portal session closed from the portal
side. There is no message to report in this case.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>session</strong> (<aclass="reference internal"href="evennia.server.session.html#evennia.server.session.Session"title="evennia.server.session.Session"><em>Session</em></a>) – The Session to disconnect</p>
<codeclass="sig-name descname">portal_disconnect_all</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.portal_disconnect_all"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.portal_disconnect_all"title="Permalink to this definition">¶</a></dt>
<dd><p>Called from Portal when Portal is closing down. All
Sessions should die. The Portal should not be informed.</p>
<codeclass="sig-name descname">start_bot_session</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">protocol_path</span></em>, <emclass="sig-param"><spanclass="n">configdict</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.start_bot_session"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.start_bot_session"title="Permalink to this definition">¶</a></dt>
<dd><p>This method allows the server-side to force the Portal to
create a new bot session.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>protocol_path</strong> (<em>str</em>) – The full python path to the bot’s
class.</p></li>
<li><p><strong>configdict</strong> (<em>dict</em>) – This dict will be used to configure
the bot (this depends on the bot protocol).</p></li>
<codeclass="sig-name descname">portal_restart_server</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.portal_restart_server"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.portal_restart_server"title="Permalink to this definition">¶</a></dt>
<dd><p>Called by server when reloading. We tell the portal to start a new server instance.</p>
<codeclass="sig-name descname">portal_reset_server</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.portal_reset_server"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.portal_reset_server"title="Permalink to this definition">¶</a></dt>
<dd><p>Called by server when reloading. We tell the portal to start a new server instance.</p>
<codeclass="sig-name descname">portal_shutdown</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.portal_shutdown"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.portal_shutdown"title="Permalink to this definition">¶</a></dt>
<dd><p>Called by server when it’s time to shut down (the portal will shut us down and then shut
<codeclass="sig-name descname">login</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">session</span></em>, <emclass="sig-param"><spanclass="n">account</span></em>, <emclass="sig-param"><spanclass="n">force</span><spanclass="o">=</span><spanclass="default_value">False</span></em>, <emclass="sig-param"><spanclass="n">testmode</span><spanclass="o">=</span><spanclass="default_value">False</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.login"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.login"title="Permalink to this definition">¶</a></dt>
<dd><p>Log in the previously unloggedin session and the account we by now should know is connected
to it. After this point we assume the session to be logged in one way or another.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>session</strong> (<aclass="reference internal"href="evennia.server.session.html#evennia.server.session.Session"title="evennia.server.session.Session"><em>Session</em></a>) – The Session to authenticate.</p></li>
<li><p><strong>account</strong> (<em>Account</em>) – The Account identified as associated with this Session.</p></li>
<li><p><strong>force</strong> (<em>bool</em>) – Login also if the session thinks it’s already logged in
(this can happen for auto-authenticating protocols)</p></li>
<li><p><strong>testmode</strong> (<em>bool</em><em>, </em><em>optional</em>) – This is used by unittesting for
faking login without any AMP being actually active.</p></li>
<codeclass="sig-name descname">disconnect</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">session</span></em>, <emclass="sig-param"><spanclass="n">reason</span><spanclass="o">=</span><spanclass="default_value">''</span></em>, <emclass="sig-param"><spanclass="n">sync_portal</span><spanclass="o">=</span><spanclass="default_value">True</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.disconnect"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.disconnect"title="Permalink to this definition">¶</a></dt>
<dd><p>Called from server side to remove session and inform portal
of this fact.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>session</strong> (<aclass="reference internal"href="evennia.server.session.html#evennia.server.session.Session"title="evennia.server.session.Session"><em>Session</em></a>) – The Session to disconnect.</p></li>
<li><p><strong>reason</strong> (<em>str</em><em>, </em><em>optional</em>) – A motivation for the disconnect.</p></li>
<li><p><strong>sync_portal</strong> (<em>bool</em><em>, </em><em>optional</em>) – Sync the disconnect to
<codeclass="sig-name descname">all_sessions_portal_sync</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.all_sessions_portal_sync"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.all_sessions_portal_sync"title="Permalink to this definition">¶</a></dt>
<dd><p>This is called by the server when it reboots. It syncs all session data
<codeclass="sig-name descname">session_portal_sync</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">session</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.session_portal_sync"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.session_portal_sync"title="Permalink to this definition">¶</a></dt>
<dd><p>This is called by the server when it wants to sync a single session
with the Portal for whatever reason. Returns a deferred!</p>
<codeclass="sig-name descname">session_portal_partial_sync</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">session_data</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.session_portal_partial_sync"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.session_portal_partial_sync"title="Permalink to this definition">¶</a></dt>
<dd><p>Call to make a partial update of the session, such as only a particular property.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>session_data</strong> (<em>dict</em>) – Store <strong>{sessid: {property:value}, …}</strong> defining one or
<codeclass="sig-name descname">disconnect_all_sessions</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">reason</span><spanclass="o">=</span><spanclass="default_value">'You have been disconnected.'</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.disconnect_all_sessions"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.disconnect_all_sessions"title="Permalink to this definition">¶</a></dt>
<dd><p>Cleanly disconnect all of the connected sessions.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>reason</strong> (<em>str</em><em>, </em><em>optional</em>) – The reason for the disconnection.</p>
<codeclass="sig-name descname">disconnect_duplicate_sessions</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">curr_session</span></em>, <emclass="sig-param"><spanclass="n">reason</span><spanclass="o">=</span><spanclass="default_value">'Logged in from elsewhere. Disconnecting.'</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.disconnect_duplicate_sessions"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.disconnect_duplicate_sessions"title="Permalink to this definition">¶</a></dt>
<dd><p>Disconnects any existing sessions with the same user.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>curr_session</strong> (<aclass="reference internal"href="evennia.server.session.html#evennia.server.session.Session"title="evennia.server.session.Session"><em>Session</em></a>) – Disconnect all Sessions matching this one.</p></li>
<li><p><strong>reason</strong> (<em>str</em><em>, </em><em>optional</em>) – A motivation for disconnecting.</p></li>
<codeclass="sig-name descname">validate_sessions</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.validate_sessions"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.validate_sessions"title="Permalink to this definition">¶</a></dt>
<dd><p>Check all currently connected sessions (logged in and not) and
<codeclass="sig-name descname">account_count</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.account_count"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.account_count"title="Permalink to this definition">¶</a></dt>
<dd><p>Get the number of connected accounts (not sessions since a
account may have more than one session depending on settings).
Only logged-in accounts are counted here.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Returns</dt>
<ddclass="field-odd"><p><em>naccount (int)</em>– Number of connected accounts</p>
<codeclass="sig-name descname">all_connected_accounts</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.all_connected_accounts"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.all_connected_accounts"title="Permalink to this definition">¶</a></dt>
<dd><p>Get a unique list of connected and logged-in Accounts.</p>
<codeclass="sig-name descname">session_from_sessid</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">sessid</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.session_from_sessid"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.session_from_sessid"title="Permalink to this definition">¶</a></dt>
<dd><p>Get session based on sessid, or None if not found</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>sessid</strong> (<em>int</em><em> or </em><em>list</em>) – Session id(s).</p>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><p><em>sessions (Session or list)</em>–</p>
<dlclass="simple">
<dt>Session(s) found. This</dt><dd><p>is a list if input was a list.</p>
<codeclass="sig-name descname">session_from_account</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">account</span></em>, <emclass="sig-param"><spanclass="n">sessid</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.session_from_account"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.session_from_account"title="Permalink to this definition">¶</a></dt>
<dd><p>Given an account and a session id, return the actual session
object.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>account</strong> (<em>Account</em>) – The Account to get the Session from.</p></li>
<li><p><strong>sessid</strong> (<em>int</em><em> or </em><em>list</em>) – Session id(s).</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>sessions (Session or list)</em>– Session(s) found.</p>
<codeclass="sig-name descname">sessions_from_account</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">account</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.sessions_from_account"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.sessions_from_account"title="Permalink to this definition">¶</a></dt>
<dd><p>Given an account, return all matching sessions.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>account</strong> (<em>Account</em>) – Account to get sessions from.</p>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>sessions (list)</em>– All Sessions associated with this account.</p>
<codeclass="sig-name descname">sessions_from_puppet</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">puppet</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.sessions_from_puppet"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.sessions_from_puppet"title="Permalink to this definition">¶</a></dt>
<dd><p>Given a puppeted object, return all controlling sessions.</p>
<codeclass="sig-name descname">sessions_from_character</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">puppet</span></em><spanclass="sig-paren">)</span><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.sessions_from_character"title="Permalink to this definition">¶</a></dt>
<dd><p>Given a puppeted object, return all controlling sessions.</p>
<codeclass="sig-name descname">sessions_from_csessid</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">csessid</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.sessions_from_csessid"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.sessions_from_csessid"title="Permalink to this definition">¶</a></dt>
<dd><p>Given a client identification hash (for session types that offer them)
return all sessions with a matching hash.</p>
<dlclass="simple">
<dt>Args</dt><dd><p>csessid (str): The session hash.</p>
</dd>
</dl>
<dlclass="field-list simple">
<dtclass="field-odd">Returns</dt>
<ddclass="field-odd"><p><em>sessions (list)</em>– The sessions with matching .csessid, if any.</p>
<codeclass="sig-name descname">announce_all</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">message</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.announce_all"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.announce_all"title="Permalink to this definition">¶</a></dt>
<dd><p>Send message to all connected sessions</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>message</strong> (<em>str</em>) – Message to send.</p>
<codeclass="sig-name descname">data_out</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">session</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.data_out"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.data_out"title="Permalink to this definition">¶</a></dt>
<dd><p>Sending data Server -> Portal</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>session</strong> (<aclass="reference internal"href="evennia.server.session.html#evennia.server.session.Session"title="evennia.server.session.Session"><em>Session</em></a>) – Session to relay to.</p></li>
<li><p><strong>text</strong> (<em>str</em><em>, </em><em>optional</em>) – text data to return</p></li>
</ul>
</dd>
</dl>
<pclass="rubric">Notes</p>
<p>The outdata will be scrubbed for sending across
<codeclass="sig-name descname">get_inputfuncs</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.get_inputfuncs"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.get_inputfuncs"title="Permalink to this definition">¶</a></dt>
<dd><p>Get all registered inputfuncs (access function)</p>
<dlclass="field-list simple">
<dtclass="field-odd">Returns</dt>
<ddclass="field-odd"><p><em>inputfuncs (dict)</em>– A dict of {key:inputfunc,…}</p>
<codeclass="sig-name descname">data_in</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">session</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.data_in"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.data_in"title="Permalink to this definition">¶</a></dt>
<dd><p>We let the data take a “detour” to session.data_in
so the user can override and see it all in one place.
That method is responsible to in turn always call
this class’<strong>sessionhandler.call_inputfunc</strong> with the
<codeclass="sig-name descname">call_inputfuncs</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">session</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.call_inputfuncs"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.call_inputfuncs"title="Permalink to this definition">¶</a></dt>
<dd><p>Split incoming data into its inputfunc counterparts. This should be
called by the <strong>serversession.data_in</strong> as