<spanid="evennia-server-serversession"></span><h1>evennia.server.serversession<aclass="headerlink"href="#module-evennia.server.serversession"title="Permalink to this headline">¶</a></h1>
<p>This defines a the Server’s generic session object. This object represents
a connection to the outside world but don’t know any details about how the
connection actually happens (so it’s the same for telnet, web, ssh etc).</p>
<p>It is stored on the Server side (as opposed to protocol-specific sessions which
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.server.serversession.</code><codeclass="sig-name descname">ServerSession</code><aclass="reference internal"href="../_modules/evennia/server/serversession.html#ServerSession"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.serversession.ServerSession"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/serversession.html#ServerSession.__init__"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.serversession.ServerSession.__init__"title="Permalink to this definition">¶</a></dt>
<dd><p>Initiate to avoid AttributeErrors down the line</p>
<emclass="property">property </em><codeclass="sig-name descname">cmdset_storage</code><aclass="headerlink"href="#evennia.server.serversession.ServerSession.cmdset_storage"title="Permalink to this definition">¶</a></dt>
<emclass="property">property </em><codeclass="sig-name descname">id</code><aclass="headerlink"href="#evennia.server.serversession.ServerSession.id"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_sync</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/serversession.html#ServerSession.at_sync"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.serversession.ServerSession.at_sync"title="Permalink to this definition">¶</a></dt>
<dd><p>This is called whenever a session has been resynced with the
portal. At this point all relevant attributes have already
been set and self.account been assigned (if applicable).</p>
<p>Since this is often called after a server restart we need to
<codeclass="sig-name descname">at_login</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">account</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/serversession.html#ServerSession.at_login"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.serversession.ServerSession.at_login"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_disconnect</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">reason</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/serversession.html#ServerSession.at_disconnect"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.serversession.ServerSession.at_disconnect"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">get_account</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/serversession.html#ServerSession.get_account"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.serversession.ServerSession.get_account"title="Permalink to this definition">¶</a></dt>
<dd><p>Get the account associated with this session</p>
<dlclass="field-list simple">
<dtclass="field-odd">Returns</dt>
<ddclass="field-odd"><p><em>account (Account)</em>– The associated Account.</p>
<codeclass="sig-name descname">get_puppet</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/serversession.html#ServerSession.get_puppet"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.serversession.ServerSession.get_puppet"title="Permalink to this definition">¶</a></dt>
<dd><p>Get the in-game character associated with this session.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Returns</dt>
<ddclass="field-odd"><p><em>puppet (Object)</em>– The puppeted object, if any.</p>
<codeclass="sig-name descname">get_character</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="headerlink"href="#evennia.server.serversession.ServerSession.get_character"title="Permalink to this definition">¶</a></dt>
<dd><p>Get the in-game character associated with this session.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Returns</dt>
<ddclass="field-odd"><p><em>puppet (Object)</em>– The puppeted object, if any.</p>
<codeclass="sig-name descname">get_puppet_or_account</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/serversession.html#ServerSession.get_puppet_or_account"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.serversession.ServerSession.get_puppet_or_account"title="Permalink to this definition">¶</a></dt>
<dd><p>Get puppet or account.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Returns</dt>
<ddclass="field-odd"><p><p><em>controller (Object or Account)</em>–</p>
<dlclass="simple">
<dt>The puppet if one exists,</dt><dd><p>otherwise return the account.</p>
<codeclass="sig-name descname">log</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">message</span></em>, <emclass="sig-param"><spanclass="n">channel</span><spanclass="o">=</span><spanclass="default_value">True</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/serversession.html#ServerSession.log"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.serversession.ServerSession.log"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">get_client_size</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/serversession.html#ServerSession.get_client_size"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.serversession.ServerSession.get_client_size"title="Permalink to this definition">¶</a></dt>
<dd><p>Return eventual eventual width and height reported by the
client. Note that this currently only deals with a single
client window (windowID==0) as in a traditional telnet session.</p>
<codeclass="sig-name descname">update_session_counters</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">idle</span><spanclass="o">=</span><spanclass="default_value">False</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/serversession.html#ServerSession.update_session_counters"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.serversession.ServerSession.update_session_counters"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">update_flags</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/serversession.html#ServerSession.update_flags"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.serversession.ServerSession.update_flags"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">data_out</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/serversession.html#ServerSession.data_out"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.serversession.ServerSession.data_out"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">data_in</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/serversession.html#ServerSession.data_in"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.serversession.ServerSession.data_in"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">msg</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">text</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/serversession.html#ServerSession.msg"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.serversession.ServerSession.msg"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">execute_cmd</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">raw_string</span></em>, <emclass="sig-param"><spanclass="n">session</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/serversession.html#ServerSession.execute_cmd"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.serversession.ServerSession.execute_cmd"title="Permalink to this definition">¶</a></dt>
<dd><p>Do something as this object. This method is normally never
called directly, instead incoming command instructions are
sent to the appropriate inputfunc already at the sessionhandler
level. This method allows Python code to inject commands into
this stream, and will lead to the text inputfunc be called.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>raw_string</strong> (<em>string</em>) – Raw command input</p></li>
<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>) – This is here to make API consistent with
Account/Object.execute_cmd. If given, data is passed to
that Session, otherwise use self.</p></li>
</ul>
</dd>
<dtclass="field-even">Keyword Arguments</dt>
<ddclass="field-even"><ulclass="simple">
<li><p><strong>keyword arguments will be added to the found command</strong> (<em>Other</em>) –</p></li>
<li><p><strong>instace as variables before it executes. This is</strong> (<aclass="reference internal"href="evennia.scripts.models.html#evennia.scripts.models.ScriptDB.object"title="evennia.scripts.models.ScriptDB.object"><em>object</em></a>) –</p></li>
<li><p><strong>by default Evennia but may be used to set flags and</strong> (<em>unused</em>) –</p></li>
<li><p><strong>operating paramaters for commands at run-time.</strong> (<em>change</em>) –</p></li>
<codeclass="sig-name descname">at_cmdset_get</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/serversession.html#ServerSession.at_cmdset_get"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.serversession.ServerSession.at_cmdset_get"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">nattributes</code><aclass="reference internal"href="../_modules/evennia/server/serversession.html#ServerSession.nattributes"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.serversession.ServerSession.nattributes"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">attributes</code><aclass="reference internal"href="../_modules/evennia/server/serversession.html#ServerSession.attributes"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.serversession.ServerSession.attributes"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">ndb_get</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/serversession.html#ServerSession.ndb_get"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.serversession.ServerSession.ndb_get"title="Permalink to this definition">¶</a></dt>
<dd><p>A non-persistent store (ndb: NonDataBase). Everything stored
to this is guaranteed to be cleared when a server is shutdown.
Syntax is same as for the _get_db_holder() method and
<codeclass="sig-name descname">ndb_set</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">value</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/serversession.html#ServerSession.ndb_set"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.serversession.ServerSession.ndb_set"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">ndb_del</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/server/serversession.html#ServerSession.ndb_del"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.serversession.ServerSession.ndb_del"title="Permalink to this definition">¶</a></dt>
<emclass="property">property </em><codeclass="sig-name descname">ndb</code><aclass="headerlink"href="#evennia.server.serversession.ServerSession.ndb"title="Permalink to this definition">¶</a></dt>
<dd><p>NonDataBase). Everything stored
to this is guaranteed to be cleared when a server is shutdown.
Syntax is same as for the _get_db_holder() method and
property, e.g. obj.ndb.attr = value etc.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Type</dt>
<ddclass="field-odd"><p>A non-persistent store (ndb</p>
<emclass="property">property </em><codeclass="sig-name descname">db</code><aclass="headerlink"href="#evennia.server.serversession.ServerSession.db"title="Permalink to this definition">¶</a></dt>
<dd><p>NonDataBase). Everything stored
to this is guaranteed to be cleared when a server is shutdown.
Syntax is same as for the _get_db_holder() method and
property, e.g. obj.ndb.attr = value etc.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Type</dt>
<ddclass="field-odd"><p>A non-persistent store (ndb</p>
<codeclass="sig-name descname">access</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/serversession.html#ServerSession.access"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.serversession.ServerSession.access"title="Permalink to this definition">¶</a></dt>