mirror of
https://github.com/evennia/evennia.git
synced 2026-03-18 13:56:30 +01:00
270 lines
No EOL
16 KiB
HTML
270 lines
No EOL
16 KiB
HTML
|
||
<!DOCTYPE html>
|
||
|
||
<html>
|
||
<head>
|
||
<meta charset="utf-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||
|
||
<title>Banning — Evennia 0.9.5 documentation</title>
|
||
<link rel="stylesheet" href="_static/nature.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>
|
||
<script async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js?config=TeX-AMS-MML_HTMLorMML"></script>
|
||
<script type="text/x-mathjax-config">MathJax.Hub.Config({"tex2jax": {"processClass": "tex2jax_process|mathjax_process|math|output_area"}})</script>
|
||
<link rel="shortcut icon" href="_static/favicon.ico"/>
|
||
<link rel="index" title="Index" href="genindex.html" />
|
||
<link rel="search" title="Search" href="search.html" />
|
||
</head><body>
|
||
<div class="related" role="navigation" aria-label="related navigation">
|
||
<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="nav-item nav-item-0"><a href="index.html">Evennia 0.9.5</a> »</li>
|
||
<li class="nav-item nav-item-this"><a href="">Banning</a></li>
|
||
</ul>
|
||
</div>
|
||
|
||
<div class="document">
|
||
<div class="documentwrapper">
|
||
<div class="bodywrapper">
|
||
<div class="body" role="main">
|
||
|
||
<section class="tex2jax_ignore mathjax_ignore" id="banning">
|
||
<h1>Banning<a class="headerlink" href="#banning" title="Permalink to this headline">¶</a></h1>
|
||
<p>Whether due to abuse, blatant breaking of your rules, or some other reason, you will eventually find
|
||
no other recourse but to kick out a particularly troublesome player. The default command set has
|
||
admin tools to handle this, primarily <code class="docutils literal notranslate"><span class="pre">ban</span></code>, <code class="docutils literal notranslate"><span class="pre">unban</span></code>, and <code class="docutils literal notranslate"><span class="pre">boot</span></code>.</p>
|
||
<section id="creating-a-ban">
|
||
<h2>Creating a ban<a class="headerlink" href="#creating-a-ban" title="Permalink to this headline">¶</a></h2>
|
||
<p>Say we have a troublesome player “YouSuck” - this is a person that refuses common courtesy - an
|
||
abusive
|
||
and spammy account that is clearly created by some bored internet hooligan only to cause grief. You
|
||
have tried to be nice. Now you just want this troll gone.</p>
|
||
<section id="name-ban">
|
||
<h3>Name ban<a class="headerlink" href="#name-ban" title="Permalink to this headline">¶</a></h3>
|
||
<p>The easiest recourse is to block the account YouSuck from ever connecting again.</p>
|
||
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span> ban YouSuck
|
||
</pre></div>
|
||
</div>
|
||
<p>This will lock the name YouSuck (as well as ‘yousuck’ and any other capitalization combination), and
|
||
next time they try to log in with this name the server will not let them!</p>
|
||
<p>You can also give a reason so you remember later why this was a good thing (the banned account will
|
||
never see this)</p>
|
||
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span> ban YouSuck:This is just a troll.
|
||
</pre></div>
|
||
</div>
|
||
<p>If you are sure this is just a spam account, you might even consider deleting the player account
|
||
outright:</p>
|
||
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span> account/delete YouSuck
|
||
</pre></div>
|
||
</div>
|
||
<p>Generally, banning the name is the easier and safer way to stop the use of an account – if you
|
||
change your mind you can always remove the block later whereas a deletion is permanent.</p>
|
||
</section>
|
||
<section id="ip-ban">
|
||
<h3>IP ban<a class="headerlink" href="#ip-ban" title="Permalink to this headline">¶</a></h3>
|
||
<p>Just because you block YouSuck’s name might not mean the trolling human behind that account gives
|
||
up. They can just create a new account YouSuckMore and be back at it. One way to make things harder
|
||
for them is to tell the server to not allow connections from their particular IP address.</p>
|
||
<p>First, when the offending account is online, check which IP address they use. This you can do with
|
||
the <code class="docutils literal notranslate"><span class="pre">who</span></code> command, which will show you something like this:</p>
|
||
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span> Account Name On for Idle Room Cmds Host
|
||
YouSuckMore 01:12 2m 22 212 237.333.0.223
|
||
</pre></div>
|
||
</div>
|
||
<p>The “Host” bit is the IP address from which the account is connecting. Use this to define the ban
|
||
instead of the name:</p>
|
||
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span> ban 237.333.0.223
|
||
</pre></div>
|
||
</div>
|
||
<p>This will stop YouSuckMore connecting from their computer. Note however that IP address might change
|
||
easily - either due to how the player’s Internet Service Provider operates or by the user simply
|
||
changing computers. You can make a more general ban by putting asterisks <code class="docutils literal notranslate"><span class="pre">*</span></code> as wildcards for the
|
||
groups of three digits in the address. So if you figure out that !YouSuckMore mainly connects from
|
||
237.333.0.223, 237.333.0.225, and 237.333.0.256 (only changes in their subnet), it might be an idea
|
||
to put down a ban like this to include any number in that subnet:</p>
|
||
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span> ban 237.333.0.*
|
||
</pre></div>
|
||
</div>
|
||
<p>You should combine the IP ban with a name-ban too of course, so the account YouSuckMore is truly
|
||
locked regardless of where they connect from.</p>
|
||
<p>Be careful with too general IP bans however (more asterisks above). If you are unlucky you could be
|
||
blocking out innocent players who just happen to connect from the same subnet as the offender.</p>
|
||
</section>
|
||
</section>
|
||
<section id="booting">
|
||
<h2>Booting<a class="headerlink" href="#booting" title="Permalink to this headline">¶</a></h2>
|
||
<p>YouSuck is not really noticing all this banning yet though - and won’t until having logged out and
|
||
trying to log back in again. Let’s help the troll along.</p>
|
||
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span> boot YouSuck
|
||
</pre></div>
|
||
</div>
|
||
<p>Good riddance. You can give a reason for booting too (to be echoed to the player before getting
|
||
kicked out).</p>
|
||
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span> boot YouSuck:Go troll somewhere else.
|
||
</pre></div>
|
||
</div>
|
||
<section id="lifting-a-ban">
|
||
<h3>Lifting a ban<a class="headerlink" href="#lifting-a-ban" title="Permalink to this headline">¶</a></h3>
|
||
<p>Use the <code class="docutils literal notranslate"><span class="pre">unban</span></code> (or <code class="docutils literal notranslate"><span class="pre">ban</span></code>) command without any arguments and you will see a list of all currently
|
||
active bans:</p>
|
||
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>Active bans
|
||
id name/ip date reason
|
||
1 yousuck Fri Jan 3 23:00:22 2020 This is just a Troll.
|
||
2 237.333.0.* Fri Jan 3 23:01:03 2020 YouSuck's IP.
|
||
</pre></div>
|
||
</div>
|
||
<p>Use the <code class="docutils literal notranslate"><span class="pre">id</span></code> from this list to find out which ban to lift.</p>
|
||
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span> unban 2
|
||
|
||
Cleared ban 2: 237.333.0.*
|
||
</pre></div>
|
||
</div>
|
||
</section>
|
||
</section>
|
||
<section id="summary-of-abuse-handling-tools">
|
||
<h2>Summary of abuse-handling tools<a class="headerlink" href="#summary-of-abuse-handling-tools" title="Permalink to this headline">¶</a></h2>
|
||
<p>Below are other useful commands for dealing with annoying players.</p>
|
||
<ul class="simple">
|
||
<li><p><strong>who</strong> – (as admin) Find the IP of a account. Note that one account can be connected to from
|
||
multiple IPs depending on what you allow in your settings.</p></li>
|
||
<li><p><strong>examine/account thomas</strong> – Get all details about an account. You can also use <code class="docutils literal notranslate"><span class="pre">*thomas</span></code> to get
|
||
the account. If not given, you will get the <em>Object</em> thomas if it exists in the same location, which
|
||
is not what you want in this case.</p></li>
|
||
<li><p><strong>boot thomas</strong> – Boot all sessions of the given account name.</p></li>
|
||
<li><p><strong>boot 23</strong> – Boot one specific client session/IP by its unique id.</p></li>
|
||
<li><p><strong>ban</strong> – List all bans (listed with ids)</p></li>
|
||
<li><p><strong>ban thomas</strong> – Ban the user with the given account name</p></li>
|
||
<li><p><strong>ban/ip <code class="docutils literal notranslate"><span class="pre">134.233.2.111</span></code></strong> – Ban by IP</p></li>
|
||
<li><p><strong>ban/ip <code class="docutils literal notranslate"><span class="pre">134.233.2.*</span></code></strong> – Widen IP ban</p></li>
|
||
<li><p><strong>ban/ip <code class="docutils literal notranslate"><span class="pre">134.233.*.*</span></code></strong> – Even wider IP ban</p></li>
|
||
<li><p><strong>unban 34</strong> – Remove ban with id #34</p></li>
|
||
<li><p><strong>cboot mychannel = thomas</strong> – Boot a subscriber from a channel you control</p></li>
|
||
<li><p><strong>clock mychannel = control:perm(Admin);listen:all();send:all()</strong> – Fine control of access to
|
||
your channel using <a class="reference internal" href="Locks.html"><span class="doc std std-doc">lock definitions</span></a>.</p></li>
|
||
</ul>
|
||
<p>Locking a specific command (like <code class="docutils literal notranslate"><span class="pre">page</span></code>) is accomplished like so:</p>
|
||
<ol class="simple">
|
||
<li><p>Examine the source of the command. <a class="reference external" href="https://github.com/evennia/evennia/blob/master/evennia/commands/default/comms.py#L686">The default <code class="docutils literal notranslate"><span class="pre">page</span></code> command class</a> has the lock
|
||
string <strong>“cmd:not pperm(page_banned)”</strong>. This means that unless the player has the ‘permission’
|
||
“page_banned” they can use this command. You can assign any lock string to allow finer customization
|
||
in your commands. You might look for the value of an <a class="reference internal" href="Attributes.html"><span class="doc std std-doc">Attribute</span></a> or <a class="reference internal" href="Tags.html"><span class="doc std std-doc">Tag</span></a>, your
|
||
current location etc.</p></li>
|
||
<li><p><strong>perm/account thomas = page_banned</strong> – Give the account the ‘permission’ which causes (in this
|
||
case) the lock to fail.</p></li>
|
||
</ol>
|
||
<ul class="simple">
|
||
<li><p><strong>perm/del/account thomas = page_banned</strong> – Remove the given permission</p></li>
|
||
<li><p><strong>tel thomas = jail</strong> – Teleport a player to a specified location or #dbref</p></li>
|
||
<li><p><strong>type thomas = FlowerPot</strong> – Turn an annoying player into a flower pot (assuming you have a
|
||
<code class="docutils literal notranslate"><span class="pre">FlowerPot</span></code> typeclass ready)</p></li>
|
||
<li><p><strong>userpassword thomas = fooBarFoo</strong> – Change a user’s password</p></li>
|
||
<li><p><strong>account/delete thomas</strong> – Delete a player account (not recommended, use <strong>ban</strong> instead)</p></li>
|
||
<li><p><strong>server</strong> – Show server statistics, such as CPU load, memory usage, and how many objects are
|
||
cached</p></li>
|
||
<li><p><strong>time</strong> – Gives server uptime, runtime, etc</p></li>
|
||
<li><p><strong>reload</strong> – Reloads the server without disconnecting anyone</p></li>
|
||
<li><p><strong>reset</strong> – Restarts the server, kicking all connections</p></li>
|
||
<li><p><strong>shutdown</strong> – Stops the server cold without it auto-starting again</p></li>
|
||
<li><p><strong>py</strong> – Executes raw Python code, allows for direct inspection of the database and account
|
||
objects on the fly. For advanced users.</p></li>
|
||
</ul>
|
||
<p><strong>Useful Tip:</strong> <code class="docutils literal notranslate"><span class="pre">evennia</span> <span class="pre">changepassword</span> <span class="pre"><username></span></code> entered into the command prompt will reset the
|
||
password of any account, including the superuser or admin accounts. This is a feature of Django.</p>
|
||
</section>
|
||
</section>
|
||
|
||
|
||
<div class="clearer"></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
||
<div class="sphinxsidebarwrapper">
|
||
<p class="logo"><a href="index.html">
|
||
<img class="logo" src="_static/evennia_logo.png" alt="Logo"/>
|
||
</a></p>
|
||
<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="#">Banning</a><ul>
|
||
<li><a class="reference internal" href="#creating-a-ban">Creating a ban</a><ul>
|
||
<li><a class="reference internal" href="#name-ban">Name ban</a></li>
|
||
<li><a class="reference internal" href="#ip-ban">IP ban</a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a class="reference internal" href="#booting">Booting</a><ul>
|
||
<li><a class="reference internal" href="#lifting-a-ban">Lifting a ban</a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a class="reference internal" href="#summary-of-abuse-handling-tools">Summary of abuse-handling tools</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
|
||
<div role="note" aria-label="source link">
|
||
<!--h3>This Page</h3-->
|
||
<ul class="this-page-menu">
|
||
<li><a href="_sources/Banning.md.txt"
|
||
rel="nofollow">Show Page Source</a></li>
|
||
</ul>
|
||
</div><h3>Links</h3>
|
||
<ul>
|
||
<li><a href="https://www.evennia.com">Home page</a> </li>
|
||
<li><a href="https://github.com/evennia/evennia">Evennia Github</a> </li>
|
||
<li><a href="http://games.evennia.com">Game Index</a> </li>
|
||
<li><a href="http://webchat.freenode.net/?channels=evennia&uio=MT1mYWxzZSY5PXRydWUmMTE9MTk1JjEyPXRydWUbb">IRC</a> -
|
||
<a href="https://discord.gg/NecFePw">Discord</a> -
|
||
<a href="https://groups.google.com/forum/#%21forum/evennia">Forums</a>
|
||
</li>
|
||
<li><a href="http://evennia.blogspot.com/">Evennia Dev blog</a> </li>
|
||
</ul>
|
||
<h3>Versions</h3>
|
||
<ul>
|
||
<li><a href="../1.0-dev/index.html">1.0-dev (develop branch)</a></li>
|
||
<li><a href="Banning.html">0.9.5 (v0.9.5 branch)</a></li>
|
||
</ul>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
<div class="clearer"></div>
|
||
</div>
|
||
<div class="related" role="navigation" aria-label="related navigation">
|
||
<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="nav-item nav-item-0"><a href="index.html">Evennia 0.9.5</a> »</li>
|
||
<li class="nav-item nav-item-this"><a href="">Banning</a></li>
|
||
</ul>
|
||
</div>
|
||
<div class="footer" role="contentinfo">
|
||
© Copyright 2020, The Evennia developer community.
|
||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
|
||
</div>
|
||
</body>
|
||
</html> |