<pclass="last">You are reading an old version of the Evennia documentation. <ahref="https://www.evennia.com/docs/latest/index.html">The latest version is here</a></p>.
<h1>Input/Output Auditing<aclass="headerlink"href="#input-output-auditing"title="Permalink to this headline">¶</a></h1>
<p>Contribution by Johnny, 2017</p>
<p>Utility that taps and intercepts all data sent to/from clients and the
server and passes it to a callback of your choosing. This is intended for
quality assurance, post-incident investigations and debugging.</p>
<p>Note that this should be used with care since it can obviously be abused. All
data is recorded in cleartext. Please be ethical, and if you are unwilling to
properly deal with the implications of recording user passwords or private
communications, please do not enable this module.</p>
<p>Some checks have been implemented to protect the privacy of users.</p>
<p>Files included in this module:</p>
<divclass="highlight-none notranslate"><divclass="highlight"><pre><span></span>outputs.py - Example callback methods. This module ships with examples of
callbacks that send data as JSON to a file in your game/server/logs
dir or to your native Linux syslog daemon. You can of course write
your own to do other things like post them to Kafka topics.
server.py - Extends the Evennia ServerSession object to pipe data to the
callback upon receipt.
tests.py - Unit tests that check to make sure commands with sensitive
arguments are having their PII scrubbed.
</pre></div>
</div>
<sectionid="installation-configuration">
<h2>Installation/Configuration:<aclass="headerlink"href="#installation-configuration"title="Permalink to this headline">¶</a></h2>
<p>Deployment is completed by configuring a few settings in server.conf. This line
<p>This tells Evennia to use this ServerSession instead of its own. Below are the
other possible options along with the default value that will be used if unset.</p>
<divclass="highlight-none notranslate"><divclass="highlight"><pre><span></span># Where to send logs? Define the path to a module containing your callback
# function. It should take a single dict argument as input
<p><small>This document page is generated from <codeclass="docutils literal notranslate"><spanclass="pre">evennia/contrib/utils/auditing/README.md</span></code>. Changes to this
file will be overwritten, so edit that file rather than this one.</small></p>
<pclass="last">You are reading an old version of the Evennia documentation. <ahref="https://www.evennia.com/docs/latest/index.html">The latest version is here</a></p>.
</div>
<divclass="footer"role="contentinfo">
© Copyright 2023, The Evennia developer community.
Created using <ahref="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.