evennia/docs/6.x/api/evennia.server.game_index_client.client.html
2026-02-15 19:06:04 +01:00

308 lines
No EOL
25 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en" data-content_root="../">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>evennia.server.game_index_client.client &#8212; Evennia latest documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=d75fae25" />
<link rel="stylesheet" type="text/css" href="../_static/nature.css?v=279e0f84" />
<link rel="stylesheet" type="text/css" href="../_static/custom.css?v=e4a91a55" />
<script src="../_static/documentation_options.js?v=c6e86fd7"></script>
<script src="../_static/doctools.js?v=9bcbadda"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<link rel="icon" href="../_static/favicon.ico"/>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="evennia.server.game_index_client.service" href="evennia.server.game_index_client.service.html" />
<link rel="prev" title="evennia.server.game_index_client" href="evennia.server.game_index_client.html" />
</head><body>
<div class="related" role="navigation" aria-label="Related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="evennia.server.game_index_client.service.html" title="evennia.server.game_index_client.service"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="evennia.server.game_index_client.html" title="evennia.server.game_index_client"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">Evennia</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../Evennia-API.html" >API Summary</a> &#187;</li>
<li class="nav-item nav-item-2"><a href="evennia-api.html" >evennia</a> &#187;</li>
<li class="nav-item nav-item-3"><a href="evennia.html" >evennia</a> &#187;</li>
<li class="nav-item nav-item-4"><a href="evennia.server.html" >evennia.server</a> &#187;</li>
<li class="nav-item nav-item-5"><a href="evennia.server.game_index_client.html" accesskey="U">evennia.server.game_index_client</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">evennia.server.game_index_client.client</a></li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<section id="module-evennia.server.game_index_client.client">
<span id="evennia-server-game-index-client-client"></span><h1>evennia.server.game_index_client.client<a class="headerlink" href="#module-evennia.server.game_index_client.client" title="Link to this heading"></a></h1>
<p>The client for sending data to the Evennia Game Index</p>
<dl class="py class">
<dt class="sig sig-object py" id="evennia.server.game_index_client.client.EvenniaGameIndexClient">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">evennia.server.game_index_client.client.</span></span><span class="sig-name descname"><span class="pre">EvenniaGameIndexClient</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">on_bad_request</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/game_index_client/client.html#EvenniaGameIndexClient"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.server.game_index_client.client.EvenniaGameIndexClient" title="Link 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>This client class is used for gathering and sending game details to the
Evennia Game Index. Since EGI is in the early goings, this isnt
incredibly configurable as far as to what is being sent.</p>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.server.game_index_client.client.EvenniaGameIndexClient.__init__">
<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">on_bad_request</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/game_index_client/client.html#EvenniaGameIndexClient.__init__"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.server.game_index_client.client.EvenniaGameIndexClient.__init__" title="Link to this definition"></a></dt>
<dd><p>on_bad_request (callable, optional): Callable to trigger when a bad request was sent.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.server.game_index_client.client.EvenniaGameIndexClient.send_game_details">
<span class="sig-name descname"><span class="pre">send_game_details</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/game_index_client/client.html#EvenniaGameIndexClient.send_game_details"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.server.game_index_client.client.EvenniaGameIndexClient.send_game_details" title="Link to this definition"></a></dt>
<dd><p>This is where the magic happens. Send details about the game to the
Evennia Game Index.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.server.game_index_client.client.EvenniaGameIndexClient.handle_egd_response">
<span class="sig-name descname"><span class="pre">handle_egd_response</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">response</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/game_index_client/client.html#EvenniaGameIndexClient.handle_egd_response"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.server.game_index_client.client.EvenniaGameIndexClient.handle_egd_response" title="Link to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="evennia.server.game_index_client.client.SimpleResponseReceiver">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">evennia.server.game_index_client.client.</span></span><span class="sig-name descname"><span class="pre">SimpleResponseReceiver</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">status_code</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">d</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/game_index_client/client.html#SimpleResponseReceiver"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.server.game_index_client.client.SimpleResponseReceiver" title="Link to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">Protocol</span></code></p>
<p>Used for pulling the response body out of an HTTP response.</p>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.server.game_index_client.client.SimpleResponseReceiver.__init__">
<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">status_code</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">d</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/game_index_client/client.html#SimpleResponseReceiver.__init__"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.server.game_index_client.client.SimpleResponseReceiver.__init__" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.server.game_index_client.client.SimpleResponseReceiver.dataReceived">
<span class="sig-name descname"><span class="pre">dataReceived</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/game_index_client/client.html#SimpleResponseReceiver.dataReceived"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.server.game_index_client.client.SimpleResponseReceiver.dataReceived" title="Link to this definition"></a></dt>
<dd><p>Called whenever data is received.</p>
<p>Use this method to translate to a higher-level message. Usually, some
callback will be made upon the receipt of each complete protocol
message.</p>
<dl class="simple">
<dt>&#64;param data: a string of indeterminate length. Please keep in mind</dt><dd><p>that you will probably need to buffer some data, as partial
(or multiple) protocol messages may be received! I recommend
that unit tests for protocols call through to this method with
differing chunk sizes, down to one byte at a time.</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.server.game_index_client.client.SimpleResponseReceiver.connectionLost">
<span class="sig-name descname"><span class="pre">connectionLost</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">reason=&lt;twisted.python.failure.Failure</span> <span class="pre">twisted.internet.error.ConnectionDone:</span> <span class="pre">Connection</span> <span class="pre">was</span> <span class="pre">closed</span> <span class="pre">cleanly.&gt;</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/game_index_client/client.html#SimpleResponseReceiver.connectionLost"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.server.game_index_client.client.SimpleResponseReceiver.connectionLost" title="Link to this definition"></a></dt>
<dd><p>Called when the connection is shut down.</p>
<p>Clear any circular references here, and any external references
to this Protocol. The connection has been closed.</p>
<p>&#64;type reason: L{twisted.python.failure.Failure}</p>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="evennia.server.game_index_client.client.StringProducer">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">evennia.server.game_index_client.client.</span></span><span class="sig-name descname"><span class="pre">StringProducer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">body</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/game_index_client/client.html#StringProducer"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.server.game_index_client.client.StringProducer" title="Link 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>Used for feeding a request body to the tx HTTP client.</p>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.server.game_index_client.client.StringProducer.__init__">
<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">body</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/game_index_client/client.html#StringProducer.__init__"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.server.game_index_client.client.StringProducer.__init__" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.server.game_index_client.client.StringProducer.startProducing">
<span class="sig-name descname"><span class="pre">startProducing</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">consumer</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/game_index_client/client.html#StringProducer.startProducing"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.server.game_index_client.client.StringProducer.startProducing" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.server.game_index_client.client.StringProducer.pauseProducing">
<span class="sig-name descname"><span class="pre">pauseProducing</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/game_index_client/client.html#StringProducer.pauseProducing"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.server.game_index_client.client.StringProducer.pauseProducing" title="Link to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="evennia.server.game_index_client.client.StringProducer.stopProducing">
<span class="sig-name descname"><span class="pre">stopProducing</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/game_index_client/client.html#StringProducer.stopProducing"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.server.game_index_client.client.StringProducer.stopProducing" title="Link to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="evennia.server.game_index_client.client.QuietHTTP11ClientFactory">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">evennia.server.game_index_client.client.</span></span><span class="sig-name descname"><span class="pre">QuietHTTP11ClientFactory</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">quiescentCallback</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">metadata</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/server/game_index_client/client.html#QuietHTTP11ClientFactory"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#evennia.server.game_index_client.client.QuietHTTP11ClientFactory" title="Link to this definition"></a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">_HTTP11ClientFactory</span></code></p>
<p>Silences the obnoxious factory start/stop messages in the default client.</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="evennia.server.game_index_client.client.QuietHTTP11ClientFactory.noisy">
<span class="sig-name descname"><span class="pre">noisy</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">False</span></em><a class="headerlink" href="#evennia.server.game_index_client.client.QuietHTTP11ClientFactory.noisy" title="Link to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
</section>
<div class="clearer"></div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="Main">
<div class="sphinxsidebarwrapper">
<p class="logo"><a href="../index.html">
<img class="logo" src="../_static/evennia_logo.png" alt="Logo of Evennia"/>
</a></p>
<search 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" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
</form>
</div>
</search>
<script>document.getElementById('searchbox').style.display = "block"</script>
<h3><a href="../index.html">Table of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">evennia.server.game_index_client.client</a><ul>
<li><a class="reference internal" href="#evennia.server.game_index_client.client.EvenniaGameIndexClient"><code class="docutils literal notranslate"><span class="pre">EvenniaGameIndexClient</span></code></a><ul>
<li><a class="reference internal" href="#evennia.server.game_index_client.client.EvenniaGameIndexClient.__init__"><code class="docutils literal notranslate"><span class="pre">EvenniaGameIndexClient.__init__()</span></code></a></li>
<li><a class="reference internal" href="#evennia.server.game_index_client.client.EvenniaGameIndexClient.send_game_details"><code class="docutils literal notranslate"><span class="pre">EvenniaGameIndexClient.send_game_details()</span></code></a></li>
<li><a class="reference internal" href="#evennia.server.game_index_client.client.EvenniaGameIndexClient.handle_egd_response"><code class="docutils literal notranslate"><span class="pre">EvenniaGameIndexClient.handle_egd_response()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#evennia.server.game_index_client.client.SimpleResponseReceiver"><code class="docutils literal notranslate"><span class="pre">SimpleResponseReceiver</span></code></a><ul>
<li><a class="reference internal" href="#evennia.server.game_index_client.client.SimpleResponseReceiver.__init__"><code class="docutils literal notranslate"><span class="pre">SimpleResponseReceiver.__init__()</span></code></a></li>
<li><a class="reference internal" href="#evennia.server.game_index_client.client.SimpleResponseReceiver.dataReceived"><code class="docutils literal notranslate"><span class="pre">SimpleResponseReceiver.dataReceived()</span></code></a></li>
<li><a class="reference internal" href="#evennia.server.game_index_client.client.SimpleResponseReceiver.connectionLost"><code class="docutils literal notranslate"><span class="pre">SimpleResponseReceiver.connectionLost()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#evennia.server.game_index_client.client.StringProducer"><code class="docutils literal notranslate"><span class="pre">StringProducer</span></code></a><ul>
<li><a class="reference internal" href="#evennia.server.game_index_client.client.StringProducer.__init__"><code class="docutils literal notranslate"><span class="pre">StringProducer.__init__()</span></code></a></li>
<li><a class="reference internal" href="#evennia.server.game_index_client.client.StringProducer.startProducing"><code class="docutils literal notranslate"><span class="pre">StringProducer.startProducing()</span></code></a></li>
<li><a class="reference internal" href="#evennia.server.game_index_client.client.StringProducer.pauseProducing"><code class="docutils literal notranslate"><span class="pre">StringProducer.pauseProducing()</span></code></a></li>
<li><a class="reference internal" href="#evennia.server.game_index_client.client.StringProducer.stopProducing"><code class="docutils literal notranslate"><span class="pre">StringProducer.stopProducing()</span></code></a></li>
</ul>
</li>
<li><a class="reference internal" href="#evennia.server.game_index_client.client.QuietHTTP11ClientFactory"><code class="docutils literal notranslate"><span class="pre">QuietHTTP11ClientFactory</span></code></a><ul>
<li><a class="reference internal" href="#evennia.server.game_index_client.client.QuietHTTP11ClientFactory.noisy"><code class="docutils literal notranslate"><span class="pre">QuietHTTP11ClientFactory.noisy</span></code></a></li>
</ul>
</li>
</ul>
</li>
</ul>
<div>
<h4>Previous topic</h4>
<p class="topless"><a href="evennia.server.game_index_client.html"
title="previous chapter">evennia.server.game_index_client</a></p>
</div>
<div>
<h4>Next topic</h4>
<p class="topless"><a href="evennia.server.game_index_client.service.html"
title="next chapter">evennia.server.game_index_client.service</a></p>
</div>
<div role="note" aria-label="source link">
<!--h3>This Page</h3-->
<ul class="this-page-menu">
<li><a href="../_sources/api/evennia.server.game_index_client.client.md.txt"
rel="nofollow">Show Page Source</a></li>
</ul>
</div><h3>Links</h3>
<ul>
<li><a href="https://www.evennia.com/docs/latest/index.html">Documentation Top</a> </li>
<li><a href="https://www.evennia.com">Evennia Home</a> </li>
<li><a href="https://github.com/evennia/evennia">Github</a> </li>
<li><a href="http://games.evennia.com">Game Index</a> </li>
<li>
<a href="https://discord.gg/AJJpcRUhtF">Discord</a> -
<a href="https://github.com/evennia/evennia/discussions">Discussions</a> -
<a href="https://evennia.blogspot.com/">Blog</a>
</li>
</ul>
<h3>Doc Versions</h3>
<ul>
<li>
<a href="https://www.evennia.com/docs/latest/index.html">latest (main branch)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/6.x/index.html">v6.0.0 branch (outdated)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/5.x/index.html">v5.0.0 branch (outdated)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/4.x/index.html">v4.0.0 branch (outdated)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/3.x/index.html">v3.0.0 branch (outdated)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/2.x/index.html">v2.0.0 branch (outdated)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/1.x/index.html">v1.0.0 branch (outdated)</a>
</li>
<li>
<a href="https://www.evennia.com/docs/0.x/index.html">v0.9.5 branch (outdated)</a>
</li>
</ul>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="Related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="evennia.server.game_index_client.service.html" title="evennia.server.game_index_client.service"
>next</a> |</li>
<li class="right" >
<a href="evennia.server.game_index_client.html" title="evennia.server.game_index_client"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">Evennia</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../Evennia-API.html" >API Summary</a> &#187;</li>
<li class="nav-item nav-item-2"><a href="evennia-api.html" >evennia</a> &#187;</li>
<li class="nav-item nav-item-3"><a href="evennia.html" >evennia</a> &#187;</li>
<li class="nav-item nav-item-4"><a href="evennia.server.html" >evennia.server</a> &#187;</li>
<li class="nav-item nav-item-5"><a href="evennia.server.game_index_client.html" >evennia.server.game_index_client</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">evennia.server.game_index_client.client</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2024, The Evennia developer community.
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 8.2.3.
</div>
</body>
</html>