mirror of
https://github.com/evennia/evennia.git
synced 2026-03-23 08:16:30 +01:00
3872 lines
No EOL
287 KiB
HTML
3872 lines
No EOL
287 KiB
HTML
|
||
<!DOCTYPE html>
|
||
|
||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||
<head>
|
||
<meta charset="utf-8" />
|
||
<title>evennia.server.portal package — Evennia 1.0-dev documentation</title>
|
||
<link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
|
||
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
||
<script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
|
||
<script src="../_static/jquery.js"></script>
|
||
<script src="../_static/underscore.js"></script>
|
||
<script src="../_static/doctools.js"></script>
|
||
<script src="../_static/language_data.js"></script>
|
||
<link rel="index" title="Index" href="../genindex.html" />
|
||
<link rel="search" title="Search" href="../search.html" />
|
||
|
||
<link rel="stylesheet" href="../_static/custom.css" type="text/css" />
|
||
|
||
|
||
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
|
||
|
||
</head><body>
|
||
|
||
|
||
<div class="document">
|
||
<div class="documentwrapper">
|
||
<div class="bodywrapper">
|
||
|
||
|
||
<div class="body" role="main">
|
||
|
||
<div class="section" id="module-evennia.server.portal">
|
||
<span id="evennia-server-portal-package"></span><h1>evennia.server.portal package<a class="headerlink" href="#module-evennia.server.portal" title="Permalink to this headline">¶</a></h1>
|
||
<div class="section" id="submodules">
|
||
<h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this headline">¶</a></h2>
|
||
</div>
|
||
<div class="section" id="module-evennia.server.portal.amp">
|
||
<span id="evennia-server-portal-amp-module"></span><h2>evennia.server.portal.amp module<a class="headerlink" href="#module-evennia.server.portal.amp" title="Permalink to this headline">¶</a></h2>
|
||
<p>The AMP (Asynchronous Message Protocol)-communication commands and constants used by Evennia.</p>
|
||
<p>This module acts as a central place for AMP-servers and -clients to get commands to use.</p>
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.amp.AMPMultiConnectionProtocol">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.amp.</code><code class="sig-name descname">AMPMultiConnectionProtocol</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/amp.html#AMPMultiConnectionProtocol"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.amp.AMPMultiConnectionProtocol" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">twisted.protocols.amp.AMP</span></code></p>
|
||
<p>AMP protocol that safely handle multiple connections to the same
|
||
server without dropping old ones - new clients will receive
|
||
all server returns (broadcast). Will also correctly handle
|
||
erroneous HTTP requests on the port and return a HTTP error response.</p>
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.amp.AMPMultiConnectionProtocol.__init__">
|
||
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/amp.html#AMPMultiConnectionProtocol.__init__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.amp.AMPMultiConnectionProtocol.__init__" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Initialize protocol with some things that need to be in place
|
||
already before connecting both on portal and server.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.AMPMultiConnectionProtocol._commandDispatch">
|
||
<code class="sig-name descname">_commandDispatch</code><em class="property"> = {b'FunctionCall': (<class 'evennia.server.portal.amp.FunctionCall'>, <function catch_traceback>), b'StartTLS': (<class 'twisted.protocols.amp.StartTLS'>, <function BinaryBoxProtocol._defaultStartTLSResponder>)}</em><a class="headerlink" href="#evennia.server.portal.amp.AMPMultiConnectionProtocol._commandDispatch" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.amp.AMPMultiConnectionProtocol.broadcast">
|
||
<code class="sig-name descname">broadcast</code><span class="sig-paren">(</span><em class="sig-param">command</em>, <em class="sig-param">sessid</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/amp.html#AMPMultiConnectionProtocol.broadcast"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.amp.AMPMultiConnectionProtocol.broadcast" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Send data across the wire to all connections.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>command</strong> (<em>AMP Command</em>) – A protocol send command.</p></li>
|
||
<li><p><strong>sessid</strong> (<em>int</em>) – A unique Session id.</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p>A deferred with an errback.</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p>deferred (deferred or None)</p>
|
||
</dd>
|
||
</dl>
|
||
<p class="rubric">Notes</p>
|
||
<p>Data will be sent across the wire pickled as a tuple
|
||
(sessid, kwargs).</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.amp.AMPMultiConnectionProtocol.connectionLost">
|
||
<code class="sig-name descname">connectionLost</code><span class="sig-paren">(</span><em class="sig-param">reason</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/amp.html#AMPMultiConnectionProtocol.connectionLost"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.amp.AMPMultiConnectionProtocol.connectionLost" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>We swallow connection errors here. The reason is that during a
|
||
normal reload/shutdown there will almost always be cases where
|
||
either the portal or server shuts down before a message has
|
||
returned its (empty) return, triggering a connectionLost error
|
||
that is irrelevant. If a true connection error happens, the
|
||
portal will continuously try to reconnect, showing the problem
|
||
that way.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.amp.AMPMultiConnectionProtocol.connectionMade">
|
||
<code class="sig-name descname">connectionMade</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/amp.html#AMPMultiConnectionProtocol.connectionMade"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.amp.AMPMultiConnectionProtocol.connectionMade" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>This is called when an AMP connection is (re-)established. AMP calls it on both sides.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.amp.AMPMultiConnectionProtocol.dataReceived">
|
||
<code class="sig-name descname">dataReceived</code><span class="sig-paren">(</span><em class="sig-param">data</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/amp.html#AMPMultiConnectionProtocol.dataReceived"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.amp.AMPMultiConnectionProtocol.dataReceived" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Handle non-AMP messages, such as HTTP communication.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.amp.AMPMultiConnectionProtocol.data_in">
|
||
<code class="sig-name descname">data_in</code><span class="sig-paren">(</span><em class="sig-param">packed_data</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/amp.html#AMPMultiConnectionProtocol.data_in"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.amp.AMPMultiConnectionProtocol.data_in" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Process incoming packed data.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>packed_data</strong> (<em>bytes</em>) – Pickled data.</p>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p>Unpickled package</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p>unpaced_data (any)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.amp.AMPMultiConnectionProtocol.errback">
|
||
<code class="sig-name descname">errback</code><span class="sig-paren">(</span><em class="sig-param">e</em>, <em class="sig-param">info</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/amp.html#AMPMultiConnectionProtocol.errback"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.amp.AMPMultiConnectionProtocol.errback" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Error callback.
|
||
Handles errors to avoid dropping connections on server tracebacks.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>e</strong> (<em>Failure</em>) – Deferred error instance.</p></li>
|
||
<li><p><strong>info</strong> (<em>str</em>) – Error string.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.amp.AMPMultiConnectionProtocol.makeConnection">
|
||
<code class="sig-name descname">makeConnection</code><span class="sig-paren">(</span><em class="sig-param">transport</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/amp.html#AMPMultiConnectionProtocol.makeConnection"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.amp.AMPMultiConnectionProtocol.makeConnection" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Swallow connection log message here. Copied from original
|
||
in the amp protocol.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.amp.AMPMultiConnectionProtocol.receive_functioncall">
|
||
<code class="sig-name descname">receive_functioncall</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/amp.html#AMPMultiConnectionProtocol.receive_functioncall"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.amp.AMPMultiConnectionProtocol.receive_functioncall" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Helper decorator</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.amp.AMPMultiConnectionProtocol.send_FunctionCall">
|
||
<code class="sig-name descname">send_FunctionCall</code><span class="sig-paren">(</span><em class="sig-param">modulepath</em>, <em class="sig-param">functionname</em>, <em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/amp.html#AMPMultiConnectionProtocol.send_FunctionCall"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.amp.AMPMultiConnectionProtocol.send_FunctionCall" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Access method called by either process. This will call an arbitrary
|
||
function on the other process (On Portal if calling from Server and
|
||
vice versa).</p>
|
||
<dl>
|
||
<dt>Inputs:</dt><dd><p>modulepath (str) - python path to module holding function to call
|
||
functionname (str) - name of function in given module
|
||
<a href="#id1"><span class="problematic" id="id2">*</span></a>args, <a href="#id3"><span class="problematic" id="id4">**</span></a>kwargs will be used as arguments/keyword args for the</p>
|
||
<blockquote>
|
||
<div><p>remote function call</p>
|
||
</div></blockquote>
|
||
</dd>
|
||
</dl>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Returns</dt>
|
||
<dd class="field-odd"><p>A deferred that fires with the return value of the remote
|
||
function call</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.amp.AdminPortal2Server">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.amp.</code><code class="sig-name descname">AdminPortal2Server</code><span class="sig-paren">(</span><em class="sig-param">**kw</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/amp.html#AdminPortal2Server"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.amp.AdminPortal2Server" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">twisted.protocols.amp.Command</span></code></p>
|
||
<p>Administration Portal -> Server</p>
|
||
<p>Sent when the portal needs to perform admin operations on the
|
||
server, such as when a new session connects or resyncs</p>
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.AdminPortal2Server.allErrors">
|
||
<code class="sig-name descname">allErrors</code><em class="property"> = {<class 'Exception'>: b'EXCEPTION'}</em><a class="headerlink" href="#evennia.server.portal.amp.AdminPortal2Server.allErrors" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.AdminPortal2Server.arguments">
|
||
<code class="sig-name descname">arguments</code><em class="property"> = [(b'packed_data', <evennia.server.portal.amp.Compressed object>)]</em><a class="headerlink" href="#evennia.server.portal.amp.AdminPortal2Server.arguments" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.AdminPortal2Server.commandName">
|
||
<code class="sig-name descname">commandName</code><em class="property"> = b'AdminPortal2Server'</em><a class="headerlink" href="#evennia.server.portal.amp.AdminPortal2Server.commandName" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.AdminPortal2Server.errors">
|
||
<code class="sig-name descname">errors</code><em class="property"> = {<class 'Exception'>: b'EXCEPTION'}</em><a class="headerlink" href="#evennia.server.portal.amp.AdminPortal2Server.errors" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.AdminPortal2Server.key">
|
||
<code class="sig-name descname">key</code><em class="property"> = 'AdminPortal2Server'</em><a class="headerlink" href="#evennia.server.portal.amp.AdminPortal2Server.key" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.AdminPortal2Server.response">
|
||
<code class="sig-name descname">response</code><em class="property"> = []</em><a class="headerlink" href="#evennia.server.portal.amp.AdminPortal2Server.response" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.AdminPortal2Server.reverseErrors">
|
||
<code class="sig-name descname">reverseErrors</code><em class="property"> = {b'EXCEPTION': <class 'Exception'>}</em><a class="headerlink" href="#evennia.server.portal.amp.AdminPortal2Server.reverseErrors" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.amp.AdminServer2Portal">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.amp.</code><code class="sig-name descname">AdminServer2Portal</code><span class="sig-paren">(</span><em class="sig-param">**kw</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/amp.html#AdminServer2Portal"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.amp.AdminServer2Portal" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">twisted.protocols.amp.Command</span></code></p>
|
||
<p>Administration Server -> Portal</p>
|
||
<p>Sent when the server needs to perform admin operations on the
|
||
portal.</p>
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.AdminServer2Portal.allErrors">
|
||
<code class="sig-name descname">allErrors</code><em class="property"> = {<class 'Exception'>: b'EXCEPTION'}</em><a class="headerlink" href="#evennia.server.portal.amp.AdminServer2Portal.allErrors" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.AdminServer2Portal.arguments">
|
||
<code class="sig-name descname">arguments</code><em class="property"> = [(b'packed_data', <evennia.server.portal.amp.Compressed object>)]</em><a class="headerlink" href="#evennia.server.portal.amp.AdminServer2Portal.arguments" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.AdminServer2Portal.commandName">
|
||
<code class="sig-name descname">commandName</code><em class="property"> = b'AdminServer2Portal'</em><a class="headerlink" href="#evennia.server.portal.amp.AdminServer2Portal.commandName" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.AdminServer2Portal.errors">
|
||
<code class="sig-name descname">errors</code><em class="property"> = {<class 'Exception'>: b'EXCEPTION'}</em><a class="headerlink" href="#evennia.server.portal.amp.AdminServer2Portal.errors" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.AdminServer2Portal.key">
|
||
<code class="sig-name descname">key</code><em class="property"> = 'AdminServer2Portal'</em><a class="headerlink" href="#evennia.server.portal.amp.AdminServer2Portal.key" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.AdminServer2Portal.response">
|
||
<code class="sig-name descname">response</code><em class="property"> = []</em><a class="headerlink" href="#evennia.server.portal.amp.AdminServer2Portal.response" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.AdminServer2Portal.reverseErrors">
|
||
<code class="sig-name descname">reverseErrors</code><em class="property"> = {b'EXCEPTION': <class 'Exception'>}</em><a class="headerlink" href="#evennia.server.portal.amp.AdminServer2Portal.reverseErrors" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.amp.Compressed">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.amp.</code><code class="sig-name descname">Compressed</code><span class="sig-paren">(</span><em class="sig-param">optional=False</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/amp.html#Compressed"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.amp.Compressed" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">twisted.protocols.amp.String</span></code></p>
|
||
<p>This is a custom AMP command Argument that both handles too-long
|
||
sends as well as uses zlib for compression across the wire. The
|
||
batch-grouping of too-long sends is borrowed from the “mediumbox”
|
||
recipy at twisted-hacks’s ~glyph/+junk/amphacks/mediumbox.</p>
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.amp.Compressed.fromBox">
|
||
<code class="sig-name descname">fromBox</code><span class="sig-paren">(</span><em class="sig-param">name</em>, <em class="sig-param">strings</em>, <em class="sig-param">objects</em>, <em class="sig-param">proto</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/amp.html#Compressed.fromBox"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.amp.Compressed.fromBox" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Converts from box string representation to python. We read back too-long batched data and
|
||
put it back together here.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.amp.Compressed.fromString">
|
||
<code class="sig-name descname">fromString</code><span class="sig-paren">(</span><em class="sig-param">inString</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/amp.html#Compressed.fromString"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.amp.Compressed.fromString" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Convert (decompress) from the string-representation on the wire to Python.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.amp.Compressed.toBox">
|
||
<code class="sig-name descname">toBox</code><span class="sig-paren">(</span><em class="sig-param">name</em>, <em class="sig-param">strings</em>, <em class="sig-param">objects</em>, <em class="sig-param">proto</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/amp.html#Compressed.toBox"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.amp.Compressed.toBox" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Convert from python object to string box representation.
|
||
we break up too-long data snippets into multiple batches here.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.amp.Compressed.toString">
|
||
<code class="sig-name descname">toString</code><span class="sig-paren">(</span><em class="sig-param">inObject</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/amp.html#Compressed.toString"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.amp.Compressed.toString" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Convert to send as a bytestring on the wire, with compression.</p>
|
||
<p>Note: In Py3 this is really a byte stream.</p>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.amp.FunctionCall">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.amp.</code><code class="sig-name descname">FunctionCall</code><span class="sig-paren">(</span><em class="sig-param">**kw</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/amp.html#FunctionCall"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.amp.FunctionCall" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">twisted.protocols.amp.Command</span></code></p>
|
||
<p>Bidirectional Server <-> Portal</p>
|
||
<p>Sent when either process needs to call an arbitrary function in
|
||
the other. This does not use the batch-send functionality.</p>
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.FunctionCall.allErrors">
|
||
<code class="sig-name descname">allErrors</code><em class="property"> = {<class 'Exception'>: b'EXCEPTION'}</em><a class="headerlink" href="#evennia.server.portal.amp.FunctionCall.allErrors" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.FunctionCall.arguments">
|
||
<code class="sig-name descname">arguments</code><em class="property"> = [(b'module', <twisted.protocols.amp.String object>), (b'function', <twisted.protocols.amp.String object>), (b'args', <twisted.protocols.amp.String object>), (b'kwargs', <twisted.protocols.amp.String object>)]</em><a class="headerlink" href="#evennia.server.portal.amp.FunctionCall.arguments" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.FunctionCall.commandName">
|
||
<code class="sig-name descname">commandName</code><em class="property"> = b'FunctionCall'</em><a class="headerlink" href="#evennia.server.portal.amp.FunctionCall.commandName" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.FunctionCall.errors">
|
||
<code class="sig-name descname">errors</code><em class="property"> = {<class 'Exception'>: b'EXCEPTION'}</em><a class="headerlink" href="#evennia.server.portal.amp.FunctionCall.errors" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.FunctionCall.key">
|
||
<code class="sig-name descname">key</code><em class="property"> = 'FunctionCall'</em><a class="headerlink" href="#evennia.server.portal.amp.FunctionCall.key" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.FunctionCall.response">
|
||
<code class="sig-name descname">response</code><em class="property"> = [(b'result', <twisted.protocols.amp.String object>)]</em><a class="headerlink" href="#evennia.server.portal.amp.FunctionCall.response" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.FunctionCall.reverseErrors">
|
||
<code class="sig-name descname">reverseErrors</code><em class="property"> = {b'EXCEPTION': <class 'Exception'>}</em><a class="headerlink" href="#evennia.server.portal.amp.FunctionCall.reverseErrors" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.amp.MsgLauncher2Portal">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.amp.</code><code class="sig-name descname">MsgLauncher2Portal</code><span class="sig-paren">(</span><em class="sig-param">**kw</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/amp.html#MsgLauncher2Portal"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.amp.MsgLauncher2Portal" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">twisted.protocols.amp.Command</span></code></p>
|
||
<p>Message Launcher -> Portal</p>
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.MsgLauncher2Portal.allErrors">
|
||
<code class="sig-name descname">allErrors</code><em class="property"> = {<class 'Exception'>: b'EXCEPTION'}</em><a class="headerlink" href="#evennia.server.portal.amp.MsgLauncher2Portal.allErrors" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.MsgLauncher2Portal.arguments">
|
||
<code class="sig-name descname">arguments</code><em class="property"> = [(b'operation', <twisted.protocols.amp.String object>), (b'arguments', <twisted.protocols.amp.String object>)]</em><a class="headerlink" href="#evennia.server.portal.amp.MsgLauncher2Portal.arguments" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.MsgLauncher2Portal.commandName">
|
||
<code class="sig-name descname">commandName</code><em class="property"> = b'MsgLauncher2Portal'</em><a class="headerlink" href="#evennia.server.portal.amp.MsgLauncher2Portal.commandName" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.MsgLauncher2Portal.errors">
|
||
<code class="sig-name descname">errors</code><em class="property"> = {<class 'Exception'>: b'EXCEPTION'}</em><a class="headerlink" href="#evennia.server.portal.amp.MsgLauncher2Portal.errors" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.MsgLauncher2Portal.key">
|
||
<code class="sig-name descname">key</code><em class="property"> = 'MsgLauncher2Portal'</em><a class="headerlink" href="#evennia.server.portal.amp.MsgLauncher2Portal.key" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.MsgLauncher2Portal.response">
|
||
<code class="sig-name descname">response</code><em class="property"> = []</em><a class="headerlink" href="#evennia.server.portal.amp.MsgLauncher2Portal.response" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.MsgLauncher2Portal.reverseErrors">
|
||
<code class="sig-name descname">reverseErrors</code><em class="property"> = {b'EXCEPTION': <class 'Exception'>}</em><a class="headerlink" href="#evennia.server.portal.amp.MsgLauncher2Portal.reverseErrors" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.amp.MsgPortal2Server">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.amp.</code><code class="sig-name descname">MsgPortal2Server</code><span class="sig-paren">(</span><em class="sig-param">**kw</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/amp.html#MsgPortal2Server"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.amp.MsgPortal2Server" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">twisted.protocols.amp.Command</span></code></p>
|
||
<p>Message Portal -> Server</p>
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.MsgPortal2Server.allErrors">
|
||
<code class="sig-name descname">allErrors</code><em class="property"> = {<class 'Exception'>: b'EXCEPTION'}</em><a class="headerlink" href="#evennia.server.portal.amp.MsgPortal2Server.allErrors" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.MsgPortal2Server.arguments">
|
||
<code class="sig-name descname">arguments</code><em class="property"> = [(b'packed_data', <evennia.server.portal.amp.Compressed object>)]</em><a class="headerlink" href="#evennia.server.portal.amp.MsgPortal2Server.arguments" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.MsgPortal2Server.commandName">
|
||
<code class="sig-name descname">commandName</code><em class="property"> = b'MsgPortal2Server'</em><a class="headerlink" href="#evennia.server.portal.amp.MsgPortal2Server.commandName" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.MsgPortal2Server.errors">
|
||
<code class="sig-name descname">errors</code><em class="property"> = {<class 'Exception'>: b'EXCEPTION'}</em><a class="headerlink" href="#evennia.server.portal.amp.MsgPortal2Server.errors" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.MsgPortal2Server.key">
|
||
<code class="sig-name descname">key</code><em class="property"> = b'MsgPortal2Server'</em><a class="headerlink" href="#evennia.server.portal.amp.MsgPortal2Server.key" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.MsgPortal2Server.response">
|
||
<code class="sig-name descname">response</code><em class="property"> = []</em><a class="headerlink" href="#evennia.server.portal.amp.MsgPortal2Server.response" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.MsgPortal2Server.reverseErrors">
|
||
<code class="sig-name descname">reverseErrors</code><em class="property"> = {b'EXCEPTION': <class 'Exception'>}</em><a class="headerlink" href="#evennia.server.portal.amp.MsgPortal2Server.reverseErrors" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.amp.MsgServer2Portal">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.amp.</code><code class="sig-name descname">MsgServer2Portal</code><span class="sig-paren">(</span><em class="sig-param">**kw</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/amp.html#MsgServer2Portal"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.amp.MsgServer2Portal" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">twisted.protocols.amp.Command</span></code></p>
|
||
<p>Message Server -> Portal</p>
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.MsgServer2Portal.allErrors">
|
||
<code class="sig-name descname">allErrors</code><em class="property"> = {<class 'Exception'>: b'EXCEPTION'}</em><a class="headerlink" href="#evennia.server.portal.amp.MsgServer2Portal.allErrors" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.MsgServer2Portal.arguments">
|
||
<code class="sig-name descname">arguments</code><em class="property"> = [(b'packed_data', <evennia.server.portal.amp.Compressed object>)]</em><a class="headerlink" href="#evennia.server.portal.amp.MsgServer2Portal.arguments" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.MsgServer2Portal.commandName">
|
||
<code class="sig-name descname">commandName</code><em class="property"> = b'MsgServer2Portal'</em><a class="headerlink" href="#evennia.server.portal.amp.MsgServer2Portal.commandName" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.MsgServer2Portal.errors">
|
||
<code class="sig-name descname">errors</code><em class="property"> = {<class 'Exception'>: b'EXCEPTION'}</em><a class="headerlink" href="#evennia.server.portal.amp.MsgServer2Portal.errors" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.MsgServer2Portal.key">
|
||
<code class="sig-name descname">key</code><em class="property"> = 'MsgServer2Portal'</em><a class="headerlink" href="#evennia.server.portal.amp.MsgServer2Portal.key" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.MsgServer2Portal.response">
|
||
<code class="sig-name descname">response</code><em class="property"> = []</em><a class="headerlink" href="#evennia.server.portal.amp.MsgServer2Portal.response" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.MsgServer2Portal.reverseErrors">
|
||
<code class="sig-name descname">reverseErrors</code><em class="property"> = {b'EXCEPTION': <class 'Exception'>}</em><a class="headerlink" href="#evennia.server.portal.amp.MsgServer2Portal.reverseErrors" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.amp.MsgStatus">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.amp.</code><code class="sig-name descname">MsgStatus</code><span class="sig-paren">(</span><em class="sig-param">**kw</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/amp.html#MsgStatus"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.amp.MsgStatus" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">twisted.protocols.amp.Command</span></code></p>
|
||
<p>Check Status between AMP services</p>
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.MsgStatus.allErrors">
|
||
<code class="sig-name descname">allErrors</code><em class="property"> = {<class 'Exception'>: b'EXCEPTION'}</em><a class="headerlink" href="#evennia.server.portal.amp.MsgStatus.allErrors" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.MsgStatus.arguments">
|
||
<code class="sig-name descname">arguments</code><em class="property"> = [(b'status', <twisted.protocols.amp.String object>)]</em><a class="headerlink" href="#evennia.server.portal.amp.MsgStatus.arguments" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.MsgStatus.commandName">
|
||
<code class="sig-name descname">commandName</code><em class="property"> = b'MsgStatus'</em><a class="headerlink" href="#evennia.server.portal.amp.MsgStatus.commandName" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.MsgStatus.errors">
|
||
<code class="sig-name descname">errors</code><em class="property"> = {<class 'Exception'>: b'EXCEPTION'}</em><a class="headerlink" href="#evennia.server.portal.amp.MsgStatus.errors" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.MsgStatus.key">
|
||
<code class="sig-name descname">key</code><em class="property"> = 'MsgStatus'</em><a class="headerlink" href="#evennia.server.portal.amp.MsgStatus.key" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.MsgStatus.response">
|
||
<code class="sig-name descname">response</code><em class="property"> = [(b'status', <twisted.protocols.amp.String object>)]</em><a class="headerlink" href="#evennia.server.portal.amp.MsgStatus.response" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp.MsgStatus.reverseErrors">
|
||
<code class="sig-name descname">reverseErrors</code><em class="property"> = {b'EXCEPTION': <class 'Exception'>}</em><a class="headerlink" href="#evennia.server.portal.amp.MsgStatus.reverseErrors" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="function">
|
||
<dt id="evennia.server.portal.amp._get_logger">
|
||
<code class="sig-prename descclassname">evennia.server.portal.amp.</code><code class="sig-name descname">_get_logger</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/amp.html#_get_logger"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.amp._get_logger" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Delay import of logger until absolutely necessary</p>
|
||
</dd></dl>
|
||
|
||
<dl class="function">
|
||
<dt id="evennia.server.portal.amp.dumps">
|
||
<code class="sig-prename descclassname">evennia.server.portal.amp.</code><code class="sig-name descname">dumps</code><span class="sig-paren">(</span><em class="sig-param">data</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/amp.html#dumps"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.amp.dumps" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="function">
|
||
<dt id="evennia.server.portal.amp.loads">
|
||
<code class="sig-prename descclassname">evennia.server.portal.amp.</code><code class="sig-name descname">loads</code><span class="sig-paren">(</span><em class="sig-param">data</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/amp.html#loads"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.amp.loads" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
</div>
|
||
<div class="section" id="module-evennia.server.portal.amp_server">
|
||
<span id="evennia-server-portal-amp-server-module"></span><h2>evennia.server.portal.amp_server module<a class="headerlink" href="#module-evennia.server.portal.amp_server" title="Permalink to this headline">¶</a></h2>
|
||
<p>The Evennia Portal service acts as an AMP-server, handling AMP
|
||
communication to the AMP clients connecting to it (by default
|
||
these are the Evennia Server and the evennia launcher).</p>
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.amp_server.AMPServerFactory">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.amp_server.</code><code class="sig-name descname">AMPServerFactory</code><span class="sig-paren">(</span><em class="sig-param">portal</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/amp_server.html#AMPServerFactory"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.amp_server.AMPServerFactory" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">twisted.internet.protocol.ServerFactory</span></code></p>
|
||
<p>This factory creates AMP Server connection. This acts as the ‘Portal’-side communication to the
|
||
‘Server’ process.</p>
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.amp_server.AMPServerFactory.__init__">
|
||
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param">portal</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/amp_server.html#AMPServerFactory.__init__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.amp_server.AMPServerFactory.__init__" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Initialize the factory. This is called as the Portal service starts.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>portal</strong> (<a class="reference internal" href="#evennia.server.portal.portal.Portal" title="evennia.server.portal.portal.Portal"><em>Portal</em></a>) – The Evennia Portal service instance.</p></li>
|
||
<li><p><strong>protocol</strong> (<em>Protocol</em>) – The protocol the factory creates
|
||
instances of.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.amp_server.AMPServerFactory.buildProtocol">
|
||
<code class="sig-name descname">buildProtocol</code><span class="sig-paren">(</span><em class="sig-param">addr</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/amp_server.html#AMPServerFactory.buildProtocol"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.amp_server.AMPServerFactory.buildProtocol" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Start a new connection, and store it on the service object.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>addr</strong> (<em>str</em>) – Connection address. Not used.</p>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p>The created protocol.</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p>protocol (Protocol)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.amp_server.AMPServerFactory.logPrefix">
|
||
<code class="sig-name descname">logPrefix</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/amp_server.html#AMPServerFactory.logPrefix"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.amp_server.AMPServerFactory.logPrefix" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>How this is named in logs</p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp_server.AMPServerFactory.noisy">
|
||
<code class="sig-name descname">noisy</code><em class="property"> = False</em><a class="headerlink" href="#evennia.server.portal.amp_server.AMPServerFactory.noisy" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.amp_server.AMPServerProtocol">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.amp_server.</code><code class="sig-name descname">AMPServerProtocol</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/amp_server.html#AMPServerProtocol"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.amp_server.AMPServerProtocol" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <a class="reference internal" href="#evennia.server.portal.amp.AMPMultiConnectionProtocol" title="evennia.server.portal.amp.AMPMultiConnectionProtocol"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.server.portal.amp.AMPMultiConnectionProtocol</span></code></a></p>
|
||
<p>Protocol subclass for the AMP-server run by the Portal.</p>
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.amp_server.AMPServerProtocol._commandDispatch">
|
||
<code class="sig-name descname">_commandDispatch</code><em class="property"> = {b'AdminServer2Portal': (<class 'evennia.server.portal.amp.AdminServer2Portal'>, <function catch_traceback>), b'FunctionCall': (<class 'evennia.server.portal.amp.FunctionCall'>, <function catch_traceback>), b'MsgLauncher2Portal': (<class 'evennia.server.portal.amp.MsgLauncher2Portal'>, <function catch_traceback>), b'MsgServer2Portal': (<class 'evennia.server.portal.amp.MsgServer2Portal'>, <function catch_traceback>), b'MsgStatus': (<class 'evennia.server.portal.amp.MsgStatus'>, <function catch_traceback>), b'StartTLS': (<class 'twisted.protocols.amp.StartTLS'>, <function BinaryBoxProtocol._defaultStartTLSResponder>)}</em><a class="headerlink" href="#evennia.server.portal.amp_server.AMPServerProtocol._commandDispatch" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.amp_server.AMPServerProtocol.connectionLost">
|
||
<code class="sig-name descname">connectionLost</code><span class="sig-paren">(</span><em class="sig-param">reason</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/amp_server.html#AMPServerProtocol.connectionLost"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.amp_server.AMPServerProtocol.connectionLost" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Set up a simple callback mechanism to let the amp-server wait for a connection to close.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.amp_server.AMPServerProtocol.data_to_server">
|
||
<code class="sig-name descname">data_to_server</code><span class="sig-paren">(</span><em class="sig-param">command</em>, <em class="sig-param">sessid</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/amp_server.html#AMPServerProtocol.data_to_server"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.amp_server.AMPServerProtocol.data_to_server" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Send data across the wire to the Server.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>command</strong> (<em>AMP Command</em>) – A protocol send command.</p></li>
|
||
<li><p><strong>sessid</strong> (<em>int</em>) – A unique Session id.</p></li>
|
||
<li><p><strong>kwargs</strong> (<em>any</em>) – Data to send. This will be pickled.</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p>A deferred with an errback.</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p>deferred (deferred or None)</p>
|
||
</dd>
|
||
</dl>
|
||
<p class="rubric">Notes</p>
|
||
<p>Data will be sent across the wire pickled as a tuple
|
||
(sessid, kwargs).</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.amp_server.AMPServerProtocol.get_status">
|
||
<code class="sig-name descname">get_status</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/amp_server.html#AMPServerProtocol.get_status"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.amp_server.AMPServerProtocol.get_status" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Return status for the Evennia infrastructure.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Returns</dt>
|
||
<dd class="field-odd"><p><dl class="simple">
|
||
<dt>The portal/server status and pids</dt><dd><p>(portal_live, server_live, portal_PID, server_PID).</p>
|
||
</dd>
|
||
</dl>
|
||
</p>
|
||
</dd>
|
||
<dt class="field-even">Return type</dt>
|
||
<dd class="field-even"><p>status (tuple)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.amp_server.AMPServerProtocol.portal_receive_adminserver2portal">
|
||
<code class="sig-name descname">portal_receive_adminserver2portal</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.server.portal.amp_server.AMPServerProtocol.portal_receive_adminserver2portal" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Helper decorator</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.amp_server.AMPServerProtocol.portal_receive_launcher2portal">
|
||
<code class="sig-name descname">portal_receive_launcher2portal</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.server.portal.amp_server.AMPServerProtocol.portal_receive_launcher2portal" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Helper decorator</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.amp_server.AMPServerProtocol.portal_receive_server2portal">
|
||
<code class="sig-name descname">portal_receive_server2portal</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.server.portal.amp_server.AMPServerProtocol.portal_receive_server2portal" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Helper decorator</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.amp_server.AMPServerProtocol.portal_receive_status">
|
||
<code class="sig-name descname">portal_receive_status</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.server.portal.amp_server.AMPServerProtocol.portal_receive_status" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Helper decorator</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.amp_server.AMPServerProtocol.send_AdminPortal2Server">
|
||
<code class="sig-name descname">send_AdminPortal2Server</code><span class="sig-paren">(</span><em class="sig-param">session</em>, <em class="sig-param">operation=''</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/amp_server.html#AMPServerProtocol.send_AdminPortal2Server"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.amp_server.AMPServerProtocol.send_AdminPortal2Server" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Send Admin instructions from the Portal to the Server.
|
||
Executed on the Portal.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>session</strong> (<a class="reference internal" href="evennia.server.html#evennia.server.session.Session" title="evennia.server.session.Session"><em>Session</em></a>) – Session.</p></li>
|
||
<li><p><strong>operation</strong> (<em>char</em><em>, </em><em>optional</em>) – Identifier for the server operation, as defined by the
|
||
global variables in <cite>evennia/server/amp.py</cite>.</p></li>
|
||
<li><p><strong>data</strong> (<em>str</em><em> or </em><em>dict</em><em>, </em><em>optional</em>) – Data used in the administrative operation.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.amp_server.AMPServerProtocol.send_MsgPortal2Server">
|
||
<code class="sig-name descname">send_MsgPortal2Server</code><span class="sig-paren">(</span><em class="sig-param">session</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/amp_server.html#AMPServerProtocol.send_MsgPortal2Server"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.amp_server.AMPServerProtocol.send_MsgPortal2Server" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Access method called by the Portal and executed on the Portal.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>session</strong> (<em>session</em>) – Session</p></li>
|
||
<li><p><strong>kwargs</strong> (<em>any</em><em>, </em><em>optional</em>) – Optional data.</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p>Asynchronous return.</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p>deferred (Deferred)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.amp_server.AMPServerProtocol.send_Status2Launcher">
|
||
<code class="sig-name descname">send_Status2Launcher</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/amp_server.html#AMPServerProtocol.send_Status2Launcher"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.amp_server.AMPServerProtocol.send_Status2Launcher" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Send a status stanza to the launcher.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.amp_server.AMPServerProtocol.start_server">
|
||
<code class="sig-name descname">start_server</code><span class="sig-paren">(</span><em class="sig-param">server_twistd_cmd</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/amp_server.html#AMPServerProtocol.start_server"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.amp_server.AMPServerProtocol.start_server" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>(Re-)Launch the Evennia server.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>server_twisted_cmd</strong> (<em>list</em>) – The server start instruction
|
||
to pass to POpen to start the server.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.amp_server.AMPServerProtocol.stop_server">
|
||
<code class="sig-name descname">stop_server</code><span class="sig-paren">(</span><em class="sig-param">mode='shutdown'</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/amp_server.html#AMPServerProtocol.stop_server"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.amp_server.AMPServerProtocol.stop_server" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Shut down server in one or more modes.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>mode</strong> (<em>str</em>) – One of ‘shutdown’, ‘reload’ or ‘reset’.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.amp_server.AMPServerProtocol.wait_for_disconnect">
|
||
<code class="sig-name descname">wait_for_disconnect</code><span class="sig-paren">(</span><em class="sig-param">callback</em>, <em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/amp_server.html#AMPServerProtocol.wait_for_disconnect"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.amp_server.AMPServerProtocol.wait_for_disconnect" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Add a callback for when this connection is lost.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>callback</strong> (<em>callable</em>) – Will be called with <a href="#id5"><span class="problematic" id="id6">*</span></a>args, <a href="#id7"><span class="problematic" id="id8">**</span></a>kwargs
|
||
once this protocol is disconnected.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.amp_server.AMPServerProtocol.wait_for_server_connect">
|
||
<code class="sig-name descname">wait_for_server_connect</code><span class="sig-paren">(</span><em class="sig-param">callback</em>, <em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/amp_server.html#AMPServerProtocol.wait_for_server_connect"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.amp_server.AMPServerProtocol.wait_for_server_connect" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Add a callback for when the Server is sure to have connected.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>callback</strong> (<em>callable</em>) – Will be called with <a href="#id9"><span class="problematic" id="id10">*</span></a>args, <a href="#id11"><span class="problematic" id="id12">**</span></a>kwargs
|
||
once the Server handshake with Portal is complete.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="function">
|
||
<dt id="evennia.server.portal.amp_server._is_windows">
|
||
<code class="sig-prename descclassname">evennia.server.portal.amp_server.</code><code class="sig-name descname">_is_windows</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/amp_server.html#_is_windows"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.amp_server._is_windows" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="function">
|
||
<dt id="evennia.server.portal.amp_server.getenv">
|
||
<code class="sig-prename descclassname">evennia.server.portal.amp_server.</code><code class="sig-name descname">getenv</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/amp_server.html#getenv"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.amp_server.getenv" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Get current environment and add PYTHONPATH.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Returns</dt>
|
||
<dd class="field-odd"><p>Environment global dict.</p>
|
||
</dd>
|
||
<dt class="field-even">Return type</dt>
|
||
<dd class="field-even"><p>env (dict)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
</div>
|
||
<div class="section" id="module-evennia.server.portal.grapevine">
|
||
<span id="evennia-server-portal-grapevine-module"></span><h2>evennia.server.portal.grapevine module<a class="headerlink" href="#module-evennia.server.portal.grapevine" title="Permalink to this headline">¶</a></h2>
|
||
<p>Grapevine network connection</p>
|
||
<p>This is an implementation of the Grapevine Websocket protocol v 1.0.0 as
|
||
outlined here: <a class="reference external" href="https://grapevine.haus/docs">https://grapevine.haus/docs</a></p>
|
||
<p>This will allow the linked game to transfer status as well as connects
|
||
the grapevine client to in-game channels.</p>
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.grapevine.GrapevineClient">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.grapevine.</code><code class="sig-name descname">GrapevineClient</code><a class="reference internal" href="../_modules/evennia/server/portal/grapevine.html#GrapevineClient"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.grapevine.GrapevineClient" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">autobahn.twisted.websocket.WebSocketClientProtocol</span></code>, <a class="reference internal" href="evennia.server.html#evennia.server.session.Session" title="evennia.server.session.Session"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.server.session.Session</span></code></a></p>
|
||
<p>Implements the grapevine client</p>
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.grapevine.GrapevineClient.__init__">
|
||
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/grapevine.html#GrapevineClient.__init__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.grapevine.GrapevineClient.__init__" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Initialize self. See help(type(self)) for accurate signature.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.grapevine.GrapevineClient._send_json">
|
||
<code class="sig-name descname">_send_json</code><span class="sig-paren">(</span><em class="sig-param">data</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/grapevine.html#GrapevineClient._send_json"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.grapevine.GrapevineClient._send_json" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Send (json-) data to client.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>data</strong> (<em>str</em>) – Text to send.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.grapevine.GrapevineClient.at_login">
|
||
<code class="sig-name descname">at_login</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/grapevine.html#GrapevineClient.at_login"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.grapevine.GrapevineClient.at_login" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.grapevine.GrapevineClient.data_in">
|
||
<code class="sig-name descname">data_in</code><span class="sig-paren">(</span><em class="sig-param">data</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/grapevine.html#GrapevineClient.data_in"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.grapevine.GrapevineClient.data_in" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Send data grapevine -> Evennia</p>
|
||
<dl class="simple">
|
||
<dt>Kwargs:</dt><dd><p>data (dict): Converted json data.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.grapevine.GrapevineClient.disconnect">
|
||
<code class="sig-name descname">disconnect</code><span class="sig-paren">(</span><em class="sig-param">reason=None</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/grapevine.html#GrapevineClient.disconnect"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.grapevine.GrapevineClient.disconnect" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Generic hook for the engine to call in order to
|
||
disconnect this protocol.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>reason</strong> (<em>str</em><em> or </em><em>None</em>) – Motivation for the disconnection.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.grapevine.GrapevineClient.onClose">
|
||
<code class="sig-name descname">onClose</code><span class="sig-paren">(</span><em class="sig-param">wasClean</em>, <em class="sig-param">code=None</em>, <em class="sig-param">reason=None</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/grapevine.html#GrapevineClient.onClose"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.grapevine.GrapevineClient.onClose" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>This is executed when the connection is lost for whatever
|
||
reason. it can also be called directly, from the disconnect
|
||
method.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>wasClean</strong> (<em>bool</em>) – <code class="docutils literal notranslate"><span class="pre">True</span></code> if the WebSocket was closed cleanly.</p></li>
|
||
<li><p><strong>code</strong> (<em>int</em><em> or </em><em>None</em>) – Close status as sent by the WebSocket peer.</p></li>
|
||
<li><p><strong>reason</strong> (<em>str</em><em> or </em><em>None</em>) – Close reason as sent by the WebSocket peer.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.grapevine.GrapevineClient.onMessage">
|
||
<code class="sig-name descname">onMessage</code><span class="sig-paren">(</span><em class="sig-param">payload</em>, <em class="sig-param">isBinary</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/grapevine.html#GrapevineClient.onMessage"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.grapevine.GrapevineClient.onMessage" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Callback fired when a complete WebSocket message was received.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>payload</strong> (<em>bytes</em>) – The WebSocket message received.</p></li>
|
||
<li><p><strong>isBinary</strong> (<em>bool</em>) – Flag indicating whether payload is binary or
|
||
UTF-8 encoded text.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.grapevine.GrapevineClient.onOpen">
|
||
<code class="sig-name descname">onOpen</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/grapevine.html#GrapevineClient.onOpen"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.grapevine.GrapevineClient.onOpen" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Called when connection is established.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.grapevine.GrapevineClient.send_authenticate">
|
||
<code class="sig-name descname">send_authenticate</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/grapevine.html#GrapevineClient.send_authenticate"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.grapevine.GrapevineClient.send_authenticate" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Send grapevine authentication. This should be send immediately upon connection.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.grapevine.GrapevineClient.send_channel">
|
||
<code class="sig-name descname">send_channel</code><span class="sig-paren">(</span><em class="sig-param">text</em>, <em class="sig-param">channel</em>, <em class="sig-param">sender</em>, <em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/grapevine.html#GrapevineClient.send_channel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.grapevine.GrapevineClient.send_channel" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Send text type Evennia -> grapevine</p>
|
||
<p>This is the channels/send message type</p>
|
||
<p>Use with session.msg(channel=(message, channel, sender))</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.grapevine.GrapevineClient.send_default">
|
||
<code class="sig-name descname">send_default</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/grapevine.html#GrapevineClient.send_default"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.grapevine.GrapevineClient.send_default" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Ignore other outputfuncs</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.grapevine.GrapevineClient.send_heartbeat">
|
||
<code class="sig-name descname">send_heartbeat</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/grapevine.html#GrapevineClient.send_heartbeat"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.grapevine.GrapevineClient.send_heartbeat" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Send heartbeat to remote grapevine server.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.grapevine.GrapevineClient.send_subscribe">
|
||
<code class="sig-name descname">send_subscribe</code><span class="sig-paren">(</span><em class="sig-param">channelname</em>, <em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/grapevine.html#GrapevineClient.send_subscribe"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.grapevine.GrapevineClient.send_subscribe" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Subscribe to new grapevine channel</p>
|
||
<p>Use with session.msg(subscribe=”channelname”)</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.grapevine.GrapevineClient.send_unsubscribe">
|
||
<code class="sig-name descname">send_unsubscribe</code><span class="sig-paren">(</span><em class="sig-param">channelname</em>, <em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/grapevine.html#GrapevineClient.send_unsubscribe"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.grapevine.GrapevineClient.send_unsubscribe" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Un-subscribe to a grapevine channel</p>
|
||
<p>Use with session.msg(unsubscribe=”channelname”)</p>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.grapevine.RestartingWebsocketServerFactory">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.grapevine.</code><code class="sig-name descname">RestartingWebsocketServerFactory</code><span class="sig-paren">(</span><em class="sig-param">sessionhandler</em>, <em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/grapevine.html#RestartingWebsocketServerFactory"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.grapevine.RestartingWebsocketServerFactory" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">autobahn.twisted.websocket.WebSocketClientFactory</span></code>, <code class="xref py py-class docutils literal notranslate"><span class="pre">twisted.internet.protocol.ReconnectingClientFactory</span></code></p>
|
||
<p>A variant of the websocket-factory that auto-reconnects.</p>
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.grapevine.RestartingWebsocketServerFactory.__init__">
|
||
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param">sessionhandler</em>, <em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/grapevine.html#RestartingWebsocketServerFactory.__init__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.grapevine.RestartingWebsocketServerFactory.__init__" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>In addition to all arguments to the constructor of
|
||
<code class="xref py py-func docutils literal notranslate"><span class="pre">autobahn.websocket.interfaces.IWebSocketClientChannelFactory()</span></code>,
|
||
you can supply a <code class="docutils literal notranslate"><span class="pre">reactor</span></code> keyword argument to specify the
|
||
Twisted reactor to be used.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.grapevine.RestartingWebsocketServerFactory.buildProtocol">
|
||
<code class="sig-name descname">buildProtocol</code><span class="sig-paren">(</span><em class="sig-param">addr</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/grapevine.html#RestartingWebsocketServerFactory.buildProtocol"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.grapevine.RestartingWebsocketServerFactory.buildProtocol" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Build new instance of protocol</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>addr</strong> (<em>str</em>) – Not used, using factory/settings data</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.grapevine.RestartingWebsocketServerFactory.clientConnectionFailed">
|
||
<code class="sig-name descname">clientConnectionFailed</code><span class="sig-paren">(</span><em class="sig-param">connector</em>, <em class="sig-param">reason</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/grapevine.html#RestartingWebsocketServerFactory.clientConnectionFailed"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.grapevine.RestartingWebsocketServerFactory.clientConnectionFailed" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Called when Client failed to connect.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>connector</strong> (<em>Connection</em>) – Represents the connection.</p></li>
|
||
<li><p><strong>reason</strong> (<em>str</em>) – The reason for the failure.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.grapevine.RestartingWebsocketServerFactory.clientConnectionLost">
|
||
<code class="sig-name descname">clientConnectionLost</code><span class="sig-paren">(</span><em class="sig-param">connector</em>, <em class="sig-param">reason</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/grapevine.html#RestartingWebsocketServerFactory.clientConnectionLost"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.grapevine.RestartingWebsocketServerFactory.clientConnectionLost" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Called when Client loses connection.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>connector</strong> (<em>Connection</em>) – Represents the connection.</p></li>
|
||
<li><p><strong>reason</strong> (<em>str</em>) – The reason for the failure.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.grapevine.RestartingWebsocketServerFactory.factor">
|
||
<code class="sig-name descname">factor</code><em class="property"> = 1.5</em><a class="headerlink" href="#evennia.server.portal.grapevine.RestartingWebsocketServerFactory.factor" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.grapevine.RestartingWebsocketServerFactory.initialDelay">
|
||
<code class="sig-name descname">initialDelay</code><em class="property"> = 1</em><a class="headerlink" href="#evennia.server.portal.grapevine.RestartingWebsocketServerFactory.initialDelay" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.grapevine.RestartingWebsocketServerFactory.maxDelay">
|
||
<code class="sig-name descname">maxDelay</code><em class="property"> = 60</em><a class="headerlink" href="#evennia.server.portal.grapevine.RestartingWebsocketServerFactory.maxDelay" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.grapevine.RestartingWebsocketServerFactory.reconnect">
|
||
<code class="sig-name descname">reconnect</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/grapevine.html#RestartingWebsocketServerFactory.reconnect"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.grapevine.RestartingWebsocketServerFactory.reconnect" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Force a reconnection of the bot protocol. This requires
|
||
de-registering the session and then reattaching a new one,
|
||
otherwise you end up with an ever growing number of bot
|
||
sessions.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.grapevine.RestartingWebsocketServerFactory.start">
|
||
<code class="sig-name descname">start</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/grapevine.html#RestartingWebsocketServerFactory.start"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.grapevine.RestartingWebsocketServerFactory.start" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Connect protocol to remote server</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.grapevine.RestartingWebsocketServerFactory.startedConnecting">
|
||
<code class="sig-name descname">startedConnecting</code><span class="sig-paren">(</span><em class="sig-param">connector</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/grapevine.html#RestartingWebsocketServerFactory.startedConnecting"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.grapevine.RestartingWebsocketServerFactory.startedConnecting" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Tracks reconnections for debugging.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>connector</strong> (<em>Connector</em>) – Represents the connection.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
</div>
|
||
<div class="section" id="module-evennia.server.portal.irc">
|
||
<span id="evennia-server-portal-irc-module"></span><h2>evennia.server.portal.irc module<a class="headerlink" href="#module-evennia.server.portal.irc" title="Permalink to this headline">¶</a></h2>
|
||
<p>This connects to an IRC network/channel and launches an ‘bot’ onto it.
|
||
The bot then pipes what is being said between the IRC channel and one or
|
||
more Evennia channels.</p>
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.irc.IRCBot">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.irc.</code><code class="sig-name descname">IRCBot</code><a class="reference internal" href="../_modules/evennia/server/portal/irc.html#IRCBot"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.irc.IRCBot" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">twisted.words.protocols.irc.IRCClient</span></code>, <a class="reference internal" href="evennia.server.html#evennia.server.session.Session" title="evennia.server.session.Session"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.server.session.Session</span></code></a></p>
|
||
<p>An IRC bot that tracks activity in a channel as well
|
||
as sends text to it when prompted</p>
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.irc.IRCBot.action">
|
||
<code class="sig-name descname">action</code><span class="sig-paren">(</span><em class="sig-param">user</em>, <em class="sig-param">channel</em>, <em class="sig-param">msg</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/irc.html#IRCBot.action"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.irc.IRCBot.action" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Called when an action is detected in channel.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>user</strong> (<em>str</em>) – User name sending the message.</p></li>
|
||
<li><p><strong>channel</strong> (<em>str</em>) – Channel name seeing the message.</p></li>
|
||
<li><p><strong>msg</strong> (<em>str</em>) – The message arriving from channel.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.irc.IRCBot.at_login">
|
||
<code class="sig-name descname">at_login</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/irc.html#IRCBot.at_login"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.irc.IRCBot.at_login" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.irc.IRCBot.channel">
|
||
<code class="sig-name descname">channel</code><em class="property"> = None</em><a class="headerlink" href="#evennia.server.portal.irc.IRCBot.channel" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.irc.IRCBot.data_in">
|
||
<code class="sig-name descname">data_in</code><span class="sig-paren">(</span><em class="sig-param">text=None</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/irc.html#IRCBot.data_in"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.irc.IRCBot.data_in" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Data IRC -> Server.</p>
|
||
<dl class="simple">
|
||
<dt>Kwargs:</dt><dd><p>text (str): Ingoing text.
|
||
kwargs (any): Other data from protocol.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.irc.IRCBot.disconnect">
|
||
<code class="sig-name descname">disconnect</code><span class="sig-paren">(</span><em class="sig-param">reason=''</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/irc.html#IRCBot.disconnect"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.irc.IRCBot.disconnect" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Called by sessionhandler to disconnect this protocol.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>reason</strong> (<em>str</em>) – Motivation for the disconnect.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.irc.IRCBot.factory">
|
||
<code class="sig-name descname">factory</code><em class="property"> = None</em><a class="headerlink" href="#evennia.server.portal.irc.IRCBot.factory" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.irc.IRCBot.get_nicklist">
|
||
<code class="sig-name descname">get_nicklist</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/irc.html#IRCBot.get_nicklist"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.irc.IRCBot.get_nicklist" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Retrieve name list from the channel. The return
|
||
is handled by the catch methods below.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.irc.IRCBot.irc_RPL_ENDOFNAMES">
|
||
<code class="sig-name descname">irc_RPL_ENDOFNAMES</code><span class="sig-paren">(</span><em class="sig-param">prefix</em>, <em class="sig-param">params</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/irc.html#IRCBot.irc_RPL_ENDOFNAMES"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.irc.IRCBot.irc_RPL_ENDOFNAMES" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Called when the nicklist has finished being returned.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.irc.IRCBot.irc_RPL_NAMREPLY">
|
||
<code class="sig-name descname">irc_RPL_NAMREPLY</code><span class="sig-paren">(</span><em class="sig-param">prefix</em>, <em class="sig-param">params</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/irc.html#IRCBot.irc_RPL_NAMREPLY"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.irc.IRCBot.irc_RPL_NAMREPLY" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>“Handles IRC NAME request returns (nicklist)</p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.irc.IRCBot.lineRate">
|
||
<code class="sig-name descname">lineRate</code><em class="property"> = 1</em><a class="headerlink" href="#evennia.server.portal.irc.IRCBot.lineRate" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.irc.IRCBot.logger">
|
||
<code class="sig-name descname">logger</code><em class="property"> = None</em><a class="headerlink" href="#evennia.server.portal.irc.IRCBot.logger" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.irc.IRCBot.nickname">
|
||
<code class="sig-name descname">nickname</code><em class="property"> = None</em><a class="headerlink" href="#evennia.server.portal.irc.IRCBot.nickname" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.irc.IRCBot.pong">
|
||
<code class="sig-name descname">pong</code><span class="sig-paren">(</span><em class="sig-param">user</em>, <em class="sig-param">time</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/irc.html#IRCBot.pong"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.irc.IRCBot.pong" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Called with the return timing from a PING.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>user</strong> (<em>str</em>) – Name of user</p></li>
|
||
<li><p><strong>time</strong> (<em>float</em>) – Ping time in secs.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.irc.IRCBot.privmsg">
|
||
<code class="sig-name descname">privmsg</code><span class="sig-paren">(</span><em class="sig-param">user</em>, <em class="sig-param">channel</em>, <em class="sig-param">msg</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/irc.html#IRCBot.privmsg"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.irc.IRCBot.privmsg" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Called when the connected channel receives a message.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>user</strong> (<em>str</em>) – User name sending the message.</p></li>
|
||
<li><p><strong>channel</strong> (<em>str</em>) – Channel name seeing the message.</p></li>
|
||
<li><p><strong>msg</strong> (<em>str</em>) – The message arriving from channel.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.irc.IRCBot.send_channel">
|
||
<code class="sig-name descname">send_channel</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/irc.html#IRCBot.send_channel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.irc.IRCBot.send_channel" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Send channel text to IRC channel (visible to all). Note that
|
||
we don’t handle the “text” send (it’s rerouted to send_default
|
||
which does nothing) - this is because the IRC bot is a normal
|
||
session and would otherwise report anything that happens to it
|
||
to the IRC channel (such as it seeing server reload messages).</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>text</strong> (<em>str</em>) – Outgoing text</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.irc.IRCBot.send_default">
|
||
<code class="sig-name descname">send_default</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/irc.html#IRCBot.send_default"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.irc.IRCBot.send_default" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Ignore other types of sends.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.irc.IRCBot.send_ping">
|
||
<code class="sig-name descname">send_ping</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/irc.html#IRCBot.send_ping"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.irc.IRCBot.send_ping" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Send a ping. The return (handled by <cite>self.pong</cite>) will be sent
|
||
back as a message of type ‘ping’.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.irc.IRCBot.send_privmsg">
|
||
<code class="sig-name descname">send_privmsg</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/irc.html#IRCBot.send_privmsg"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.irc.IRCBot.send_privmsg" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Send message only to specific user.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>text</strong> (<em>str</em>) – Outgoing text.</p>
|
||
</dd>
|
||
</dl>
|
||
<dl class="simple">
|
||
<dt>Kwargs:</dt><dd><dl class="simple">
|
||
<dt>user (str): the nick to send</dt><dd><p>privately to.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.irc.IRCBot.send_reconnect">
|
||
<code class="sig-name descname">send_reconnect</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/irc.html#IRCBot.send_reconnect"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.irc.IRCBot.send_reconnect" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>The server instructs us to rebuild the connection by force,
|
||
probably because the client silently lost connection.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.irc.IRCBot.send_request_nicklist">
|
||
<code class="sig-name descname">send_request_nicklist</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/irc.html#IRCBot.send_request_nicklist"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.irc.IRCBot.send_request_nicklist" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Send a request for the channel nicklist. The return (handled
|
||
by <cite>self.irc_RPL_ENDOFNAMES</cite>) will be sent back as a message
|
||
with type <a href="#id13"><span class="problematic" id="id14">`</span></a>nicklist’.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.irc.IRCBot.signedOn">
|
||
<code class="sig-name descname">signedOn</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/irc.html#IRCBot.signedOn"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.irc.IRCBot.signedOn" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>This is called when we successfully connect to the network. We
|
||
make sure to now register with the game as a full session.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.irc.IRCBot.sourceURL">
|
||
<code class="sig-name descname">sourceURL</code><em class="property"> = 'http://code.evennia.com'</em><a class="headerlink" href="#evennia.server.portal.irc.IRCBot.sourceURL" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.irc.IRCBotFactory">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.irc.</code><code class="sig-name descname">IRCBotFactory</code><span class="sig-paren">(</span><em class="sig-param">sessionhandler</em>, <em class="sig-param">uid=None</em>, <em class="sig-param">botname=None</em>, <em class="sig-param">channel=None</em>, <em class="sig-param">network=None</em>, <em class="sig-param">port=None</em>, <em class="sig-param">ssl=None</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/irc.html#IRCBotFactory"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.irc.IRCBotFactory" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">twisted.internet.protocol.ReconnectingClientFactory</span></code></p>
|
||
<p>Creates instances of IRCBot, connecting with a staggered
|
||
increase in delay</p>
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.irc.IRCBotFactory.__init__">
|
||
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param">sessionhandler</em>, <em class="sig-param">uid=None</em>, <em class="sig-param">botname=None</em>, <em class="sig-param">channel=None</em>, <em class="sig-param">network=None</em>, <em class="sig-param">port=None</em>, <em class="sig-param">ssl=None</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/irc.html#IRCBotFactory.__init__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.irc.IRCBotFactory.__init__" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Storing some important protocol properties.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>sessionhandler</strong> (<a class="reference internal" href="evennia.server.html#evennia.server.sessionhandler.SessionHandler" title="evennia.server.sessionhandler.SessionHandler"><em>SessionHandler</em></a>) – Reference to the main Sessionhandler.</p>
|
||
</dd>
|
||
</dl>
|
||
<dl class="simple">
|
||
<dt>Kwargs:</dt><dd><p>uid (int): Bot user id.
|
||
botname (str): Bot name (seen in IRC channel).
|
||
channel (str): IRC channel to connect to.
|
||
network (str): Network address to connect to.
|
||
port (str): Port of the network.
|
||
ssl (bool): Indicates SSL connection.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.irc.IRCBotFactory.buildProtocol">
|
||
<code class="sig-name descname">buildProtocol</code><span class="sig-paren">(</span><em class="sig-param">addr</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/irc.html#IRCBotFactory.buildProtocol"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.irc.IRCBotFactory.buildProtocol" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Build the protocol and assign it some properties.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>addr</strong> (<em>str</em>) – Not used; using factory data.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.irc.IRCBotFactory.clientConnectionFailed">
|
||
<code class="sig-name descname">clientConnectionFailed</code><span class="sig-paren">(</span><em class="sig-param">connector</em>, <em class="sig-param">reason</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/irc.html#IRCBotFactory.clientConnectionFailed"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.irc.IRCBotFactory.clientConnectionFailed" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Called when Client failed to connect.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>connector</strong> (<em>Connection</em>) – Represents the connection.</p></li>
|
||
<li><p><strong>reason</strong> (<em>str</em>) – The reason for the failure.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.irc.IRCBotFactory.clientConnectionLost">
|
||
<code class="sig-name descname">clientConnectionLost</code><span class="sig-paren">(</span><em class="sig-param">connector</em>, <em class="sig-param">reason</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/irc.html#IRCBotFactory.clientConnectionLost"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.irc.IRCBotFactory.clientConnectionLost" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Called when Client loses connection.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>connector</strong> (<em>Connection</em>) – Represents the connection.</p></li>
|
||
<li><p><strong>reason</strong> (<em>str</em>) – The reason for the failure.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.irc.IRCBotFactory.factor">
|
||
<code class="sig-name descname">factor</code><em class="property"> = 1.5</em><a class="headerlink" href="#evennia.server.portal.irc.IRCBotFactory.factor" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.irc.IRCBotFactory.initialDelay">
|
||
<code class="sig-name descname">initialDelay</code><em class="property"> = 1</em><a class="headerlink" href="#evennia.server.portal.irc.IRCBotFactory.initialDelay" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.irc.IRCBotFactory.maxDelay">
|
||
<code class="sig-name descname">maxDelay</code><em class="property"> = 60</em><a class="headerlink" href="#evennia.server.portal.irc.IRCBotFactory.maxDelay" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.irc.IRCBotFactory.reconnect">
|
||
<code class="sig-name descname">reconnect</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/irc.html#IRCBotFactory.reconnect"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.irc.IRCBotFactory.reconnect" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Force a reconnection of the bot protocol. This requires
|
||
de-registering the session and then reattaching a new one,
|
||
otherwise you end up with an ever growing number of bot
|
||
sessions.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.irc.IRCBotFactory.start">
|
||
<code class="sig-name descname">start</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/irc.html#IRCBotFactory.start"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.irc.IRCBotFactory.start" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Connect session to sessionhandler.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.irc.IRCBotFactory.startedConnecting">
|
||
<code class="sig-name descname">startedConnecting</code><span class="sig-paren">(</span><em class="sig-param">connector</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/irc.html#IRCBotFactory.startedConnecting"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.irc.IRCBotFactory.startedConnecting" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Tracks reconnections for debugging.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>connector</strong> (<em>Connector</em>) – Represents the connection.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="function">
|
||
<dt id="evennia.server.portal.irc.parse_ansi_to_irc">
|
||
<code class="sig-prename descclassname">evennia.server.portal.irc.</code><code class="sig-name descname">parse_ansi_to_irc</code><span class="sig-paren">(</span><em class="sig-param">string</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/irc.html#parse_ansi_to_irc"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.irc.parse_ansi_to_irc" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Parse <a href="#id15"><span class="problematic" id="id16">|</span></a>-type syntax and replace with IRC color markers</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>string</strong> (<em>str</em>) – String to parse for ANSI colors.</p>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p>String with replaced ANSI colors.</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p>parsed_string (str)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="function">
|
||
<dt id="evennia.server.portal.irc.parse_irc_to_ansi">
|
||
<code class="sig-prename descclassname">evennia.server.portal.irc.</code><code class="sig-name descname">parse_irc_to_ansi</code><span class="sig-paren">(</span><em class="sig-param">string</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/irc.html#parse_irc_to_ansi"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.irc.parse_irc_to_ansi" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Parse IRC mIRC color syntax and replace with Evennia ANSI color markers</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>string</strong> (<em>str</em>) – String to parse for IRC colors.</p>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p>String with replaced IRC colors.</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p>parsed_string (str)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
</div>
|
||
<div class="section" id="module-evennia.server.portal.mccp">
|
||
<span id="evennia-server-portal-mccp-module"></span><h2>evennia.server.portal.mccp module<a class="headerlink" href="#module-evennia.server.portal.mccp" title="Permalink to this headline">¶</a></h2>
|
||
<p>MCCP - Mud Client Compression Protocol</p>
|
||
<p>This implements the MCCP v2 telnet protocol as per
|
||
<a class="reference external" href="http://tintin.sourceforge.net/mccp/">http://tintin.sourceforge.net/mccp/</a>. MCCP allows for the server to
|
||
compress data when sending to supporting clients, reducing bandwidth
|
||
by 70-90%.. The compression is done using Python’s builtin zlib
|
||
library. If the client doesn’t support MCCP, server sends uncompressed
|
||
as normal. Note: On modern hardware you are not likely to notice the
|
||
effect of MCCP unless you have extremely heavy traffic or sits on a
|
||
terribly slow connection.</p>
|
||
<p>This protocol is implemented by the telnet protocol importing
|
||
mccp_compress and calling it from its write methods.</p>
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.mccp.Mccp">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.mccp.</code><code class="sig-name descname">Mccp</code><span class="sig-paren">(</span><em class="sig-param">protocol</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/mccp.html#Mccp"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.mccp.Mccp" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
|
||
<p>Implements the MCCP protocol. Add this to a
|
||
variable on the telnet protocol to set it up.</p>
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.mccp.Mccp.__init__">
|
||
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param">protocol</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/mccp.html#Mccp.__init__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.mccp.Mccp.__init__" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>initialize MCCP by storing protocol on
|
||
ourselves and calling the client to see if
|
||
it supports MCCP. Sets callbacks to
|
||
start zlib compression in that case.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>protocol</strong> (<em>Protocol</em>) – The active protocol instance.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.mccp.Mccp.do_mccp">
|
||
<code class="sig-name descname">do_mccp</code><span class="sig-paren">(</span><em class="sig-param">option</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/mccp.html#Mccp.do_mccp"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.mccp.Mccp.do_mccp" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>The client supports MCCP. Set things up by
|
||
creating a zlib compression stream.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>option</strong> (<em>Option</em>) – Option dict (not used).</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.mccp.Mccp.no_mccp">
|
||
<code class="sig-name descname">no_mccp</code><span class="sig-paren">(</span><em class="sig-param">option</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/mccp.html#Mccp.no_mccp"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.mccp.Mccp.no_mccp" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Called if client doesn’t support mccp or chooses to turn it off.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>option</strong> (<em>Option</em>) – Option dict (not used).</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="function">
|
||
<dt id="evennia.server.portal.mccp.mccp_compress">
|
||
<code class="sig-prename descclassname">evennia.server.portal.mccp.</code><code class="sig-name descname">mccp_compress</code><span class="sig-paren">(</span><em class="sig-param">protocol</em>, <em class="sig-param">data</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/mccp.html#mccp_compress"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.mccp.mccp_compress" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Handles zlib compression, if applicable.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>data</strong> (<em>str</em>) – Incoming data to compress.</p>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p>Zlib-compressed data.</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p>stream (binary)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
</div>
|
||
<div class="section" id="module-evennia.server.portal.mssp">
|
||
<span id="evennia-server-portal-mssp-module"></span><h2>evennia.server.portal.mssp module<a class="headerlink" href="#module-evennia.server.portal.mssp" title="Permalink to this headline">¶</a></h2>
|
||
<p>MSSP - Mud Server Status Protocol</p>
|
||
<p>This implements the MSSP telnet protocol as per
|
||
<a class="reference external" href="http://tintin.sourceforge.net/mssp/">http://tintin.sourceforge.net/mssp/</a>. MSSP allows web portals and
|
||
listings to have their crawlers find the mud and automatically
|
||
extract relevant information about it, such as genre, how many
|
||
active players and so on.</p>
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.mssp.Mssp">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.mssp.</code><code class="sig-name descname">Mssp</code><span class="sig-paren">(</span><em class="sig-param">protocol</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/mssp.html#Mssp"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.mssp.Mssp" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
|
||
<p>Implements the MSSP protocol. Add this to a variable on the telnet
|
||
protocol to set it up.</p>
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.mssp.Mssp.__init__">
|
||
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param">protocol</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/mssp.html#Mssp.__init__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.mssp.Mssp.__init__" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>initialize MSSP by storing protocol on ourselves and calling
|
||
the client to see if it supports MSSP.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>protocol</strong> (<em>Protocol</em>) – The active protocol instance.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.mssp.Mssp.do_mssp">
|
||
<code class="sig-name descname">do_mssp</code><span class="sig-paren">(</span><em class="sig-param">option</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/mssp.html#Mssp.do_mssp"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.mssp.Mssp.do_mssp" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Negotiate all the information.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>option</strong> (<em>Option</em>) – Not used.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.mssp.Mssp.get_player_count">
|
||
<code class="sig-name descname">get_player_count</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/mssp.html#Mssp.get_player_count"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.mssp.Mssp.get_player_count" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Get number of logged-in players.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Returns</dt>
|
||
<dd class="field-odd"><p>The number of players in the MUD.</p>
|
||
</dd>
|
||
<dt class="field-even">Return type</dt>
|
||
<dd class="field-even"><p>count (int)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.mssp.Mssp.get_uptime">
|
||
<code class="sig-name descname">get_uptime</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/mssp.html#Mssp.get_uptime"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.mssp.Mssp.get_uptime" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Get how long the portal has been online (reloads are not counted).</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Returns</dt>
|
||
<dd class="field-odd"><p>Number of seconds of uptime.</p>
|
||
</dd>
|
||
<dt class="field-even">Return type</dt>
|
||
<dd class="field-even"><p>uptime (int)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.mssp.Mssp.no_mssp">
|
||
<code class="sig-name descname">no_mssp</code><span class="sig-paren">(</span><em class="sig-param">option</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/mssp.html#Mssp.no_mssp"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.mssp.Mssp.no_mssp" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Called when mssp is not requested. This is the normal
|
||
operation.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>option</strong> (<em>Option</em>) – Not used.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
</div>
|
||
<div class="section" id="module-evennia.server.portal.mxp">
|
||
<span id="evennia-server-portal-mxp-module"></span><h2>evennia.server.portal.mxp module<a class="headerlink" href="#module-evennia.server.portal.mxp" title="Permalink to this headline">¶</a></h2>
|
||
<p>MXP - Mud eXtension Protocol.</p>
|
||
<p>Partial implementation of the MXP protocol.
|
||
The MXP protocol allows more advanced formatting options for telnet clients
|
||
that supports it (mudlet, zmud, mushclient are a few)</p>
|
||
<p>This only implements the SEND tag.</p>
|
||
<p>More information can be found on the following links:
|
||
<a class="reference external" href="http://www.zuggsoft.com/zmud/mxp.htm">http://www.zuggsoft.com/zmud/mxp.htm</a>
|
||
<a class="reference external" href="http://www.mushclient.com/mushclient/mxp.htm">http://www.mushclient.com/mushclient/mxp.htm</a>
|
||
<a class="reference external" href="http://www.gammon.com.au/mushclient/addingservermxp.htm">http://www.gammon.com.au/mushclient/addingservermxp.htm</a></p>
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.mxp.Mxp">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.mxp.</code><code class="sig-name descname">Mxp</code><span class="sig-paren">(</span><em class="sig-param">protocol</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/mxp.html#Mxp"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.mxp.Mxp" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
|
||
<p>Implements the MXP protocol.</p>
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.mxp.Mxp.__init__">
|
||
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param">protocol</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/mxp.html#Mxp.__init__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.mxp.Mxp.__init__" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Initializes the protocol by checking if the client supports it.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>protocol</strong> (<em>Protocol</em>) – The active protocol instance.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.mxp.Mxp.do_mxp">
|
||
<code class="sig-name descname">do_mxp</code><span class="sig-paren">(</span><em class="sig-param">option</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/mxp.html#Mxp.do_mxp"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.mxp.Mxp.do_mxp" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Called when the Client reports to support MXP.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>option</strong> (<em>Option</em>) – Not used.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.mxp.Mxp.no_mxp">
|
||
<code class="sig-name descname">no_mxp</code><span class="sig-paren">(</span><em class="sig-param">option</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/mxp.html#Mxp.no_mxp"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.mxp.Mxp.no_mxp" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Called when the Client reports to not support MXP.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>option</strong> (<em>Option</em>) – Not used.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="function">
|
||
<dt id="evennia.server.portal.mxp.mxp_parse">
|
||
<code class="sig-prename descclassname">evennia.server.portal.mxp.</code><code class="sig-name descname">mxp_parse</code><span class="sig-paren">(</span><em class="sig-param">text</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/mxp.html#mxp_parse"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.mxp.mxp_parse" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Replaces links to the correct format for MXP.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>text</strong> (<em>str</em>) – The text to parse.</p>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p>The parsed text.</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p>parsed (str)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
</div>
|
||
<div class="section" id="module-evennia.server.portal.naws">
|
||
<span id="evennia-server-portal-naws-module"></span><h2>evennia.server.portal.naws module<a class="headerlink" href="#module-evennia.server.portal.naws" title="Permalink to this headline">¶</a></h2>
|
||
<p>NAWS - Negotiate About Window Size</p>
|
||
<p>This implements the NAWS telnet option as per
|
||
<a class="reference external" href="https://www.ietf.org/rfc/rfc1073.txt">https://www.ietf.org/rfc/rfc1073.txt</a></p>
|
||
<p>NAWS allows telnet clients to report their current window size to the
|
||
client and update it when the size changes</p>
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.naws.Naws">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.naws.</code><code class="sig-name descname">Naws</code><span class="sig-paren">(</span><em class="sig-param">protocol</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/naws.html#Naws"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.naws.Naws" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
|
||
<p>Implements the NAWS protocol. Add this to a variable on the telnet
|
||
protocol to set it up.</p>
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.naws.Naws.__init__">
|
||
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param">protocol</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/naws.html#Naws.__init__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.naws.Naws.__init__" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>initialize NAWS by storing protocol on ourselves and calling
|
||
the client to see if it supports NAWS.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>protocol</strong> (<em>Protocol</em>) – The active protocol instance.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.naws.Naws.do_naws">
|
||
<code class="sig-name descname">do_naws</code><span class="sig-paren">(</span><em class="sig-param">option</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/naws.html#Naws.do_naws"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.naws.Naws.do_naws" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Client wants to negotiate all the NAWS information.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>option</strong> (<em>Option</em>) – Not used.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.naws.Naws.negotiate_sizes">
|
||
<code class="sig-name descname">negotiate_sizes</code><span class="sig-paren">(</span><em class="sig-param">options</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/naws.html#Naws.negotiate_sizes"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.naws.Naws.negotiate_sizes" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Step through the NAWS handshake.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>option</strong> (<em>list</em>) – The incoming NAWS options.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.naws.Naws.no_naws">
|
||
<code class="sig-name descname">no_naws</code><span class="sig-paren">(</span><em class="sig-param">option</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/naws.html#Naws.no_naws"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.naws.Naws.no_naws" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Called when client is not reporting NAWS. This is the normal
|
||
operation.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>option</strong> (<em>Option</em>) – Not used.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
</div>
|
||
<div class="section" id="module-evennia.server.portal.portal">
|
||
<span id="evennia-server-portal-portal-module"></span><h2>evennia.server.portal.portal module<a class="headerlink" href="#module-evennia.server.portal.portal" title="Permalink to this headline">¶</a></h2>
|
||
<p>This module implements the main Evennia server process, the core of
|
||
the game engine.</p>
|
||
<p>This module should be started with the ‘twistd’ executable since it
|
||
sets up all the networking features. (this is done automatically
|
||
by game/evennia.py).</p>
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.portal.Portal">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.portal.</code><code class="sig-name descname">Portal</code><span class="sig-paren">(</span><em class="sig-param">application</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/portal.html#Portal"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.portal.Portal" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
|
||
<p>The main Portal server handler. This object sets up the database
|
||
and tracks and interlinks all the twisted network services that
|
||
make up Portal.</p>
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.portal.Portal.__init__">
|
||
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param">application</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/portal.html#Portal.__init__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.portal.Portal.__init__" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Setup the server.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>application</strong> (<em>Application</em>) – An instantiated Twisted application</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.portal.Portal._get_backup_server_twistd_cmd">
|
||
<code class="sig-name descname">_get_backup_server_twistd_cmd</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/portal.html#Portal._get_backup_server_twistd_cmd"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.portal.Portal._get_backup_server_twistd_cmd" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>For interactive Portal mode there is no way to get the server cmdline from the launcher, so
|
||
we need to guess it here (it’s very likely to not change)</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Returns</dt>
|
||
<dd class="field-odd"><p>An instruction for starting the server, to pass to Popen.</p>
|
||
</dd>
|
||
<dt class="field-even">Return type</dt>
|
||
<dd class="field-even"><p>server_twistd_cmd (list)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.portal.Portal.get_info_dict">
|
||
<code class="sig-name descname">get_info_dict</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/portal.html#Portal.get_info_dict"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.portal.Portal.get_info_dict" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Return the Portal info, for display.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.portal.Portal.shutdown">
|
||
<code class="sig-name descname">shutdown</code><span class="sig-paren">(</span><em class="sig-param">_reactor_stopping=False</em>, <em class="sig-param">_stop_server=False</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/portal.html#Portal.shutdown"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.portal.Portal.shutdown" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Shuts down the server from inside it.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>_reactor_stopping</strong> (<em>bool</em><em>, </em><em>optional</em>) – This is set if server
|
||
is already in the process of shutting down; in this case
|
||
we don’t need to stop it again.</p></li>
|
||
<li><p><strong>_stop_server</strong> (<em>bool</em><em>, </em><em>optional</em>) – Only used in portal-interactive mode;
|
||
makes sure to stop the Server cleanly.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
<p>Note that restarting (regardless of the setting) will not work
|
||
if the Portal is currently running in daemon mode. In that
|
||
case it always needs to be restarted manually.</p>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.portal.Websocket">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.portal.</code><code class="sig-name descname">Websocket</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/portal.html#Websocket"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.portal.Websocket" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">autobahn.twisted.websocket.WebSocketServerFactory</span></code></p>
|
||
<p>Only here for better naming in logs</p>
|
||
</dd></dl>
|
||
|
||
</div>
|
||
<div class="section" id="module-evennia.server.portal.portalsessionhandler">
|
||
<span id="evennia-server-portal-portalsessionhandler-module"></span><h2>evennia.server.portal.portalsessionhandler module<a class="headerlink" href="#module-evennia.server.portal.portalsessionhandler" title="Permalink to this headline">¶</a></h2>
|
||
<p>Sessionhandler for portal sessions</p>
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.portalsessionhandler.PortalSessionHandler">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.portalsessionhandler.</code><code class="sig-name descname">PortalSessionHandler</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/portalsessionhandler.html#PortalSessionHandler"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.portalsessionhandler.PortalSessionHandler" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <a class="reference internal" href="evennia.server.html#evennia.server.sessionhandler.SessionHandler" title="evennia.server.sessionhandler.SessionHandler"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.server.sessionhandler.SessionHandler</span></code></a></p>
|
||
<p>This object holds the sessions connected to the portal at any time.
|
||
It is synced with the server’s equivalent SessionHandler over the AMP
|
||
connection.</p>
|
||
<p>Sessions register with the handler using the connect() method. This
|
||
will assign a new unique sessionid to the session and send that sessid
|
||
to the server using the AMP connection.</p>
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.portalsessionhandler.PortalSessionHandler.__init__">
|
||
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/portalsessionhandler.html#PortalSessionHandler.__init__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.portalsessionhandler.PortalSessionHandler.__init__" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Init the handler</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.portalsessionhandler.PortalSessionHandler.announce_all">
|
||
<code class="sig-name descname">announce_all</code><span class="sig-paren">(</span><em class="sig-param">message</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/portalsessionhandler.html#PortalSessionHandler.announce_all"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.portalsessionhandler.PortalSessionHandler.announce_all" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Send message to all connected sessions.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>message</strong> (<em>str</em>) – Message to relay.</p>
|
||
</dd>
|
||
</dl>
|
||
<p class="rubric">Notes</p>
|
||
<p>This will create an on-the fly text-type
|
||
send command.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.portalsessionhandler.PortalSessionHandler.at_server_connection">
|
||
<code class="sig-name descname">at_server_connection</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/portalsessionhandler.html#PortalSessionHandler.at_server_connection"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.portalsessionhandler.PortalSessionHandler.at_server_connection" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Called when the Portal establishes connection with the Server.
|
||
At this point, the AMP connection is already established.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.portalsessionhandler.PortalSessionHandler.connect">
|
||
<code class="sig-name descname">connect</code><span class="sig-paren">(</span><em class="sig-param">session</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/portalsessionhandler.html#PortalSessionHandler.connect"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.portalsessionhandler.PortalSessionHandler.connect" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Called by protocol at first connect. This adds a not-yet
|
||
authenticated session using an ever-increasing counter for
|
||
sessid.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>session</strong> (<em>PortalSession</em>) – The Session connecting.</p>
|
||
</dd>
|
||
</dl>
|
||
<p class="rubric">Notes</p>
|
||
<p>We implement a throttling mechanism here to limit the speed at
|
||
which new connections are accepted - this is both a stop
|
||
against DoS attacks as well as helps using the Dummyrunner
|
||
tester with a large number of connector dummies.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.portalsessionhandler.PortalSessionHandler.count_loggedin">
|
||
<code class="sig-name descname">count_loggedin</code><span class="sig-paren">(</span><em class="sig-param">include_unloggedin=False</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/portalsessionhandler.html#PortalSessionHandler.count_loggedin"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.portalsessionhandler.PortalSessionHandler.count_loggedin" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Count loggedin connections, alternatively count all connections.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>include_unloggedin</strong> (<em>bool</em>) – Also count sessions that have</p></li>
|
||
<li><p><strong>yet authenticated.</strong> (<em>not</em>) – </p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p>Number of sessions.</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p>count (int)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.portalsessionhandler.PortalSessionHandler.data_in">
|
||
<code class="sig-name descname">data_in</code><span class="sig-paren">(</span><em class="sig-param">session</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/portalsessionhandler.html#PortalSessionHandler.data_in"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.portalsessionhandler.PortalSessionHandler.data_in" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Called by portal sessions for relaying data coming
|
||
in from the protocol to the server.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>session</strong> (<em>PortalSession</em>) – Session receiving data.</p>
|
||
</dd>
|
||
</dl>
|
||
<dl class="simple">
|
||
<dt>Kwargs:</dt><dd><p>kwargs (any): Other data from protocol.</p>
|
||
</dd>
|
||
</dl>
|
||
<p class="rubric">Notes</p>
|
||
<p>Data is serialized before passed on.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.portalsessionhandler.PortalSessionHandler.data_out">
|
||
<code class="sig-name descname">data_out</code><span class="sig-paren">(</span><em class="sig-param">session</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/portalsessionhandler.html#PortalSessionHandler.data_out"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.portalsessionhandler.PortalSessionHandler.data_out" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Called by server for having the portal relay messages and data
|
||
to the correct session protocol.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>session</strong> (<a class="reference internal" href="evennia.server.html#evennia.server.session.Session" title="evennia.server.session.Session"><em>Session</em></a>) – Session sending data.</p>
|
||
</dd>
|
||
</dl>
|
||
<dl class="simple">
|
||
<dt>Kwargs:</dt><dd><p>kwargs (any): Each key is a command instruction to the
|
||
protocol on the form key = [[args],{kwargs}]. This will
|
||
call a method send_<key> on the protocol. If no such
|
||
method exixts, it sends the data to a method send_default.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.portalsessionhandler.PortalSessionHandler.disconnect">
|
||
<code class="sig-name descname">disconnect</code><span class="sig-paren">(</span><em class="sig-param">session</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/portalsessionhandler.html#PortalSessionHandler.disconnect"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.portalsessionhandler.PortalSessionHandler.disconnect" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Called from portal when the connection is closed from the
|
||
portal side.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>session</strong> (<em>PortalSession</em>) – Session to disconnect.</p></li>
|
||
<li><p><strong>delete</strong> (<em>bool</em><em>, </em><em>optional</em>) – Delete the session from
|
||
the handler. Only time to not do this is when
|
||
this is called from a loop, such as from
|
||
self.disconnect_all().</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.portalsessionhandler.PortalSessionHandler.disconnect_all">
|
||
<code class="sig-name descname">disconnect_all</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/portalsessionhandler.html#PortalSessionHandler.disconnect_all"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.portalsessionhandler.PortalSessionHandler.disconnect_all" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Disconnect all sessions, informing the Server.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.portalsessionhandler.PortalSessionHandler.generate_sessid">
|
||
<code class="sig-name descname">generate_sessid</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/portalsessionhandler.html#PortalSessionHandler.generate_sessid"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.portalsessionhandler.PortalSessionHandler.generate_sessid" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Simply generates a sessid that’s guaranteed to be unique for this Portal run.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Returns</dt>
|
||
<dd class="field-odd"><p>sessid</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.portalsessionhandler.PortalSessionHandler.server_connect">
|
||
<code class="sig-name descname">server_connect</code><span class="sig-paren">(</span><em class="sig-param">protocol_path=''</em>, <em class="sig-param">config={}</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/portalsessionhandler.html#PortalSessionHandler.server_connect"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.portalsessionhandler.PortalSessionHandler.server_connect" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Called by server to force the initialization of a new protocol
|
||
instance. Server wants this instance to get a unique sessid
|
||
and to be connected back as normal. This is used to initiate
|
||
irc/rss etc connections.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>protocol_path</strong> (<em>st</em>) – Full python path to the class factory
|
||
for the protocol used, eg
|
||
‘evennia.server.portal.irc.IRCClientFactory’</p></li>
|
||
<li><p><strong>config</strong> (<em>dict</em>) – Dictionary of configuration options, fed as
|
||
<a href="#id17"><span class="problematic" id="id18">**</span></a>kwarg to protocol class’ __init__ method.</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Raises</dt>
|
||
<dd class="field-even"><p><strong>RuntimeError</strong> – If The correct factory class is not found.</p>
|
||
</dd>
|
||
</dl>
|
||
<p class="rubric">Notes</p>
|
||
<p>The called protocol class must have a method start()
|
||
that calls the portalsession.connect() as a normal protocol.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.portalsessionhandler.PortalSessionHandler.server_disconnect">
|
||
<code class="sig-name descname">server_disconnect</code><span class="sig-paren">(</span><em class="sig-param">session</em>, <em class="sig-param">reason=''</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/portalsessionhandler.html#PortalSessionHandler.server_disconnect"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.portalsessionhandler.PortalSessionHandler.server_disconnect" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Called by server to force a disconnect by sessid.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>session</strong> (<em>portalsession</em>) – Session to disconnect.</p></li>
|
||
<li><p><strong>reason</strong> (<em>str</em><em>, </em><em>optional</em>) – Motivation for disconnect.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.portalsessionhandler.PortalSessionHandler.server_disconnect_all">
|
||
<code class="sig-name descname">server_disconnect_all</code><span class="sig-paren">(</span><em class="sig-param">reason=''</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/portalsessionhandler.html#PortalSessionHandler.server_disconnect_all"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.portalsessionhandler.PortalSessionHandler.server_disconnect_all" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Called by server when forcing a clean disconnect for everyone.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>reason</strong> (<em>str</em><em>, </em><em>optional</em>) – Motivation for disconnect.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.portalsessionhandler.PortalSessionHandler.server_logged_in">
|
||
<code class="sig-name descname">server_logged_in</code><span class="sig-paren">(</span><em class="sig-param">session</em>, <em class="sig-param">data</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/portalsessionhandler.html#PortalSessionHandler.server_logged_in"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.portalsessionhandler.PortalSessionHandler.server_logged_in" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>The server tells us that the session has been authenticated.
|
||
Update it. Called by the Server.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>session</strong> (<a class="reference internal" href="evennia.server.html#evennia.server.session.Session" title="evennia.server.session.Session"><em>Session</em></a>) – Session logging in.</p></li>
|
||
<li><p><strong>data</strong> (<em>dict</em>) – The session sync data.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.portalsessionhandler.PortalSessionHandler.server_session_sync">
|
||
<code class="sig-name descname">server_session_sync</code><span class="sig-paren">(</span><em class="sig-param">serversessions</em>, <em class="sig-param">clean=True</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/portalsessionhandler.html#PortalSessionHandler.server_session_sync"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.portalsessionhandler.PortalSessionHandler.server_session_sync" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Server wants to save data to the portal, maybe because it’s
|
||
about to shut down. We don’t overwrite any sessions here, just
|
||
update them in-place.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>serversessions</strong> (<em>dict</em>) – <p>This is a dictionary</p>
|
||
<p><cite>{sessid:{property:value},…}</cite> describing
|
||
the properties to sync on all sessions.</p>
|
||
</p></li>
|
||
<li><p><strong>clean</strong> (<em>bool</em>) – If True, remove any Portal sessions that are
|
||
not included in serversessions.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.portalsessionhandler.PortalSessionHandler.sessions_from_csessid">
|
||
<code class="sig-name descname">sessions_from_csessid</code><span class="sig-paren">(</span><em class="sig-param">csessid</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/portalsessionhandler.html#PortalSessionHandler.sessions_from_csessid"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.portalsessionhandler.PortalSessionHandler.sessions_from_csessid" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Given a session id, retrieve the session (this is primarily
|
||
intended to be called by web clients)</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>csessid</strong> (<em>int</em>) – Session id.</p>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p>The matching session, if found.</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p>session (list)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.portalsessionhandler.PortalSessionHandler.sync">
|
||
<code class="sig-name descname">sync</code><span class="sig-paren">(</span><em class="sig-param">session</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/portalsessionhandler.html#PortalSessionHandler.sync"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.portalsessionhandler.PortalSessionHandler.sync" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Called by the protocol of an already connected session. This
|
||
can be used to sync the session info in a delayed manner, such
|
||
as when negotiation and handshakes are delayed.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>session</strong> (<em>PortalSession</em>) – Session to sync.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.portalsessionhandler._PORTAL_SESSION_HANDLER_CLASS">
|
||
<code class="sig-prename descclassname">evennia.server.portal.portalsessionhandler.</code><code class="sig-name descname">_PORTAL_SESSION_HANDLER_CLASS</code><a class="headerlink" href="#evennia.server.portal.portalsessionhandler._PORTAL_SESSION_HANDLER_CLASS" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>alias of <a class="reference internal" href="#evennia.server.portal.portalsessionhandler.PortalSessionHandler" title="evennia.server.portal.portalsessionhandler.PortalSessionHandler"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.server.portal.portalsessionhandler.PortalSessionHandler</span></code></a></p>
|
||
</dd></dl>
|
||
|
||
</div>
|
||
<div class="section" id="module-evennia.server.portal.rss">
|
||
<span id="evennia-server-portal-rss-module"></span><h2>evennia.server.portal.rss module<a class="headerlink" href="#module-evennia.server.portal.rss" title="Permalink to this headline">¶</a></h2>
|
||
<p>RSS parser for Evennia</p>
|
||
<p>This connects an RSS feed to an in-game Evennia channel, sending messages
|
||
to the channel whenever the feed updates.</p>
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.rss.RSSBotFactory">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.rss.</code><code class="sig-name descname">RSSBotFactory</code><span class="sig-paren">(</span><em class="sig-param">sessionhandler</em>, <em class="sig-param">uid=None</em>, <em class="sig-param">url=None</em>, <em class="sig-param">rate=None</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/rss.html#RSSBotFactory"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.rss.RSSBotFactory" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
|
||
<p>Initializes new bots.</p>
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.rss.RSSBotFactory.__init__">
|
||
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param">sessionhandler</em>, <em class="sig-param">uid=None</em>, <em class="sig-param">url=None</em>, <em class="sig-param">rate=None</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/rss.html#RSSBotFactory.__init__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.rss.RSSBotFactory.__init__" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Initialize the bot.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>sessionhandler</strong> (<a class="reference internal" href="#evennia.server.portal.portalsessionhandler.PortalSessionHandler" title="evennia.server.portal.portalsessionhandler.PortalSessionHandler"><em>PortalSessionHandler</em></a>) – The main sessionhandler object.</p></li>
|
||
<li><p><strong>uid</strong> (<em>int</em>) – User id for the bot.</p></li>
|
||
<li><p><strong>url</strong> (<em>str</em>) – The RSS URL.</p></li>
|
||
<li><p><strong>rate</strong> (<em>int</em>) – How often for the RSS to request the latest RSS entries.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.rss.RSSBotFactory.start">
|
||
<code class="sig-name descname">start</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/rss.html#RSSBotFactory.start"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.rss.RSSBotFactory.start" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Called by portalsessionhandler. Starts the bot.</p>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.rss.RSSReader">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.rss.</code><code class="sig-name descname">RSSReader</code><span class="sig-paren">(</span><em class="sig-param">factory</em>, <em class="sig-param">url</em>, <em class="sig-param">rate</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/rss.html#RSSReader"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.rss.RSSReader" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <a class="reference internal" href="evennia.server.html#evennia.server.session.Session" title="evennia.server.session.Session"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.server.session.Session</span></code></a></p>
|
||
<p>A simple RSS reader using the feedparser module.</p>
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.rss.RSSReader.__init__">
|
||
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param">factory</em>, <em class="sig-param">url</em>, <em class="sig-param">rate</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/rss.html#RSSReader.__init__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.rss.RSSReader.__init__" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Initialize the reader.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>factory</strong> (<em>RSSFactory</em>) – The protocol factory.</p></li>
|
||
<li><p><strong>url</strong> (<em>str</em>) – The RSS url.</p></li>
|
||
<li><p><strong>rate</strong> (<em>int</em>) – The seconds between RSS lookups.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.rss.RSSReader._callback">
|
||
<code class="sig-name descname">_callback</code><span class="sig-paren">(</span><em class="sig-param">new_entries</em>, <em class="sig-param">init</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/rss.html#RSSReader._callback"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.rss.RSSReader._callback" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Called when RSS returns.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>new_entries</strong> (<em>list</em>) – List of new RSS entries since last.</p></li>
|
||
<li><p><strong>init</strong> (<em>bool</em>) – If this is a startup operation (at which
|
||
point all entries are considered new).</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.rss.RSSReader._errback">
|
||
<code class="sig-name descname">_errback</code><span class="sig-paren">(</span><em class="sig-param">fail</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/rss.html#RSSReader._errback"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.rss.RSSReader._errback" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Report error</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.rss.RSSReader.data_in">
|
||
<code class="sig-name descname">data_in</code><span class="sig-paren">(</span><em class="sig-param">text=None</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/rss.html#RSSReader.data_in"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.rss.RSSReader.data_in" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Data RSS -> Evennia.</p>
|
||
<dl class="simple">
|
||
<dt>Kwargs:</dt><dd><p>text (str): Incoming text
|
||
kwargs (any): Options from protocol.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.rss.RSSReader.disconnect">
|
||
<code class="sig-name descname">disconnect</code><span class="sig-paren">(</span><em class="sig-param">reason=None</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/rss.html#RSSReader.disconnect"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.rss.RSSReader.disconnect" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Disconnect from feed.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>reason</strong> (<em>str</em><em>, </em><em>optional</em>) – Motivation for the disconnect.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.rss.RSSReader.get_new">
|
||
<code class="sig-name descname">get_new</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/rss.html#RSSReader.get_new"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.rss.RSSReader.get_new" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Returns list of new items.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.rss.RSSReader.update">
|
||
<code class="sig-name descname">update</code><span class="sig-paren">(</span><em class="sig-param">init=False</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/rss.html#RSSReader.update"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.rss.RSSReader.update" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Request the latest version of feed.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>init</strong> (<em>bool</em><em>, </em><em>optional</em>) – If this is an initialization call
|
||
or not (during init, all entries are conidered new).</p>
|
||
</dd>
|
||
</dl>
|
||
<p class="rubric">Notes</p>
|
||
<p>This call is done in a separate thread to avoid blocking
|
||
on slow connections.</p>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
</div>
|
||
<div class="section" id="module-evennia.server.portal.ssh">
|
||
<span id="evennia-server-portal-ssh-module"></span><h2>evennia.server.portal.ssh module<a class="headerlink" href="#module-evennia.server.portal.ssh" title="Permalink to this headline">¶</a></h2>
|
||
<p>This module implements the ssh (Secure SHell) protocol for encrypted
|
||
connections.</p>
|
||
<p>This depends on a generic session module that implements the actual
|
||
login procedure of the game, tracks sessions etc.</p>
|
||
<p>Using standard ssh client,</p>
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.ssh.AccountDBPasswordChecker">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.ssh.</code><code class="sig-name descname">AccountDBPasswordChecker</code><span class="sig-paren">(</span><em class="sig-param">factory</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#AccountDBPasswordChecker"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.AccountDBPasswordChecker" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
|
||
<p>Checks the django db for the correct credentials for
|
||
username/password otherwise it returns the account or None which is
|
||
useful for the Realm.</p>
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.ssh.AccountDBPasswordChecker.__init__">
|
||
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param">factory</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#AccountDBPasswordChecker.__init__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.AccountDBPasswordChecker.__init__" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Initialize the factory.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>factory</strong> (<em>SSHFactory</em>) – Checker factory.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.ssh.AccountDBPasswordChecker.credentialInterfaces">
|
||
<code class="sig-name descname">credentialInterfaces</code><em class="property"> = (<InterfaceClass twisted.cred.credentials.IUsernamePassword>,)</em><a class="headerlink" href="#evennia.server.portal.ssh.AccountDBPasswordChecker.credentialInterfaces" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.ssh.AccountDBPasswordChecker.noisy">
|
||
<code class="sig-name descname">noisy</code><em class="property"> = False</em><a class="headerlink" href="#evennia.server.portal.ssh.AccountDBPasswordChecker.noisy" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.ssh.AccountDBPasswordChecker.requestAvatarId">
|
||
<code class="sig-name descname">requestAvatarId</code><span class="sig-paren">(</span><em class="sig-param">c</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#AccountDBPasswordChecker.requestAvatarId"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.AccountDBPasswordChecker.requestAvatarId" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Generic credentials.</p>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.ssh.ExtraInfoAuthServer">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.ssh.</code><code class="sig-name descname">ExtraInfoAuthServer</code><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#ExtraInfoAuthServer"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.ExtraInfoAuthServer" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">twisted.conch.ssh.userauth.SSHUserAuthServer</span></code></p>
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.ssh.ExtraInfoAuthServer.auth_password">
|
||
<code class="sig-name descname">auth_password</code><span class="sig-paren">(</span><em class="sig-param">packet</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#ExtraInfoAuthServer.auth_password"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.ExtraInfoAuthServer.auth_password" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Password authentication.</p>
|
||
<p>Used mostly for setting up the transport so we can query
|
||
username and password later.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>packet</strong> (<em>Packet</em>) – Auth packet.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.ssh.ExtraInfoAuthServer.noisy">
|
||
<code class="sig-name descname">noisy</code><em class="property"> = False</em><a class="headerlink" href="#evennia.server.portal.ssh.ExtraInfoAuthServer.noisy" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.ssh.PassAvatarIdTerminalRealm">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.ssh.</code><code class="sig-name descname">PassAvatarIdTerminalRealm</code><span class="sig-paren">(</span><em class="sig-param">transportFactory=None</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#PassAvatarIdTerminalRealm"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.PassAvatarIdTerminalRealm" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">twisted.conch.manhole_ssh.TerminalRealm</span></code></p>
|
||
<p>Returns an avatar that passes the avatarId through to the
|
||
protocol. This is probably not the best way to do it.</p>
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.ssh.PassAvatarIdTerminalRealm._getAvatar">
|
||
<code class="sig-name descname">_getAvatar</code><span class="sig-paren">(</span><em class="sig-param">avatarId</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#PassAvatarIdTerminalRealm._getAvatar"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.PassAvatarIdTerminalRealm._getAvatar" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.ssh.PassAvatarIdTerminalRealm.noisy">
|
||
<code class="sig-name descname">noisy</code><em class="property"> = False</em><a class="headerlink" href="#evennia.server.portal.ssh.PassAvatarIdTerminalRealm.noisy" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.ssh.SSHServerFactory">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.ssh.</code><code class="sig-name descname">SSHServerFactory</code><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#SSHServerFactory"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.SSHServerFactory" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">twisted.internet.protocol.ServerFactory</span></code></p>
|
||
<p>This is only to name this better in logs</p>
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.ssh.SSHServerFactory.logPrefix">
|
||
<code class="sig-name descname">logPrefix</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#SSHServerFactory.logPrefix"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.SSHServerFactory.logPrefix" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Describe this factory for log messages.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.ssh.SSHServerFactory.noisy">
|
||
<code class="sig-name descname">noisy</code><em class="property"> = False</em><a class="headerlink" href="#evennia.server.portal.ssh.SSHServerFactory.noisy" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.ssh.SshProtocol">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.ssh.</code><code class="sig-name descname">SshProtocol</code><span class="sig-paren">(</span><em class="sig-param">starttuple</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#SshProtocol"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.SshProtocol" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">twisted.conch.manhole.Manhole</span></code>, <a class="reference internal" href="evennia.server.html#evennia.server.session.Session" title="evennia.server.session.Session"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.server.session.Session</span></code></a></p>
|
||
<p>Each account connecting over ssh gets this protocol assigned to
|
||
them. All communication between game and account goes through
|
||
here.</p>
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.ssh.SshProtocol.__init__">
|
||
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param">starttuple</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#SshProtocol.__init__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.SshProtocol.__init__" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>For setting up the account. If account is not None then we’ll
|
||
login automatically.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>starttuple</strong> (<em>tuple</em>) – A (account, factory) tuple.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.ssh.SshProtocol.at_login">
|
||
<code class="sig-name descname">at_login</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#SshProtocol.at_login"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.SshProtocol.at_login" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Called when this session gets authenticated by the server.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.ssh.SshProtocol.connectionLost">
|
||
<code class="sig-name descname">connectionLost</code><span class="sig-paren">(</span><em class="sig-param">reason=None</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#SshProtocol.connectionLost"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.SshProtocol.connectionLost" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>This is executed when the connection is lost for whatever
|
||
reason. It can also be called directly, from the disconnect
|
||
method.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>reason</strong> (<em>str</em>) – Motivation for loosing connection.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.ssh.SshProtocol.connectionMade">
|
||
<code class="sig-name descname">connectionMade</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#SshProtocol.connectionMade"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.SshProtocol.connectionMade" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>This is called when the connection is first established.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.ssh.SshProtocol.data_out">
|
||
<code class="sig-name descname">data_out</code><span class="sig-paren">(</span><em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#SshProtocol.data_out"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.SshProtocol.data_out" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Data Evennia -> User</p>
|
||
<dl class="simple">
|
||
<dt>Kwargs:</dt><dd><p>kwargs (any): Options to the protocol.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.ssh.SshProtocol.disconnect">
|
||
<code class="sig-name descname">disconnect</code><span class="sig-paren">(</span><em class="sig-param">reason='Connection closed. Goodbye for now.'</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#SshProtocol.disconnect"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.SshProtocol.disconnect" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Disconnect from server.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>reason</strong> (<em>str</em>) – Motivation for disconnect.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.ssh.SshProtocol.getClientAddress">
|
||
<code class="sig-name descname">getClientAddress</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#SshProtocol.getClientAddress"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.SshProtocol.getClientAddress" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Get client address.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Returns</dt>
|
||
<dd class="field-odd"><p><dl class="simple">
|
||
<dt>The client’s address and port in</dt><dd><p>a tuple. For example <cite>(‘127.0.0.1’, 41917)</cite>.</p>
|
||
</dd>
|
||
</dl>
|
||
</p>
|
||
</dd>
|
||
<dt class="field-even">Return type</dt>
|
||
<dd class="field-even"><p>address_and_port (tuple)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.ssh.SshProtocol.handle_EOF">
|
||
<code class="sig-name descname">handle_EOF</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#SshProtocol.handle_EOF"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.SshProtocol.handle_EOF" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Handles EOF generally used to exit.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.ssh.SshProtocol.handle_FF">
|
||
<code class="sig-name descname">handle_FF</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#SshProtocol.handle_FF"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.SshProtocol.handle_FF" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Handle a ‘form feed’ byte - generally used to request a screen
|
||
refresh/redraw.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.ssh.SshProtocol.handle_INT">
|
||
<code class="sig-name descname">handle_INT</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#SshProtocol.handle_INT"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.SshProtocol.handle_INT" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Handle ^C as an interrupt keystroke by resetting the current
|
||
input variables to their initial state.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.ssh.SshProtocol.handle_QUIT">
|
||
<code class="sig-name descname">handle_QUIT</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#SshProtocol.handle_QUIT"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.SshProtocol.handle_QUIT" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Quit, end, and lose the connection.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.ssh.SshProtocol.lineReceived">
|
||
<code class="sig-name descname">lineReceived</code><span class="sig-paren">(</span><em class="sig-param">string</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#SshProtocol.lineReceived"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.SshProtocol.lineReceived" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Communication User -> Evennia. Any line return indicates a
|
||
command for the purpose of the MUD. So we take the user input
|
||
and pass it on to the game engine.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>string</strong> (<em>str</em>) – Input text.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.ssh.SshProtocol.noisy">
|
||
<code class="sig-name descname">noisy</code><em class="property"> = False</em><a class="headerlink" href="#evennia.server.portal.ssh.SshProtocol.noisy" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.ssh.SshProtocol.sendLine">
|
||
<code class="sig-name descname">sendLine</code><span class="sig-paren">(</span><em class="sig-param">string</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#SshProtocol.sendLine"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.SshProtocol.sendLine" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Communication Evennia -> User. Any string sent should
|
||
already have been properly formatted and processed before
|
||
reaching this point.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>string</strong> (<em>str</em>) – Output text.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.ssh.SshProtocol.send_default">
|
||
<code class="sig-name descname">send_default</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#SshProtocol.send_default"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.SshProtocol.send_default" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.ssh.SshProtocol.send_prompt">
|
||
<code class="sig-name descname">send_prompt</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#SshProtocol.send_prompt"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.SshProtocol.send_prompt" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.ssh.SshProtocol.send_text">
|
||
<code class="sig-name descname">send_text</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#SshProtocol.send_text"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.SshProtocol.send_text" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Send text data. This is an in-band telnet operation.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>text</strong> (<em>str</em>) – The first argument is always the text string to send. No other arguments
|
||
are considered.</p>
|
||
</dd>
|
||
</dl>
|
||
<dl class="simple">
|
||
<dt>Kwargs:</dt><dd><dl class="simple">
|
||
<dt>options (dict): Send-option flags</dt><dd><ul class="simple">
|
||
<li><p>mxp: Enforce MXP link support.</p></li>
|
||
<li><p>ansi: Enforce no ANSI colors.</p></li>
|
||
<li><p>xterm256: Enforce xterm256 colors, regardless of TTYPE setting.</p></li>
|
||
<li><p>nocolor: Strip all colors.</p></li>
|
||
<li><dl class="simple">
|
||
<dt>raw: Pass string through without any ansi processing</dt><dd><p>(i.e. include Evennia ansi markers but do not
|
||
convert them into ansi tokens)</p>
|
||
</dd>
|
||
</dl>
|
||
</li>
|
||
<li><dl class="simple">
|
||
<dt>echo: Turn on/off line echo on the client. Turn</dt><dd><p>off line echo for client, for example for password.
|
||
Note that it must be actively turned back on again!</p>
|
||
</dd>
|
||
</dl>
|
||
</li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.ssh.SshProtocol.terminalSize">
|
||
<code class="sig-name descname">terminalSize</code><span class="sig-paren">(</span><em class="sig-param">width</em>, <em class="sig-param">height</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#SshProtocol.terminalSize"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.SshProtocol.terminalSize" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Initialize the terminal and connect to the new session.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>width</strong> (<em>int</em>) – Width of terminal.</p></li>
|
||
<li><p><strong>height</strong> (<em>int</em>) – Height of terminal.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.ssh.TerminalSessionTransport_getPeer">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.ssh.</code><code class="sig-name descname">TerminalSessionTransport_getPeer</code><span class="sig-paren">(</span><em class="sig-param">proto</em>, <em class="sig-param">chainedProtocol</em>, <em class="sig-param">avatar</em>, <em class="sig-param">width</em>, <em class="sig-param">height</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#TerminalSessionTransport_getPeer"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.TerminalSessionTransport_getPeer" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
|
||
<p>Taken from twisted’s TerminalSessionTransport which doesn’t
|
||
provide getPeer to the transport. This one does.</p>
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.ssh.TerminalSessionTransport_getPeer.__init__">
|
||
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param">proto</em>, <em class="sig-param">chainedProtocol</em>, <em class="sig-param">avatar</em>, <em class="sig-param">width</em>, <em class="sig-param">height</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#TerminalSessionTransport_getPeer.__init__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.TerminalSessionTransport_getPeer.__init__" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Initialize self. See help(type(self)) for accurate signature.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.ssh.TerminalSessionTransport_getPeer.noisy">
|
||
<code class="sig-name descname">noisy</code><em class="property"> = False</em><a class="headerlink" href="#evennia.server.portal.ssh.TerminalSessionTransport_getPeer.noisy" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="function">
|
||
<dt id="evennia.server.portal.ssh.getKeyPair">
|
||
<code class="sig-prename descclassname">evennia.server.portal.ssh.</code><code class="sig-name descname">getKeyPair</code><span class="sig-paren">(</span><em class="sig-param">pubkeyfile</em>, <em class="sig-param">privkeyfile</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#getKeyPair"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.getKeyPair" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>This function looks for RSA keypair files in the current directory. If they
|
||
do not exist, the keypair is created.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="function">
|
||
<dt id="evennia.server.portal.ssh.makeFactory">
|
||
<code class="sig-prename descclassname">evennia.server.portal.ssh.</code><code class="sig-name descname">makeFactory</code><span class="sig-paren">(</span><em class="sig-param">configdict</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssh.html#makeFactory"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssh.makeFactory" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Creates the ssh server factory.</p>
|
||
</dd></dl>
|
||
|
||
</div>
|
||
<div class="section" id="module-evennia.server.portal.ssl">
|
||
<span id="evennia-server-portal-ssl-module"></span><h2>evennia.server.portal.ssl module<a class="headerlink" href="#module-evennia.server.portal.ssl" title="Permalink to this headline">¶</a></h2>
|
||
<p>This is a simple context factory for auto-creating
|
||
SSL keys and certificates.</p>
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.ssl.SSLProtocol">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.ssl.</code><code class="sig-name descname">SSLProtocol</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssl.html#SSLProtocol"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssl.SSLProtocol" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <a class="reference internal" href="#evennia.server.portal.telnet.TelnetProtocol" title="evennia.server.portal.telnet.TelnetProtocol"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.server.portal.telnet.TelnetProtocol</span></code></a></p>
|
||
<p>Communication is the same as telnet, except data transfer
|
||
is done with encryption.</p>
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.ssl.SSLProtocol.__init__">
|
||
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssl.html#SSLProtocol.__init__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssl.SSLProtocol.__init__" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Initialize self. See help(type(self)) for accurate signature.</p>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="function">
|
||
<dt id="evennia.server.portal.ssl.getSSLContext">
|
||
<code class="sig-prename descclassname">evennia.server.portal.ssl.</code><code class="sig-name descname">getSSLContext</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssl.html#getSSLContext"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssl.getSSLContext" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>This is called by the portal when creating the SSL context
|
||
server-side.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Returns</dt>
|
||
<dd class="field-odd"><p><dl class="simple">
|
||
<dt>A key and certificate that is either</dt><dd><p>existing previously or or created on the fly.</p>
|
||
</dd>
|
||
</dl>
|
||
</p>
|
||
</dd>
|
||
<dt class="field-even">Return type</dt>
|
||
<dd class="field-even"><p>ssl_context (tuple)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="function">
|
||
<dt id="evennia.server.portal.ssl.verify_SSL_key_and_cert">
|
||
<code class="sig-prename descclassname">evennia.server.portal.ssl.</code><code class="sig-name descname">verify_SSL_key_and_cert</code><span class="sig-paren">(</span><em class="sig-param">keyfile</em>, <em class="sig-param">certfile</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ssl.html#verify_SSL_key_and_cert"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ssl.verify_SSL_key_and_cert" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>This function looks for RSA key and certificate in the current
|
||
directory. If files ssl.key and ssl.cert does not exist, they
|
||
are created.</p>
|
||
</dd></dl>
|
||
|
||
</div>
|
||
<div class="section" id="module-evennia.server.portal.suppress_ga">
|
||
<span id="evennia-server-portal-suppress-ga-module"></span><h2>evennia.server.portal.suppress_ga module<a class="headerlink" href="#module-evennia.server.portal.suppress_ga" title="Permalink to this headline">¶</a></h2>
|
||
<p>SUPPRESS-GO-AHEAD</p>
|
||
<p>This supports suppressing or activating Evennia
|
||
the GO-AHEAD telnet operation after every server reply.
|
||
If the client sends no explicit DONT SUPRESS GO-AHEAD,
|
||
Evennia will default to supressing it since many clients
|
||
will fail to use it and has no knowledge of this standard.</p>
|
||
<p>It is set as the NOGOAHEAD protocol_flag option.</p>
|
||
<p><a class="reference external" href="http://www.faqs.org/rfcs/rfc858.html">http://www.faqs.org/rfcs/rfc858.html</a></p>
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.suppress_ga.SuppressGA">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.suppress_ga.</code><code class="sig-name descname">SuppressGA</code><span class="sig-paren">(</span><em class="sig-param">protocol</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/suppress_ga.html#SuppressGA"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.suppress_ga.SuppressGA" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
|
||
<p>Implements the SUPRESS-GO-AHEAD protocol. Add this to a variable on the telnet
|
||
protocol to set it up.</p>
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.suppress_ga.SuppressGA.__init__">
|
||
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param">protocol</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/suppress_ga.html#SuppressGA.__init__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.suppress_ga.SuppressGA.__init__" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Initialize suppression of GO-AHEADs.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>protocol</strong> (<em>Protocol</em>) – The active protocol instance.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.suppress_ga.SuppressGA.will_suppress_ga">
|
||
<code class="sig-name descname">will_suppress_ga</code><span class="sig-paren">(</span><em class="sig-param">option</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/suppress_ga.html#SuppressGA.will_suppress_ga"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.suppress_ga.SuppressGA.will_suppress_ga" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Client will suppress GA</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>option</strong> (<em>Option</em>) – Not used.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.suppress_ga.SuppressGA.wont_suppress_ga">
|
||
<code class="sig-name descname">wont_suppress_ga</code><span class="sig-paren">(</span><em class="sig-param">option</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/suppress_ga.html#SuppressGA.wont_suppress_ga"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.suppress_ga.SuppressGA.wont_suppress_ga" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Called when client requests to not suppress GA.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>option</strong> (<em>Option</em>) – Not used.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
</div>
|
||
<div class="section" id="module-evennia.server.portal.telnet">
|
||
<span id="evennia-server-portal-telnet-module"></span><h2>evennia.server.portal.telnet module<a class="headerlink" href="#module-evennia.server.portal.telnet" title="Permalink to this headline">¶</a></h2>
|
||
<p>This module implements the telnet protocol.</p>
|
||
<p>This depends on a generic session module that implements
|
||
the actual login procedure of the game, tracks
|
||
sessions etc.</p>
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.telnet.TelnetProtocol">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.telnet.</code><code class="sig-name descname">TelnetProtocol</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/telnet.html#TelnetProtocol"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.telnet.TelnetProtocol" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">twisted.conch.telnet.Telnet</span></code>, <code class="xref py py-class docutils literal notranslate"><span class="pre">twisted.conch.telnet.StatefulTelnetProtocol</span></code>, <a class="reference internal" href="evennia.server.html#evennia.server.session.Session" title="evennia.server.session.Session"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.server.session.Session</span></code></a></p>
|
||
<p>Each player connecting over telnet (ie using most traditional mud
|
||
clients) gets a telnet protocol instance assigned to them. All
|
||
communication between game and player goes through here.</p>
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.telnet.TelnetProtocol.__init__">
|
||
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/telnet.html#TelnetProtocol.__init__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.telnet.TelnetProtocol.__init__" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Initialize self. See help(type(self)) for accurate signature.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.telnet.TelnetProtocol._send_nop_keepalive">
|
||
<code class="sig-name descname">_send_nop_keepalive</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/telnet.html#TelnetProtocol._send_nop_keepalive"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.telnet.TelnetProtocol._send_nop_keepalive" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Send NOP keepalive unless flag is set</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.telnet.TelnetProtocol._wont_linemode">
|
||
<code class="sig-name descname">_wont_linemode</code><span class="sig-paren">(</span><em class="sig-param">*args</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/telnet.html#TelnetProtocol._wont_linemode"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.telnet.TelnetProtocol._wont_linemode" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Client refuses do(linemode). This is common for MUD-specific
|
||
clients, but we must ask for the sake of raw telnet. We ignore
|
||
this error.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.telnet.TelnetProtocol._write">
|
||
<code class="sig-name descname">_write</code><span class="sig-paren">(</span><em class="sig-param">data</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/telnet.html#TelnetProtocol._write"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.telnet.TelnetProtocol._write" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>hook overloading the one used in plain telnet</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.telnet.TelnetProtocol.applicationDataReceived">
|
||
<code class="sig-name descname">applicationDataReceived</code><span class="sig-paren">(</span><em class="sig-param">data</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/telnet.html#TelnetProtocol.applicationDataReceived"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.telnet.TelnetProtocol.applicationDataReceived" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Telnet method called when non-telnet-command data is coming in
|
||
over the telnet connection. We pass it on to the game engine
|
||
directly.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>data</strong> (<em>str</em>) – Incoming data.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.telnet.TelnetProtocol.at_login">
|
||
<code class="sig-name descname">at_login</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/telnet.html#TelnetProtocol.at_login"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.telnet.TelnetProtocol.at_login" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Called when this session gets authenticated by the server.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.telnet.TelnetProtocol.connectionLost">
|
||
<code class="sig-name descname">connectionLost</code><span class="sig-paren">(</span><em class="sig-param">reason</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/telnet.html#TelnetProtocol.connectionLost"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.telnet.TelnetProtocol.connectionLost" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>this is executed when the connection is lost for whatever
|
||
reason. it can also be called directly, from the disconnect
|
||
method</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>reason</strong> (<em>str</em>) – Motivation for losing connection.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.telnet.TelnetProtocol.connectionMade">
|
||
<code class="sig-name descname">connectionMade</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/telnet.html#TelnetProtocol.connectionMade"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.telnet.TelnetProtocol.connectionMade" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>This is called when the connection is first established.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.telnet.TelnetProtocol.dataReceived">
|
||
<code class="sig-name descname">dataReceived</code><span class="sig-paren">(</span><em class="sig-param">data</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/telnet.html#TelnetProtocol.dataReceived"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.telnet.TelnetProtocol.dataReceived" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Unused by default, but a good place to put debug printouts
|
||
of incoming data.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.telnet.TelnetProtocol.data_in">
|
||
<code class="sig-name descname">data_in</code><span class="sig-paren">(</span><em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/telnet.html#TelnetProtocol.data_in"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.telnet.TelnetProtocol.data_in" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Data User -> Evennia</p>
|
||
<dl class="simple">
|
||
<dt>Kwargs:</dt><dd><p>kwargs (any): Options from the protocol.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.telnet.TelnetProtocol.data_out">
|
||
<code class="sig-name descname">data_out</code><span class="sig-paren">(</span><em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/telnet.html#TelnetProtocol.data_out"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.telnet.TelnetProtocol.data_out" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Data Evennia -> User</p>
|
||
<dl class="simple">
|
||
<dt>Kwargs:</dt><dd><p>kwargs (any): Options to the protocol</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.telnet.TelnetProtocol.disableLocal">
|
||
<code class="sig-name descname">disableLocal</code><span class="sig-paren">(</span><em class="sig-param">option</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/telnet.html#TelnetProtocol.disableLocal"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.telnet.TelnetProtocol.disableLocal" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Disable a given option locally.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>option</strong> (<em>char</em>) – The telnet option to disable locally.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.telnet.TelnetProtocol.disableRemote">
|
||
<code class="sig-name descname">disableRemote</code><span class="sig-paren">(</span><em class="sig-param">option</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/telnet.html#TelnetProtocol.disableRemote"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.telnet.TelnetProtocol.disableRemote" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Signal a programming error by raising an exception.</p>
|
||
<p>L{enableRemote} must return true for the given value of C{option} in
|
||
order for this method to be called. If a subclass of L{Telnet}
|
||
overrides enableRemote to allow certain options to be enabled, it must
|
||
also override disableRemote tto disable those options.</p>
|
||
<p>@raise NotImplementedError: Always raised.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.telnet.TelnetProtocol.disconnect">
|
||
<code class="sig-name descname">disconnect</code><span class="sig-paren">(</span><em class="sig-param">reason=''</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/telnet.html#TelnetProtocol.disconnect"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.telnet.TelnetProtocol.disconnect" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>generic hook for the engine to call in order to
|
||
disconnect this protocol.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>reason</strong> (<em>str</em><em>, </em><em>optional</em>) – Reason for disconnecting.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.telnet.TelnetProtocol.enableLocal">
|
||
<code class="sig-name descname">enableLocal</code><span class="sig-paren">(</span><em class="sig-param">option</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/telnet.html#TelnetProtocol.enableLocal"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.telnet.TelnetProtocol.enableLocal" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Call to allow the activation of options for this protocol</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>option</strong> (<em>char</em>) – The telnet option to enable locally.</p>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p>If this option should be enabled.</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p>enable (bool)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.telnet.TelnetProtocol.enableRemote">
|
||
<code class="sig-name descname">enableRemote</code><span class="sig-paren">(</span><em class="sig-param">option</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/telnet.html#TelnetProtocol.enableRemote"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.telnet.TelnetProtocol.enableRemote" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>This sets up the remote-activated options we allow for this protocol.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>option</strong> (<em>char</em>) – The telnet option to enable.</p>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p>If this option should be enabled.</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p>enable (bool)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.telnet.TelnetProtocol.handshake_done">
|
||
<code class="sig-name descname">handshake_done</code><span class="sig-paren">(</span><em class="sig-param">timeout=False</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/telnet.html#TelnetProtocol.handshake_done"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.telnet.TelnetProtocol.handshake_done" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>This is called by all telnet extensions once they are finished.
|
||
When all have reported, a sync with the server is performed.
|
||
The system will force-call this sync after a small time to handle
|
||
clients that don’t reply to handshakes at all.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.telnet.TelnetProtocol.sendLine">
|
||
<code class="sig-name descname">sendLine</code><span class="sig-paren">(</span><em class="sig-param">line</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/telnet.html#TelnetProtocol.sendLine"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.telnet.TelnetProtocol.sendLine" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Hook overloading the one used by linereceiver.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>line</strong> (<em>str</em>) – Line to send.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.telnet.TelnetProtocol.send_default">
|
||
<code class="sig-name descname">send_default</code><span class="sig-paren">(</span><em class="sig-param">cmdname</em>, <em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/telnet.html#TelnetProtocol.send_default"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.telnet.TelnetProtocol.send_default" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Send other oob data</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.telnet.TelnetProtocol.send_prompt">
|
||
<code class="sig-name descname">send_prompt</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/telnet.html#TelnetProtocol.send_prompt"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.telnet.TelnetProtocol.send_prompt" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Send a prompt - a text without a line end. See send_text for argument options.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.telnet.TelnetProtocol.send_text">
|
||
<code class="sig-name descname">send_text</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/telnet.html#TelnetProtocol.send_text"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.telnet.TelnetProtocol.send_text" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Send text data. This is an in-band telnet operation.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>text</strong> (<em>str</em>) – The first argument is always the text string to send. No other arguments
|
||
are considered.</p>
|
||
</dd>
|
||
</dl>
|
||
<dl class="simple">
|
||
<dt>Kwargs:</dt><dd><dl class="simple">
|
||
<dt>options (dict): Send-option flags</dt><dd><ul class="simple">
|
||
<li><p>mxp: Enforce MXP link support.</p></li>
|
||
<li><p>ansi: Enforce no ANSI colors.</p></li>
|
||
<li><p>xterm256: Enforce xterm256 colors, regardless of TTYPE.</p></li>
|
||
<li><p>noxterm256: Enforce no xterm256 color support, regardless of TTYPE.</p></li>
|
||
<li><p>nocolor: Strip all Color, regardless of ansi/xterm256 setting.</p></li>
|
||
<li><dl class="simple">
|
||
<dt>raw: Pass string through without any ansi processing</dt><dd><p>(i.e. include Evennia ansi markers but do not
|
||
convert them into ansi tokens)</p>
|
||
</dd>
|
||
</dl>
|
||
</li>
|
||
<li><dl class="simple">
|
||
<dt>echo: Turn on/off line echo on the client. Turn</dt><dd><p>off line echo for client, for example for password.
|
||
Note that it must be actively turned back on again!</p>
|
||
</dd>
|
||
</dl>
|
||
</li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.telnet.TelnetProtocol.toggle_nop_keepalive">
|
||
<code class="sig-name descname">toggle_nop_keepalive</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/telnet.html#TelnetProtocol.toggle_nop_keepalive"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.telnet.TelnetProtocol.toggle_nop_keepalive" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Allow to toggle the NOP keepalive for those sad clients that
|
||
can’t even handle a NOP instruction. This is turned off by the
|
||
protocol_flag NOPKEEPALIVE (settable e.g. by the default
|
||
<cite>@option</cite> command).</p>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.telnet.TelnetServerFactory">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.telnet.</code><code class="sig-name descname">TelnetServerFactory</code><a class="reference internal" href="../_modules/evennia/server/portal/telnet.html#TelnetServerFactory"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.telnet.TelnetServerFactory" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">twisted.internet.protocol.ServerFactory</span></code></p>
|
||
<p>This is only to name this better in logs</p>
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.telnet.TelnetServerFactory.logPrefix">
|
||
<code class="sig-name descname">logPrefix</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/telnet.html#TelnetServerFactory.logPrefix"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.telnet.TelnetServerFactory.logPrefix" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Describe this factory for log messages.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.telnet.TelnetServerFactory.noisy">
|
||
<code class="sig-name descname">noisy</code><em class="property"> = False</em><a class="headerlink" href="#evennia.server.portal.telnet.TelnetServerFactory.noisy" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
</div>
|
||
<div class="section" id="module-evennia.server.portal.telnet_oob">
|
||
<span id="evennia-server-portal-telnet-oob-module"></span><h2>evennia.server.portal.telnet_oob module<a class="headerlink" href="#module-evennia.server.portal.telnet_oob" title="Permalink to this headline">¶</a></h2>
|
||
<p>Telnet OOB (Out of band communication)</p>
|
||
<p>OOB protocols allow for asynchronous communication between Evennia and
|
||
compliant telnet clients. The “text” type of send command will always
|
||
be sent “in-band”, appearing in the client’s main text output. OOB
|
||
commands, by contrast, can have many forms and it is up to the client
|
||
how and if they are handled. Examples of OOB instructions could be to
|
||
instruct the client to play sounds or to update a graphical health
|
||
bar.</p>
|
||
<p>> Note that in Evennia’s Web client, all send commands are “OOB
|
||
commands”, (including the “text” one), there is no equivalence to
|
||
MSDP/GMCP for the webclient since it doesn’t need it.</p>
|
||
<p>This implements the following telnet OOB communication protocols:
|
||
- MSDP (Mud Server Data Protocol), as per</p>
|
||
<blockquote>
|
||
<div><p><a class="reference external" href="http://tintin.sourceforge.net/msdp/">http://tintin.sourceforge.net/msdp/</a></p>
|
||
</div></blockquote>
|
||
<ul class="simple">
|
||
<li><dl class="simple">
|
||
<dt>GMCP (Generic Mud Communication Protocol) as per</dt><dd><p><a class="reference external" href="http://www.ironrealms.com/rapture/manual/files/FeatGMCP-txt.html#Generic_MUD_Communication_Protocol%28GMCP%29">http://www.ironrealms.com/rapture/manual/files/FeatGMCP-txt.html#Generic_MUD_Communication_Protocol%28GMCP%29</a></p>
|
||
</dd>
|
||
</dl>
|
||
</li>
|
||
</ul>
|
||
<p>Following the lead of KaVir’s protocol snippet, we first check if
|
||
client supports MSDP and if not, we fallback to GMCP with a MSDP
|
||
header where applicable.</p>
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.telnet_oob.TelnetOOB">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.telnet_oob.</code><code class="sig-name descname">TelnetOOB</code><span class="sig-paren">(</span><em class="sig-param">protocol</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/telnet_oob.html#TelnetOOB"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.telnet_oob.TelnetOOB" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
|
||
<p>Implements the MSDP and GMCP protocols.</p>
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.telnet_oob.TelnetOOB.__init__">
|
||
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param">protocol</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/telnet_oob.html#TelnetOOB.__init__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.telnet_oob.TelnetOOB.__init__" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Initiates by storing the protocol on itself and trying to
|
||
determine if the client supports MSDP.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>protocol</strong> (<em>Protocol</em>) – The active protocol.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.telnet_oob.TelnetOOB.data_out">
|
||
<code class="sig-name descname">data_out</code><span class="sig-paren">(</span><em class="sig-param">cmdname</em>, <em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/telnet_oob.html#TelnetOOB.data_out"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.telnet_oob.TelnetOOB.data_out" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Return a MSDP- or GMCP-valid subnegotiation across the protocol.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>cmdname</strong> (<em>str</em>) – OOB-command name.</p></li>
|
||
<li><p><strong>kwargs</strong> (<em>args</em><em>,</em>) – Arguments to OOB command.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.telnet_oob.TelnetOOB.decode_gmcp">
|
||
<code class="sig-name descname">decode_gmcp</code><span class="sig-paren">(</span><em class="sig-param">data</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/telnet_oob.html#TelnetOOB.decode_gmcp"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.telnet_oob.TelnetOOB.decode_gmcp" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Decodes incoming GMCP data on the form ‘varname <structure>’.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>data</strong> (<em>str</em><em> or </em><em>list</em>) – GMCP data.</p>
|
||
</dd>
|
||
</dl>
|
||
<p class="rubric">Notes</p>
|
||
<p>Clients send data on the form “Module.Submodule.Cmdname <structure>”.
|
||
We assume the structure is valid JSON.</p>
|
||
<p>The following is parsed into Evennia’s formal structure:</p>
|
||
<p>Core.Name -> [name, [], {}]
|
||
Core.Name string -> [name, [string], {}]
|
||
Core.Name [arg, arg,…] -> [name, [args], {}]
|
||
Core.Name {key:arg, key:arg, …} -> [name, [], {kwargs}]
|
||
Core.Name [[args], {kwargs}] -> [name, [args], {kwargs}]</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.telnet_oob.TelnetOOB.decode_msdp">
|
||
<code class="sig-name descname">decode_msdp</code><span class="sig-paren">(</span><em class="sig-param">data</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/telnet_oob.html#TelnetOOB.decode_msdp"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.telnet_oob.TelnetOOB.decode_msdp" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Decodes incoming MSDP data.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>data</strong> (<em>str</em><em> or </em><em>list</em>) – MSDP data.</p>
|
||
</dd>
|
||
</dl>
|
||
<p class="rubric">Notes</p>
|
||
<p>Clients should always send MSDP data on
|
||
one of the following forms:</p>
|
||
<p>cmdname ‘’ -> [cmdname, [], {}]
|
||
cmdname val -> [cmdname, [val], {}]
|
||
cmdname array -> [cmdname, [array], {}]
|
||
cmdname table -> [cmdname, [], {table}]
|
||
cmdname array cmdname table -> [cmdname, [array], {table}]</p>
|
||
<p>Observe that all MSDP_VARS are used to identify cmdnames,
|
||
so if there are multiple arrays with the same cmdname
|
||
given, they will be merged into one argument array, same
|
||
for tables. Different MSDP_VARS (outside tables) will be
|
||
identified as separate cmdnames.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.telnet_oob.TelnetOOB.do_gmcp">
|
||
<code class="sig-name descname">do_gmcp</code><span class="sig-paren">(</span><em class="sig-param">option</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/telnet_oob.html#TelnetOOB.do_gmcp"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.telnet_oob.TelnetOOB.do_gmcp" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Called when client confirms that it can do MSDP or GMCP.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>option</strong> (<em>Option</em>) – Not used.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.telnet_oob.TelnetOOB.do_msdp">
|
||
<code class="sig-name descname">do_msdp</code><span class="sig-paren">(</span><em class="sig-param">option</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/telnet_oob.html#TelnetOOB.do_msdp"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.telnet_oob.TelnetOOB.do_msdp" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Client reports that it supports msdp.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>option</strong> (<em>Option</em>) – Not used.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.telnet_oob.TelnetOOB.encode_gmcp">
|
||
<code class="sig-name descname">encode_gmcp</code><span class="sig-paren">(</span><em class="sig-param">cmdname</em>, <em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/telnet_oob.html#TelnetOOB.encode_gmcp"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.telnet_oob.TelnetOOB.encode_gmcp" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Encode into GMCP messages.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>cmdname</strong> (<em>str</em>) – GMCP OOB command name.</p></li>
|
||
<li><p><strong>kwargs</strong> (<em>args</em><em>,</em>) – Arguments to OOB command.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
<p class="rubric">Notes</p>
|
||
<p>GMCP messages will be outgoing on the following
|
||
form (the non-JSON cmdname at the start is what
|
||
IRE games use, supposedly, and what clients appear
|
||
to have adopted). A cmdname without Package will end
|
||
up in the Core package, while Core package names will
|
||
be stripped on the Evennia side.</p>
|
||
<p>[cmd.name, [], {}] -> Cmd.Name
|
||
[cmd.name, [arg], {}] -> Cmd.Name arg
|
||
[cmd.name, [args],{}] -> Cmd.Name [args]
|
||
[cmd.name, [], {kwargs}] -> Cmd.Name {kwargs}
|
||
[cmdname, [args, {kwargs}] -> Core.Cmdname [[args],{kwargs}]</p>
|
||
<p class="rubric">Notes</p>
|
||
<p>There are also a few default mappings between evennia outputcmds and
|
||
GMCP:</p>
|
||
<blockquote>
|
||
<div><p>client_options -> Core.Supports.Get
|
||
get_inputfuncs -> Core.Commands.Get
|
||
get_value -> Char.Value.Get
|
||
repeat -> Char.Repeat.Update
|
||
monitor -> Char.Monitor.Update</p>
|
||
</div></blockquote>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.telnet_oob.TelnetOOB.encode_msdp">
|
||
<code class="sig-name descname">encode_msdp</code><span class="sig-paren">(</span><em class="sig-param">cmdname</em>, <em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/telnet_oob.html#TelnetOOB.encode_msdp"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.telnet_oob.TelnetOOB.encode_msdp" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Encode into a valid MSDP command.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>cmdname</strong> (<em>str</em>) – Name of send instruction.</p></li>
|
||
<li><p><strong>kwargs</strong> (<em>args</em><em>,</em>) – Arguments to OOB command.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
<p class="rubric">Notes</p>
|
||
<p>The output of this encoding will be
|
||
MSDP structures on these forms:</p>
|
||
<p>[cmdname, [], {}] -> VAR cmdname VAL “”
|
||
[cmdname, [arg], {}] -> VAR cmdname VAL arg
|
||
[cmdname, [args],{}] -> VAR cmdname VAL ARRAYOPEN VAL arg VAL arg … ARRAYCLOSE
|
||
[cmdname, [], {kwargs}] -> VAR cmdname VAL TABLEOPEN VAR key VAL val … TABLECLOSE
|
||
[cmdname, [args], {kwargs}] -> VAR cmdname VAL ARRAYOPEN VAL arg VAL arg … ARRAYCLOSE</p>
|
||
<blockquote>
|
||
<div><p>VAR cmdname VAL TABLEOPEN VAR key VAL val … TABLECLOSE</p>
|
||
</div></blockquote>
|
||
<p>Further nesting is not supported, so if an array argument
|
||
consists of an array (for example), that array will be
|
||
json-converted to a string.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.telnet_oob.TelnetOOB.no_gmcp">
|
||
<code class="sig-name descname">no_gmcp</code><span class="sig-paren">(</span><em class="sig-param">option</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/telnet_oob.html#TelnetOOB.no_gmcp"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.telnet_oob.TelnetOOB.no_gmcp" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>If this is reached, it means neither MSDP nor GMCP is
|
||
supported.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>option</strong> (<em>Option</em>) – Not used.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.telnet_oob.TelnetOOB.no_msdp">
|
||
<code class="sig-name descname">no_msdp</code><span class="sig-paren">(</span><em class="sig-param">option</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/telnet_oob.html#TelnetOOB.no_msdp"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.telnet_oob.TelnetOOB.no_msdp" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Client reports No msdp supported or wanted.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>option</strong> (<em>Option</em>) – Not used.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
</div>
|
||
<div class="section" id="module-evennia.server.portal.telnet_ssl">
|
||
<span id="evennia-server-portal-telnet-ssl-module"></span><h2>evennia.server.portal.telnet_ssl module<a class="headerlink" href="#module-evennia.server.portal.telnet_ssl" title="Permalink to this headline">¶</a></h2>
|
||
<p>This allows for running the telnet communication over an encrypted SSL tunnel. To use it, requires a
|
||
client supporting Telnet SSL.</p>
|
||
<p>The protocol will try to automatically create the private key and certificate on the server side
|
||
when starting and will warn if this was not possible. These will appear as files ssl.key and
|
||
ssl.cert in mygame/server/.</p>
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.telnet_ssl.SSLProtocol">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.telnet_ssl.</code><code class="sig-name descname">SSLProtocol</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/telnet_ssl.html#SSLProtocol"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.telnet_ssl.SSLProtocol" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <a class="reference internal" href="#evennia.server.portal.telnet.TelnetProtocol" title="evennia.server.portal.telnet.TelnetProtocol"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.server.portal.telnet.TelnetProtocol</span></code></a></p>
|
||
<p>Communication is the same as telnet, except data transfer
|
||
is done with encryption set up by the portal at start time.</p>
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.telnet_ssl.SSLProtocol.__init__">
|
||
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/telnet_ssl.html#SSLProtocol.__init__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.telnet_ssl.SSLProtocol.__init__" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Initialize self. See help(type(self)) for accurate signature.</p>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="function">
|
||
<dt id="evennia.server.portal.telnet_ssl.getSSLContext">
|
||
<code class="sig-prename descclassname">evennia.server.portal.telnet_ssl.</code><code class="sig-name descname">getSSLContext</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/telnet_ssl.html#getSSLContext"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.telnet_ssl.getSSLContext" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>This is called by the portal when creating the SSL context
|
||
server-side.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Returns</dt>
|
||
<dd class="field-odd"><p><dl class="simple">
|
||
<dt>A key and certificate that is either</dt><dd><p>existing previously or created on the fly.</p>
|
||
</dd>
|
||
</dl>
|
||
</p>
|
||
</dd>
|
||
<dt class="field-even">Return type</dt>
|
||
<dd class="field-even"><p>ssl_context (tuple)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="function">
|
||
<dt id="evennia.server.portal.telnet_ssl.verify_or_create_SSL_key_and_cert">
|
||
<code class="sig-prename descclassname">evennia.server.portal.telnet_ssl.</code><code class="sig-name descname">verify_or_create_SSL_key_and_cert</code><span class="sig-paren">(</span><em class="sig-param">keyfile</em>, <em class="sig-param">certfile</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/telnet_ssl.html#verify_or_create_SSL_key_and_cert"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.telnet_ssl.verify_or_create_SSL_key_and_cert" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Verify or create new key/certificate files.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>keyfile</strong> (<em>str</em>) – Path to ssl.key file.</p></li>
|
||
<li><p><strong>certfile</strong> (<em>str</em>) – Parth to ssl.cert file.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
<p class="rubric">Notes</p>
|
||
<p>If files don’t already exist, they are created.</p>
|
||
</dd></dl>
|
||
|
||
</div>
|
||
<div class="section" id="module-evennia.server.portal.tests">
|
||
<span id="evennia-server-portal-tests-module"></span><h2>evennia.server.portal.tests module<a class="headerlink" href="#module-evennia.server.portal.tests" title="Permalink to this headline">¶</a></h2>
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.tests.TestAMPServer">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.tests.</code><code class="sig-name descname">TestAMPServer</code><span class="sig-paren">(</span><em class="sig-param">methodName='runTest'</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/tests.html#TestAMPServer"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.tests.TestAMPServer" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">twisted.trial._asynctest.TestCase</span></code></p>
|
||
<p>Test AMP communication</p>
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.tests.TestAMPServer.setUp">
|
||
<code class="sig-name descname">setUp</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/tests.html#TestAMPServer.setUp"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.tests.TestAMPServer.setUp" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Hook method for setting up the test fixture before exercising it.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.tests.TestAMPServer.test_amp_in">
|
||
<code class="sig-name descname">test_amp_in</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/tests.html#TestAMPServer.test_amp_in"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.tests.TestAMPServer.test_amp_in" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.tests.TestAMPServer.test_amp_out">
|
||
<code class="sig-name descname">test_amp_out</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/tests.html#TestAMPServer.test_amp_out"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.tests.TestAMPServer.test_amp_out" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.tests.TestAMPServer.test_large_msg">
|
||
<code class="sig-name descname">test_large_msg</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/tests.html#TestAMPServer.test_large_msg"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.tests.TestAMPServer.test_large_msg" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Send message larger than AMP_MAXLEN - should be split into several</p>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.tests.TestIRC">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.tests.</code><code class="sig-name descname">TestIRC</code><span class="sig-paren">(</span><em class="sig-param">methodName='runTest'</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/tests.html#TestIRC"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.tests.TestIRC" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">django.test.testcases.TestCase</span></code></p>
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.tests.TestIRC.test_bold">
|
||
<code class="sig-name descname">test_bold</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/tests.html#TestIRC.test_bold"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.tests.TestIRC.test_bold" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.tests.TestIRC.test_colors">
|
||
<code class="sig-name descname">test_colors</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/tests.html#TestIRC.test_colors"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.tests.TestIRC.test_colors" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.tests.TestIRC.test_identity">
|
||
<code class="sig-name descname">test_identity</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/tests.html#TestIRC.test_identity"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.tests.TestIRC.test_identity" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Test that the composition of the function and
|
||
its inverse gives the correct string.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.tests.TestIRC.test_italic">
|
||
<code class="sig-name descname">test_italic</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/tests.html#TestIRC.test_italic"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.tests.TestIRC.test_italic" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.tests.TestIRC.test_plain_ansi">
|
||
<code class="sig-name descname">test_plain_ansi</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/tests.html#TestIRC.test_plain_ansi"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.tests.TestIRC.test_plain_ansi" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Test that printable characters do not get mangled.</p>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.tests.TestTelnet">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.tests.</code><code class="sig-name descname">TestTelnet</code><span class="sig-paren">(</span><em class="sig-param">methodName='runTest'</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/tests.html#TestTelnet"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.tests.TestTelnet" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">twisted.trial._asynctest.TestCase</span></code></p>
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.tests.TestTelnet.setUp">
|
||
<code class="sig-name descname">setUp</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/tests.html#TestTelnet.setUp"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.tests.TestTelnet.setUp" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Hook method for setting up the test fixture before exercising it.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.tests.TestTelnet.test_mudlet_ttype">
|
||
<code class="sig-name descname">test_mudlet_ttype</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/tests.html#TestTelnet.test_mudlet_ttype"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.tests.TestTelnet.test_mudlet_ttype" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.tests.TestWebSocket">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.tests.</code><code class="sig-name descname">TestWebSocket</code><span class="sig-paren">(</span><em class="sig-param">methodName='runTest'</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/tests.html#TestWebSocket"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.tests.TestWebSocket" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <a class="reference internal" href="evennia.utils.html#evennia.utils.test_resources.EvenniaTest" title="evennia.utils.test_resources.EvenniaTest"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.utils.test_resources.EvenniaTest</span></code></a></p>
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.tests.TestWebSocket.setUp">
|
||
<code class="sig-name descname">setUp</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/tests.html#TestWebSocket.setUp"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.tests.TestWebSocket.setUp" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Sets up testing environment</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.tests.TestWebSocket.tearDown">
|
||
<code class="sig-name descname">tearDown</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/tests.html#TestWebSocket.tearDown"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.tests.TestWebSocket.tearDown" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Hook method for deconstructing the test fixture after testing it.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.tests.TestWebSocket.test_data_in">
|
||
<code class="sig-name descname">test_data_in</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/tests.html#TestWebSocket.test_data_in"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.tests.TestWebSocket.test_data_in" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.tests.TestWebSocket.test_data_out">
|
||
<code class="sig-name descname">test_data_out</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/tests.html#TestWebSocket.test_data_out"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.tests.TestWebSocket.test_data_out" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
</div>
|
||
<div class="section" id="module-evennia.server.portal.ttype">
|
||
<span id="evennia-server-portal-ttype-module"></span><h2>evennia.server.portal.ttype module<a class="headerlink" href="#module-evennia.server.portal.ttype" title="Permalink to this headline">¶</a></h2>
|
||
<p>TTYPE (MTTS) - Mud Terminal Type Standard</p>
|
||
<p>This module implements the TTYPE telnet protocol as per
|
||
<a class="reference external" href="http://tintin.sourceforge.net/mtts/">http://tintin.sourceforge.net/mtts/</a>. It allows the server to ask the
|
||
client about its capabilities. If the client also supports TTYPE, it
|
||
will return with information such as its name, if it supports colour
|
||
etc. If the client does not support TTYPE, this will be ignored.</p>
|
||
<p>All data will be stored on the protocol’s protocol_flags dictionary,
|
||
under the ‘TTYPE’ key.</p>
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.ttype.Ttype">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.ttype.</code><code class="sig-name descname">Ttype</code><span class="sig-paren">(</span><em class="sig-param">protocol</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ttype.html#Ttype"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ttype.Ttype" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
|
||
<p>Handles ttype negotiations. Called and initiated by the
|
||
telnet protocol.</p>
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.ttype.Ttype.__init__">
|
||
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param">protocol</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ttype.html#Ttype.__init__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ttype.Ttype.__init__" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Initialize ttype by storing protocol on ourselves and calling
|
||
the client to see if it supporst ttype.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>protocol</strong> (<em>Protocol</em>) – The protocol instance.</p>
|
||
</dd>
|
||
</dl>
|
||
<p class="rubric">Notes</p>
|
||
<p>The <cite>self.ttype_step</cite> indicates how far in the data
|
||
retrieval we’ve gotten.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.ttype.Ttype.will_ttype">
|
||
<code class="sig-name descname">will_ttype</code><span class="sig-paren">(</span><em class="sig-param">option</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ttype.html#Ttype.will_ttype"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ttype.Ttype.will_ttype" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Handles negotiation of the ttype protocol once the client has
|
||
confirmed that it will respond with the ttype protocol.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>option</strong> (<em>Option</em>) – Not used.</p>
|
||
</dd>
|
||
</dl>
|
||
<p class="rubric">Notes</p>
|
||
<p>The negotiation proceeds in several steps, each returning a
|
||
certain piece of information about the client. All data is
|
||
stored on protocol.protocol_flags under the TTYPE key.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.ttype.Ttype.wont_ttype">
|
||
<code class="sig-name descname">wont_ttype</code><span class="sig-paren">(</span><em class="sig-param">option</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/ttype.html#Ttype.wont_ttype"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.ttype.Ttype.wont_ttype" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Callback if ttype is not supported by client.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>option</strong> (<em>Option</em>) – Not used.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
</div>
|
||
<div class="section" id="module-evennia.server.portal.webclient">
|
||
<span id="evennia-server-portal-webclient-module"></span><h2>evennia.server.portal.webclient module<a class="headerlink" href="#module-evennia.server.portal.webclient" title="Permalink to this headline">¶</a></h2>
|
||
<p>Webclient based on websockets.</p>
|
||
<p>This implements a webclient with WebSockets (<a class="reference external" href="http://en.wikipedia.org/wiki/WebSocket">http://en.wikipedia.org/wiki/WebSocket</a>)
|
||
by use of the autobahn-python package’s implementation (<a class="reference external" href="https://github.com/crossbario/autobahn-python">https://github.com/crossbario/autobahn-python</a>).
|
||
It is used together with evennia/web/media/javascript/evennia_websocket_webclient.js.</p>
|
||
<p>All data coming into the webclient is in the form of valid JSON on the form</p>
|
||
<p><cite>[“inputfunc_name”, [args], {kwarg}]</cite></p>
|
||
<p>which represents an “inputfunc” to be called on the Evennia side with <a href="#id19"><span class="problematic" id="id20">*</span></a>args, <a href="#id21"><span class="problematic" id="id22">**</span></a>kwargs.
|
||
The most common inputfunc is “text”, which takes just the text input
|
||
from the command line and interprets it as an Evennia Command: <cite>[“text”, [“look”], {}]</cite></p>
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.webclient.WebSocketClient">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.webclient.</code><code class="sig-name descname">WebSocketClient</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/webclient.html#WebSocketClient"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.webclient.WebSocketClient" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">autobahn.twisted.websocket.WebSocketServerProtocol</span></code>, <a class="reference internal" href="evennia.server.html#evennia.server.session.Session" title="evennia.server.session.Session"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.server.session.Session</span></code></a></p>
|
||
<p>Implements the server-side of the Websocket connection.</p>
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.webclient.WebSocketClient.__init__">
|
||
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/webclient.html#WebSocketClient.__init__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.webclient.WebSocketClient.__init__" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Initialize self. See help(type(self)) for accurate signature.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.webclient.WebSocketClient.at_login">
|
||
<code class="sig-name descname">at_login</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/webclient.html#WebSocketClient.at_login"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.webclient.WebSocketClient.at_login" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.webclient.WebSocketClient.data_in">
|
||
<code class="sig-name descname">data_in</code><span class="sig-paren">(</span><em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/webclient.html#WebSocketClient.data_in"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.webclient.WebSocketClient.data_in" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Data User > Evennia.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>text</strong> (<em>str</em>) – Incoming text.</p></li>
|
||
<li><p><strong>kwargs</strong> (<em>any</em>) – Options from protocol.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
<p class="rubric">Notes</p>
|
||
<p>At initilization, the client will send the special
|
||
‘csessid’ command to identify its browser session hash
|
||
with the Evennia side.</p>
|
||
<p>The websocket client will also pass ‘websocket_close’ command
|
||
to report that the client has been closed and that the
|
||
session should be disconnected.</p>
|
||
<p>Both those commands are parsed and extracted already at
|
||
this point.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.webclient.WebSocketClient.disconnect">
|
||
<code class="sig-name descname">disconnect</code><span class="sig-paren">(</span><em class="sig-param">reason=None</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/webclient.html#WebSocketClient.disconnect"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.webclient.WebSocketClient.disconnect" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Generic hook for the engine to call in order to
|
||
disconnect this protocol.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>reason</strong> (<em>str</em><em> or </em><em>None</em>) – Motivation for the disconnection.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.webclient.WebSocketClient.get_client_session">
|
||
<code class="sig-name descname">get_client_session</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/webclient.html#WebSocketClient.get_client_session"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.webclient.WebSocketClient.get_client_session" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Get the Client browser session (used for auto-login based on browser session)</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Returns</dt>
|
||
<dd class="field-odd"><p><dl class="simple">
|
||
<dt>This is a django-specific internal representation</dt><dd><p>of the browser session.</p>
|
||
</dd>
|
||
</dl>
|
||
</p>
|
||
</dd>
|
||
<dt class="field-even">Return type</dt>
|
||
<dd class="field-even"><p>csession (ClientSession)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.webclient.WebSocketClient.nonce">
|
||
<code class="sig-name descname">nonce</code><em class="property"> = None</em><a class="headerlink" href="#evennia.server.portal.webclient.WebSocketClient.nonce" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.webclient.WebSocketClient.onClose">
|
||
<code class="sig-name descname">onClose</code><span class="sig-paren">(</span><em class="sig-param">wasClean</em>, <em class="sig-param">code=None</em>, <em class="sig-param">reason=None</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/webclient.html#WebSocketClient.onClose"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.webclient.WebSocketClient.onClose" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>This is executed when the connection is lost for whatever
|
||
reason. it can also be called directly, from the disconnect
|
||
method.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>wasClean</strong> (<em>bool</em>) – <code class="docutils literal notranslate"><span class="pre">True</span></code> if the WebSocket was closed cleanly.</p></li>
|
||
<li><p><strong>code</strong> (<em>int</em><em> or </em><em>None</em>) – Close status as sent by the WebSocket peer.</p></li>
|
||
<li><p><strong>reason</strong> (<em>str</em><em> or </em><em>None</em>) – Close reason as sent by the WebSocket peer.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.webclient.WebSocketClient.onMessage">
|
||
<code class="sig-name descname">onMessage</code><span class="sig-paren">(</span><em class="sig-param">payload</em>, <em class="sig-param">isBinary</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/webclient.html#WebSocketClient.onMessage"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.webclient.WebSocketClient.onMessage" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Callback fired when a complete WebSocket message was received.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>payload</strong> (<em>bytes</em>) – The WebSocket message received.</p></li>
|
||
<li><p><strong>isBinary</strong> (<em>bool</em>) – Flag indicating whether payload is binary or
|
||
UTF-8 encoded text.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.webclient.WebSocketClient.onOpen">
|
||
<code class="sig-name descname">onOpen</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/webclient.html#WebSocketClient.onOpen"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.webclient.WebSocketClient.onOpen" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>This is called when the WebSocket connection is fully established.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.webclient.WebSocketClient.sendLine">
|
||
<code class="sig-name descname">sendLine</code><span class="sig-paren">(</span><em class="sig-param">line</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/webclient.html#WebSocketClient.sendLine"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.webclient.WebSocketClient.sendLine" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Send data to client.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>line</strong> (<em>str</em>) – Text to send.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.webclient.WebSocketClient.send_default">
|
||
<code class="sig-name descname">send_default</code><span class="sig-paren">(</span><em class="sig-param">cmdname</em>, <em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/webclient.html#WebSocketClient.send_default"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.webclient.WebSocketClient.send_default" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Data Evennia -> User.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>cmdname</strong> (<em>str</em>) – The first argument will always be the oob cmd name.</p></li>
|
||
<li><p><strong>*args</strong> (<em>any</em>) – Remaining args will be arguments for <cite>cmd</cite>.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
<dl class="simple">
|
||
<dt>Kwargs:</dt><dd><dl class="simple">
|
||
<dt>options (dict): These are ignored for oob commands. Use command</dt><dd><p>arguments (which can hold dicts) to send instructions to the
|
||
client instead.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.webclient.WebSocketClient.send_prompt">
|
||
<code class="sig-name descname">send_prompt</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/webclient.html#WebSocketClient.send_prompt"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.webclient.WebSocketClient.send_prompt" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.webclient.WebSocketClient.send_text">
|
||
<code class="sig-name descname">send_text</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/webclient.html#WebSocketClient.send_text"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.webclient.WebSocketClient.send_text" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Send text data. This will pre-process the text for
|
||
color-replacement, conversion to html etc.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>text</strong> (<em>str</em>) – Text to send.</p>
|
||
</dd>
|
||
</dl>
|
||
<dl class="simple">
|
||
<dt>Kwargs:</dt><dd><dl class="simple">
|
||
<dt>options (dict): Options-dict with the following keys understood:</dt><dd><ul class="simple">
|
||
<li><p>raw (bool): No parsing at all (leave ansi-to-html markers unparsed).</p></li>
|
||
<li><p>nocolor (bool): Clean out all color.</p></li>
|
||
<li><p>screenreader (bool): Use Screenreader mode.</p></li>
|
||
<li><p>send_prompt (bool): Send a prompt with parsed html</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
</div>
|
||
<div class="section" id="module-evennia.server.portal.webclient_ajax">
|
||
<span id="evennia-server-portal-webclient-ajax-module"></span><h2>evennia.server.portal.webclient_ajax module<a class="headerlink" href="#module-evennia.server.portal.webclient_ajax" title="Permalink to this headline">¶</a></h2>
|
||
<p>AJAX/COMET fallback webclient</p>
|
||
<p>The AJAX/COMET web client consists of two components running on
|
||
twisted and django. They are both a part of the Evennia website url
|
||
tree (so the testing website might be located on
|
||
<a class="reference external" href="http://localhost:4001/">http://localhost:4001/</a>, whereas the webclient can be found on
|
||
<a class="reference external" href="http://localhost:4001/webclient">http://localhost:4001/webclient</a>.)</p>
|
||
<dl class="simple">
|
||
<dt>/webclient - this url is handled through django’s template</dt><dd><p>system and serves the html page for the client
|
||
itself along with its javascript chat program.</p>
|
||
</dd>
|
||
<dt>/webclientdata - this url is called by the ajax chat using</dt><dd><p>POST requests (long-polling when necessary)
|
||
The WebClient resource in this module will
|
||
handle these requests and act as a gateway
|
||
to sessions connected over the webclient.</p>
|
||
</dd>
|
||
</dl>
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.webclient_ajax.AjaxWebClient">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.webclient_ajax.</code><code class="sig-name descname">AjaxWebClient</code><a class="reference internal" href="../_modules/evennia/server/portal/webclient_ajax.html#AjaxWebClient"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.webclient_ajax.AjaxWebClient" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">twisted.web.resource.Resource</span></code></p>
|
||
<p>An ajax/comet long-polling transport</p>
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.webclient_ajax.AjaxWebClient.__init__">
|
||
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/webclient_ajax.html#AjaxWebClient.__init__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.webclient_ajax.AjaxWebClient.__init__" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Initialize.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.webclient_ajax.AjaxWebClient._keepalive">
|
||
<code class="sig-name descname">_keepalive</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/webclient_ajax.html#AjaxWebClient._keepalive"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.webclient_ajax.AjaxWebClient._keepalive" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Callback for checking the connection is still alive.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.webclient_ajax.AjaxWebClient._responseFailed">
|
||
<code class="sig-name descname">_responseFailed</code><span class="sig-paren">(</span><em class="sig-param">failure</em>, <em class="sig-param">csessid</em>, <em class="sig-param">request</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/webclient_ajax.html#AjaxWebClient._responseFailed"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.webclient_ajax.AjaxWebClient._responseFailed" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>callback if a request is lost/timed out</p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.webclient_ajax.AjaxWebClient.allowedMethods">
|
||
<code class="sig-name descname">allowedMethods</code><em class="property"> = ('POST',)</em><a class="headerlink" href="#evennia.server.portal.webclient_ajax.AjaxWebClient.allowedMethods" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.webclient_ajax.AjaxWebClient.at_login">
|
||
<code class="sig-name descname">at_login</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/webclient_ajax.html#AjaxWebClient.at_login"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.webclient_ajax.AjaxWebClient.at_login" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Called when this session gets authenticated by the server.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.webclient_ajax.AjaxWebClient.client_disconnect">
|
||
<code class="sig-name descname">client_disconnect</code><span class="sig-paren">(</span><em class="sig-param">csessid</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/webclient_ajax.html#AjaxWebClient.client_disconnect"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.webclient_ajax.AjaxWebClient.client_disconnect" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Disconnect session with given csessid.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>csessid</strong> (<em>int</em>) – Session id.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.webclient_ajax.AjaxWebClient.get_client_sessid">
|
||
<code class="sig-name descname">get_client_sessid</code><span class="sig-paren">(</span><em class="sig-param">request</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/webclient_ajax.html#AjaxWebClient.get_client_sessid"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.webclient_ajax.AjaxWebClient.get_client_sessid" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Helper to get the client session id out of the request.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>request</strong> (<em>Request</em>) – Incoming request object.</p>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p>The client-session id.</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p>csessid (int)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.server.portal.webclient_ajax.AjaxWebClient.isLeaf">
|
||
<code class="sig-name descname">isLeaf</code><em class="property"> = True</em><a class="headerlink" href="#evennia.server.portal.webclient_ajax.AjaxWebClient.isLeaf" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.webclient_ajax.AjaxWebClient.lineSend">
|
||
<code class="sig-name descname">lineSend</code><span class="sig-paren">(</span><em class="sig-param">csessid</em>, <em class="sig-param">data</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/webclient_ajax.html#AjaxWebClient.lineSend"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.webclient_ajax.AjaxWebClient.lineSend" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>This adds the data to the buffer and/or sends it to the client
|
||
as soon as possible.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>csessid</strong> (<em>int</em>) – Session id.</p></li>
|
||
<li><p><strong>data</strong> (<em>list</em>) – A send structure [cmdname, [args], {kwargs}].</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.webclient_ajax.AjaxWebClient.mode_close">
|
||
<code class="sig-name descname">mode_close</code><span class="sig-paren">(</span><em class="sig-param">request</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/webclient_ajax.html#AjaxWebClient.mode_close"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.webclient_ajax.AjaxWebClient.mode_close" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>This is called by render_POST when the client is signalling
|
||
that it is about to be closed.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>request</strong> (<em>Request</em>) – Incoming request.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.webclient_ajax.AjaxWebClient.mode_init">
|
||
<code class="sig-name descname">mode_init</code><span class="sig-paren">(</span><em class="sig-param">request</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/webclient_ajax.html#AjaxWebClient.mode_init"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.webclient_ajax.AjaxWebClient.mode_init" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>This is called by render_POST when the client requests an init
|
||
mode operation (at startup)</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>request</strong> (<em>Request</em>) – Incoming request.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.webclient_ajax.AjaxWebClient.mode_input">
|
||
<code class="sig-name descname">mode_input</code><span class="sig-paren">(</span><em class="sig-param">request</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/webclient_ajax.html#AjaxWebClient.mode_input"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.webclient_ajax.AjaxWebClient.mode_input" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>This is called by render_POST when the client
|
||
is sending data to the server.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>request</strong> (<em>Request</em>) – Incoming request.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.webclient_ajax.AjaxWebClient.mode_keepalive">
|
||
<code class="sig-name descname">mode_keepalive</code><span class="sig-paren">(</span><em class="sig-param">request</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/webclient_ajax.html#AjaxWebClient.mode_keepalive"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.webclient_ajax.AjaxWebClient.mode_keepalive" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>This is called by render_POST when the
|
||
client is replying to the keepalive.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.webclient_ajax.AjaxWebClient.mode_receive">
|
||
<code class="sig-name descname">mode_receive</code><span class="sig-paren">(</span><em class="sig-param">request</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/webclient_ajax.html#AjaxWebClient.mode_receive"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.webclient_ajax.AjaxWebClient.mode_receive" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>This is called by render_POST when the client is telling us
|
||
that it is ready to receive data as soon as it is available.
|
||
This is the basis of a long-polling (comet) mechanism: the
|
||
server will wait to reply until data is available.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>request</strong> (<em>Request</em>) – Incoming request.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.webclient_ajax.AjaxWebClient.render_POST">
|
||
<code class="sig-name descname">render_POST</code><span class="sig-paren">(</span><em class="sig-param">request</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/webclient_ajax.html#AjaxWebClient.render_POST"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.webclient_ajax.AjaxWebClient.render_POST" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>This function is what Twisted calls with POST requests coming
|
||
in from the ajax client. The requests should be tagged with
|
||
different modes depending on what needs to be done, such as
|
||
initializing or sending/receving data through the request. It
|
||
uses a long-polling mechanism to avoid sending data unless
|
||
there is actual data available.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>request</strong> (<em>Request</em>) – Incoming request.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.webclient_ajax.AjaxWebClientSession">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.webclient_ajax.</code><code class="sig-name descname">AjaxWebClientSession</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/webclient_ajax.html#AjaxWebClientSession"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.webclient_ajax.AjaxWebClientSession" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <a class="reference internal" href="evennia.server.html#evennia.server.session.Session" title="evennia.server.session.Session"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.server.session.Session</span></code></a></p>
|
||
<p>This represents a session running in an AjaxWebclient.</p>
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.webclient_ajax.AjaxWebClientSession.__init__">
|
||
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/webclient_ajax.html#AjaxWebClientSession.__init__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.webclient_ajax.AjaxWebClientSession.__init__" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Initialize self. See help(type(self)) for accurate signature.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.webclient_ajax.AjaxWebClientSession.at_login">
|
||
<code class="sig-name descname">at_login</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/webclient_ajax.html#AjaxWebClientSession.at_login"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.webclient_ajax.AjaxWebClientSession.at_login" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.webclient_ajax.AjaxWebClientSession.data_in">
|
||
<code class="sig-name descname">data_in</code><span class="sig-paren">(</span><em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/webclient_ajax.html#AjaxWebClientSession.data_in"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.webclient_ajax.AjaxWebClientSession.data_in" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Data User -> Evennia</p>
|
||
<dl class="simple">
|
||
<dt>Kwargs:</dt><dd><p>kwargs (any): Incoming data.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.webclient_ajax.AjaxWebClientSession.data_out">
|
||
<code class="sig-name descname">data_out</code><span class="sig-paren">(</span><em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/webclient_ajax.html#AjaxWebClientSession.data_out"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.webclient_ajax.AjaxWebClientSession.data_out" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Data Evennia -> User</p>
|
||
<dl class="simple">
|
||
<dt>Kwargs:</dt><dd><p>kwargs (any): Options to the protocol</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.webclient_ajax.AjaxWebClientSession.disconnect">
|
||
<code class="sig-name descname">disconnect</code><span class="sig-paren">(</span><em class="sig-param">reason='Server disconnected.'</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/webclient_ajax.html#AjaxWebClientSession.disconnect"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.webclient_ajax.AjaxWebClientSession.disconnect" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Disconnect from server.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>reason</strong> (<em>str</em>) – Motivation for the disconnect.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.webclient_ajax.AjaxWebClientSession.get_client_session">
|
||
<code class="sig-name descname">get_client_session</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/webclient_ajax.html#AjaxWebClientSession.get_client_session"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.webclient_ajax.AjaxWebClientSession.get_client_session" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Get the Client browser session (used for auto-login based on browser session)</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Returns</dt>
|
||
<dd class="field-odd"><p><dl class="simple">
|
||
<dt>This is a django-specific internal representation</dt><dd><p>of the browser session.</p>
|
||
</dd>
|
||
</dl>
|
||
</p>
|
||
</dd>
|
||
<dt class="field-even">Return type</dt>
|
||
<dd class="field-even"><p>csession (ClientSession)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.webclient_ajax.AjaxWebClientSession.send_default">
|
||
<code class="sig-name descname">send_default</code><span class="sig-paren">(</span><em class="sig-param">cmdname</em>, <em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/webclient_ajax.html#AjaxWebClientSession.send_default"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.webclient_ajax.AjaxWebClientSession.send_default" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Data Evennia -> User.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>cmdname</strong> (<em>str</em>) – The first argument will always be the oob cmd name.</p></li>
|
||
<li><p><strong>*args</strong> (<em>any</em>) – Remaining args will be arguments for <cite>cmd</cite>.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
<dl class="simple">
|
||
<dt>Kwargs:</dt><dd><dl class="simple">
|
||
<dt>options (dict): These are ignored for oob commands. Use command</dt><dd><p>arguments (which can hold dicts) to send instructions to the
|
||
client instead.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.webclient_ajax.AjaxWebClientSession.send_prompt">
|
||
<code class="sig-name descname">send_prompt</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/webclient_ajax.html#AjaxWebClientSession.send_prompt"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.webclient_ajax.AjaxWebClientSession.send_prompt" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.webclient_ajax.AjaxWebClientSession.send_text">
|
||
<code class="sig-name descname">send_text</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/webclient_ajax.html#AjaxWebClientSession.send_text"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.webclient_ajax.AjaxWebClientSession.send_text" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Send text data. This will pre-process the text for
|
||
color-replacement, conversion to html etc.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>text</strong> (<em>str</em>) – Text to send.</p>
|
||
</dd>
|
||
</dl>
|
||
<dl class="simple">
|
||
<dt>Kwargs:</dt><dd><dl class="simple">
|
||
<dt>options (dict): Options-dict with the following keys understood:</dt><dd><ul class="simple">
|
||
<li><p>raw (bool): No parsing at all (leave ansi-to-html markers unparsed).</p></li>
|
||
<li><p>nocolor (bool): Remove all color.</p></li>
|
||
<li><p>screenreader (bool): Use Screenreader mode.</p></li>
|
||
<li><p>send_prompt (bool): Send a prompt with parsed html</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="class">
|
||
<dt id="evennia.server.portal.webclient_ajax.LazyEncoder">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.server.portal.webclient_ajax.</code><code class="sig-name descname">LazyEncoder</code><span class="sig-paren">(</span><em class="sig-param">*</em>, <em class="sig-param">skipkeys=False</em>, <em class="sig-param">ensure_ascii=True</em>, <em class="sig-param">check_circular=True</em>, <em class="sig-param">allow_nan=True</em>, <em class="sig-param">sort_keys=False</em>, <em class="sig-param">indent=None</em>, <em class="sig-param">separators=None</em>, <em class="sig-param">default=None</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/webclient_ajax.html#LazyEncoder"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.webclient_ajax.LazyEncoder" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">json.encoder.JSONEncoder</span></code></p>
|
||
<dl class="method">
|
||
<dt id="evennia.server.portal.webclient_ajax.LazyEncoder.default">
|
||
<code class="sig-name descname">default</code><span class="sig-paren">(</span><em class="sig-param">obj</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/webclient_ajax.html#LazyEncoder.default"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.webclient_ajax.LazyEncoder.default" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Implement this method in a subclass such that it returns
|
||
a serializable object for <code class="docutils literal notranslate"><span class="pre">o</span></code>, or calls the base implementation
|
||
(to raise a <code class="docutils literal notranslate"><span class="pre">TypeError</span></code>).</p>
|
||
<p>For example, to support arbitrary iterators, you could
|
||
implement default like this:</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">def</span> <span class="nf">default</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">o</span><span class="p">):</span>
|
||
<span class="k">try</span><span class="p">:</span>
|
||
<span class="n">iterable</span> <span class="o">=</span> <span class="nb">iter</span><span class="p">(</span><span class="n">o</span><span class="p">)</span>
|
||
<span class="k">except</span> <span class="ne">TypeError</span><span class="p">:</span>
|
||
<span class="k">pass</span>
|
||
<span class="k">else</span><span class="p">:</span>
|
||
<span class="k">return</span> <span class="nb">list</span><span class="p">(</span><span class="n">iterable</span><span class="p">)</span>
|
||
<span class="c1"># Let the base class default method raise the TypeError</span>
|
||
<span class="k">return</span> <span class="n">JSONEncoder</span><span class="o">.</span><span class="n">default</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">o</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="function">
|
||
<dt id="evennia.server.portal.webclient_ajax.jsonify">
|
||
<code class="sig-prename descclassname">evennia.server.portal.webclient_ajax.</code><code class="sig-name descname">jsonify</code><span class="sig-paren">(</span><em class="sig-param">obj</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/portal/webclient_ajax.html#jsonify"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.server.portal.webclient_ajax.jsonify" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
||
<div class="sphinxsidebarwrapper">
|
||
<div id="searchbox" style="display: none" role="search">
|
||
<h3 id="searchlabel">Quick search</h3>
|
||
<div class="searchformwrapper">
|
||
<form class="search" action="../search.html" method="get">
|
||
<input type="text" name="q" aria-labelledby="searchlabel" />
|
||
<input type="submit" value="Go" />
|
||
</form>
|
||
</div>
|
||
</div>
|
||
<script>$('#searchbox').show(0);</script>
|
||
<p><h3><a href="../index.html">Table of Contents</a></h3>
|
||
<ul>
|
||
<li><a class="reference internal" href="#">evennia.server.portal package</a><ul>
|
||
<li><a class="reference internal" href="#submodules">Submodules</a></li>
|
||
<li><a class="reference internal" href="#module-evennia.server.portal.amp">evennia.server.portal.amp module</a></li>
|
||
<li><a class="reference internal" href="#module-evennia.server.portal.amp_server">evennia.server.portal.amp_server module</a></li>
|
||
<li><a class="reference internal" href="#module-evennia.server.portal.grapevine">evennia.server.portal.grapevine module</a></li>
|
||
<li><a class="reference internal" href="#module-evennia.server.portal.irc">evennia.server.portal.irc module</a></li>
|
||
<li><a class="reference internal" href="#module-evennia.server.portal.mccp">evennia.server.portal.mccp module</a></li>
|
||
<li><a class="reference internal" href="#module-evennia.server.portal.mssp">evennia.server.portal.mssp module</a></li>
|
||
<li><a class="reference internal" href="#module-evennia.server.portal.mxp">evennia.server.portal.mxp module</a></li>
|
||
<li><a class="reference internal" href="#module-evennia.server.portal.naws">evennia.server.portal.naws module</a></li>
|
||
<li><a class="reference internal" href="#module-evennia.server.portal.portal">evennia.server.portal.portal module</a></li>
|
||
<li><a class="reference internal" href="#module-evennia.server.portal.portalsessionhandler">evennia.server.portal.portalsessionhandler module</a></li>
|
||
<li><a class="reference internal" href="#module-evennia.server.portal.rss">evennia.server.portal.rss module</a></li>
|
||
<li><a class="reference internal" href="#module-evennia.server.portal.ssh">evennia.server.portal.ssh module</a></li>
|
||
<li><a class="reference internal" href="#module-evennia.server.portal.ssl">evennia.server.portal.ssl module</a></li>
|
||
<li><a class="reference internal" href="#module-evennia.server.portal.suppress_ga">evennia.server.portal.suppress_ga module</a></li>
|
||
<li><a class="reference internal" href="#module-evennia.server.portal.telnet">evennia.server.portal.telnet module</a></li>
|
||
<li><a class="reference internal" href="#module-evennia.server.portal.telnet_oob">evennia.server.portal.telnet_oob module</a></li>
|
||
<li><a class="reference internal" href="#module-evennia.server.portal.telnet_ssl">evennia.server.portal.telnet_ssl module</a></li>
|
||
<li><a class="reference internal" href="#module-evennia.server.portal.tests">evennia.server.portal.tests module</a></li>
|
||
<li><a class="reference internal" href="#module-evennia.server.portal.ttype">evennia.server.portal.ttype module</a></li>
|
||
<li><a class="reference internal" href="#module-evennia.server.portal.webclient">evennia.server.portal.webclient module</a></li>
|
||
<li><a class="reference internal" href="#module-evennia.server.portal.webclient_ajax">evennia.server.portal.webclient_ajax module</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
<div class="relations">
|
||
<h3>Related Topics</h3>
|
||
<ul>
|
||
<li><a href="../index.html">Documentation overview</a><ul>
|
||
</ul></li>
|
||
</ul>
|
||
</div>
|
||
<div role="note" aria-label="source link">
|
||
<!--h3>This Page</h3-->
|
||
<ul class="this-page-menu">
|
||
<li><a href="../_sources/api/evennia.server.portal.rst.txt"
|
||
rel="nofollow">Show Page Source</a></li>
|
||
</ul>
|
||
</div>
|
||
<h3>Versions</h3>
|
||
<ul>
|
||
<li><a href="evennia.server.portal.html">1.0-dev (develop branch)</a></li>
|
||
<li><a href="../../../versions/0.9.1/api/evennia.server.portal.html">0.9.1 (master branch)</a></li>
|
||
</ul>
|
||
|
||
</div>
|
||
</div>
|
||
<div class="clearer"></div>
|
||
</div>
|
||
<div class="footer">
|
||
©2020, The Evennia developer community.
|
||
|
||
|
|
||
Powered by <a href="http://sphinx-doc.org/">Sphinx 2.4.4</a>
|
||
& <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
||
|
||
|
|
||
<a href="../_sources/api/evennia.server.portal.rst.txt"
|
||
rel="nofollow">Page source</a>
|
||
</div>
|
||
|
||
|
||
|
||
|
||
</body>
|
||
</html> |