<spanid="evennia-server-sessionhandler"></span><h1>evennia.server.sessionhandler<aclass="headerlink"href="#module-evennia.server.sessionhandler"title="Link to this heading">¶</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"><spanclass="k"><spanclass="pre">class</span></span><spanclass="w"></span></em><spanclass="sig-prename descclassname"><spanclass="pre">evennia.server.sessionhandler.</span></span><spanclass="sig-name descname"><spanclass="pre">DummySession</span></span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#DummySession"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.sessionhandler.DummySession"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">sessid</span></span><emclass="property"><spanclass="w"></span><spanclass="p"><spanclass="pre">=</span></span><spanclass="w"></span><spanclass="pre">0</span></em><aclass="headerlink"href="#evennia.server.sessionhandler.DummySession.sessid"title="Link to this definition">¶</a></dt>
<spanclass="sig-prename descclassname"><spanclass="pre">evennia.server.sessionhandler.</span></span><spanclass="sig-name descname"><spanclass="pre">delayed_import</span></span><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#delayed_import"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.sessionhandler.delayed_import"title="Link to this definition">¶</a></dt>
<dd><p>Helper method for delayed import of all needed entities.</p>
<emclass="property"><spanclass="k"><spanclass="pre">class</span></span><spanclass="w"></span></em><spanclass="sig-prename descclassname"><spanclass="pre">evennia.server.sessionhandler.</span></span><spanclass="sig-name descname"><spanclass="pre">SessionHandler</span></span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#SessionHandler"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.sessionhandler.SessionHandler"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">get</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">key</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">default</span></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="default_value"><spanclass="pre">None</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#SessionHandler.get"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.sessionhandler.SessionHandler.get"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">get_sessions</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">include_unloggedin</span></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="default_value"><spanclass="pre">False</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#SessionHandler.get_sessions"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.sessionhandler.SessionHandler.get_sessions"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">get_all_sync_data</span></span><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"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.sessionhandler.SessionHandler.get_all_sync_data"title="Link to this definition">¶</a></dt>
<dd><p>Create a dictionary of sessdata dicts representing all
<spanclass="sig-name descname"><spanclass="pre">clean_senddata</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">session</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">kwargs</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#SessionHandler.clean_senddata"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.sessionhandler.SessionHandler.clean_senddata"title="Link 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>
<emclass="property"><spanclass="k"><spanclass="pre">class</span></span><spanclass="w"></span></em><spanclass="sig-prename descclassname"><spanclass="pre">evennia.server.sessionhandler.</span></span><spanclass="sig-name descname"><spanclass="pre">ServerSessionHandler</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o"><spanclass="pre">*</span></span><spanclass="n"><spanclass="pre">args</span></span></em>, <emclass="sig-param"><spanclass="o"><spanclass="pre">**</span></span><spanclass="n"><spanclass="pre">kwargs</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">__init__</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o"><spanclass="pre">*</span></span><spanclass="n"><spanclass="pre">args</span></span></em>, <emclass="sig-param"><spanclass="o"><spanclass="pre">**</span></span><spanclass="n"><spanclass="pre">kwargs</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.__init__"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.__init__"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">portal_connect</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">portalsessiondata</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.portal_connect"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.portal_connect"title="Link to this definition">¶</a></dt>
<dd><p>Called by Portal when a new session has connected.
<spanclass="sig-name descname"><spanclass="pre">portal_session_sync</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">portalsessiondata</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.portal_session_sync"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.portal_session_sync"title="Link 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>
<spanclass="sig-name descname"><spanclass="pre">portal_sessions_sync</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">portalsessionsdata</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.portal_sessions_sync"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.portal_sessions_sync"title="Link 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>
<spanclass="sig-name descname"><spanclass="pre">portal_disconnect</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">session</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.portal_disconnect"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.portal_disconnect"title="Link 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>
<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>
<spanclass="sig-name descname"><spanclass="pre">portal_disconnect_all</span></span><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.portal_disconnect_all"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.portal_disconnect_all"title="Link 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>
<spanclass="sig-name descname"><spanclass="pre">start_bot_session</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">protocol_path</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">configdict</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.start_bot_session"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.start_bot_session"title="Link to this definition">¶</a></dt>
<dd><p>This method allows the server-side to force the Portal to
<spanclass="sig-name descname"><spanclass="pre">portal_restart_server</span></span><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.portal_restart_server"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.portal_restart_server"title="Link to this definition">¶</a></dt>
<dd><p>Called by server when reloading. We tell the portal to start a new server instance.</p>
<spanclass="sig-name descname"><spanclass="pre">portal_reset_server</span></span><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.portal_reset_server"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.portal_reset_server"title="Link to this definition">¶</a></dt>
<dd><p>Called by server when reloading. We tell the portal to start a new server instance.</p>
<spanclass="sig-name descname"><spanclass="pre">portal_shutdown</span></span><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.portal_shutdown"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.portal_shutdown"title="Link 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
<spanclass="sig-name descname"><spanclass="pre">login</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">session</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">account</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">force</span></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="default_value"><spanclass="pre">False</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">testmode</span></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="default_value"><spanclass="pre">False</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.login"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.login"title="Link 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>
<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>
<spanclass="sig-name descname"><spanclass="pre">disconnect</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">session</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">reason</span></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="default_value"><spanclass="pre">''</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">sync_portal</span></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="default_value"><spanclass="pre">True</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.disconnect"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.disconnect"title="Link to this definition">¶</a></dt>
<dd><p>Called from server side to remove session and inform portal
<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
<spanclass="sig-name descname"><spanclass="pre">all_sessions_portal_sync</span></span><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"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.all_sessions_portal_sync"title="Link to this definition">¶</a></dt>
<dd><p>This is called by the server when it reboots. It syncs all session data
<spanclass="sig-name descname"><spanclass="pre">session_portal_sync</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">session</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.session_portal_sync"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.session_portal_sync"title="Link 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>
<spanclass="sig-name descname"><spanclass="pre">session_portal_partial_sync</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">session_data</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.session_portal_partial_sync"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.session_portal_partial_sync"title="Link to this definition">¶</a></dt>
<dd><p>Call to make a partial update of the session, such as only a particular property.</p>
<spanclass="sig-name descname"><spanclass="pre">disconnect_all_sessions</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">reason</span></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="default_value"><spanclass="pre">'You</span><spanclass="pre">have</span><spanclass="pre">been</span><spanclass="pre">disconnected.'</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.disconnect_all_sessions"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.disconnect_all_sessions"title="Link to this definition">¶</a></dt>
<dd><p>Cleanly disconnect all of the connected sessions.</p>
<spanclass="sig-name descname"><spanclass="pre">disconnect_duplicate_sessions</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">curr_session</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">reason</span></span><spanclass="o"><spanclass="pre">=</span></span><spanclass="default_value"><spanclass="pre">'Logged</span><spanclass="pre">in</span><spanclass="pre">from</span><spanclass="pre">elsewhere.</span><spanclass="pre">Disconnecting.'</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.disconnect_duplicate_sessions"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.disconnect_duplicate_sessions"title="Link to this definition">¶</a></dt>
<dd><p>Disconnects any existing sessions with the same user.</p>
<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>
<spanclass="sig-name descname"><spanclass="pre">validate_sessions</span></span><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.validate_sessions"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.validate_sessions"title="Link to this definition">¶</a></dt>
<dd><p>Check all currently connected sessions (logged in and not) and
<spanclass="sig-name descname"><spanclass="pre">account_count</span></span><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.account_count"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.account_count"title="Link 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).
<spanclass="sig-name descname"><spanclass="pre">all_connected_accounts</span></span><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.all_connected_accounts"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.all_connected_accounts"title="Link to this definition">¶</a></dt>
<dd><p>Get a unique list of connected and logged-in Accounts.</p>
<spanclass="sig-name descname"><spanclass="pre">session_from_sessid</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">sessid</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.session_from_sessid"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.session_from_sessid"title="Link to this definition">¶</a></dt>
<dd><p>Get session based on sessid, or None if not found</p>
<spanclass="sig-name descname"><spanclass="pre">session_from_account</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">account</span></span></em>, <emclass="sig-param"><spanclass="n"><spanclass="pre">sessid</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.session_from_account"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.session_from_account"title="Link to this definition">¶</a></dt>
<dd><p>Given an account and a session id, return the actual session
<spanclass="sig-name descname"><spanclass="pre">sessions_from_account</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">account</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.sessions_from_account"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.sessions_from_account"title="Link to this definition">¶</a></dt>
<dd><p>Given an account, return all matching sessions.</p>
<spanclass="sig-name descname"><spanclass="pre">sessions_from_puppet</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">puppet</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.sessions_from_puppet"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.sessions_from_puppet"title="Link to this definition">¶</a></dt>
<dd><p>Given a puppeted object, return all controlling sessions.</p>
<spanclass="sig-name descname"><spanclass="pre">sessions_from_character</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">puppet</span></span></em><spanclass="sig-paren">)</span><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.sessions_from_character"title="Link to this definition">¶</a></dt>
<dd><p>Given a puppeted object, return all controlling sessions.</p>
<spanclass="sig-name descname"><spanclass="pre">sessions_from_csessid</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">csessid</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.sessions_from_csessid"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.sessions_from_csessid"title="Link 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>
<spanclass="sig-name descname"><spanclass="pre">announce_all</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">message</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.announce_all"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.announce_all"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">data_out</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">session</span></span></em>, <emclass="sig-param"><spanclass="o"><spanclass="pre">**</span></span><spanclass="n"><spanclass="pre">kwargs</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.data_out"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.data_out"title="Link to this definition">¶</a></dt>
<spanclass="sig-name descname"><spanclass="pre">get_inputfuncs</span></span><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.get_inputfuncs"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.get_inputfuncs"title="Link to this definition">¶</a></dt>
<dd><p>Get all registered inputfuncs (access function)</p>
<spanclass="sig-name descname"><spanclass="pre">data_in</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">session</span></span></em>, <emclass="sig-param"><spanclass="o"><spanclass="pre">**</span></span><spanclass="n"><spanclass="pre">kwargs</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.data_in"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.data_in"title="Link 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
<spanclass="sig-name descname"><spanclass="pre">call_inputfuncs</span></span><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n"><spanclass="pre">session</span></span></em>, <emclass="sig-param"><spanclass="o"><spanclass="pre">**</span></span><spanclass="n"><spanclass="pre">kwargs</span></span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/sessionhandler.html#ServerSessionHandler.call_inputfuncs"><spanclass="viewcode-link"><spanclass="pre">[source]</span></span></a><aclass="headerlink"href="#evennia.server.sessionhandler.ServerSessionHandler.call_inputfuncs"title="Link 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