Updated HTML docs.

This commit is contained in:
Evennia docbuilder action 2022-11-22 10:37:02 +00:00
parent 306ba10ed3
commit 1ae614d35e
31 changed files with 180 additions and 228 deletions

View file

@ -63,7 +63,7 @@
<h3><a href="../index.html">Table of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">Online Setup</a><ul>
<li><a class="reference internal" href="#connecting-from-the-outside">Connecting from the outside</a><ul>
<li><a class="reference internal" href="#connecting-to-evennia-across-the-internet">Connecting to Evennia across the Internet</a><ul>
<li><a class="reference internal" href="#settings-example">Settings example</a></li>
<li><a class="reference internal" href="#telnet">Telnet</a></li>
<li><a class="reference internal" href="#web-server">Web server</a></li>
@ -73,24 +73,23 @@
<li><a class="reference internal" href="#registering-with-the-evennia-game-directory">Registering with the Evennia game directory</a></li>
</ul>
</li>
<li><a class="reference internal" href="#ssl">SSL</a><ul>
<li><a class="reference internal" href="#ssl-and-https">SSL and HTTPS</a><ul>
<li><a class="reference internal" href="#lets-encrypt">Lets Encrypt</a></li>
<li><a class="reference internal" href="#relevant-ssl-proxy-setup-information">Relevant SSL Proxy Setup Information</a></li>
</ul>
</li>
<li><a class="reference internal" href="#relevant-ssl-proxy-setup-information">Relevant SSL Proxy Setup Information</a></li>
<li><a class="reference internal" href="#hosting-locally-or-remotely">Hosting locally or remotely?</a><ul>
<li><a class="reference internal" href="#using-your-own-computer-as-a-server">Using your own computer as a server</a><ul>
<li><a class="reference internal" href="#hosting-evennia-from-your-own-computer">Hosting Evennia from your own computer</a><ul>
<li><a class="reference internal" href="#setting-up-your-own-machine-as-a-server">Setting up your own machine as a server</a></li>
</ul>
</li>
<li><a class="reference internal" href="#remote-hosting">Remote hosting</a><ul>
<li><a class="reference internal" href="#hosting-evennia-on-a-remote-server">Hosting Evennia on a remote server</a><ul>
<li><a class="reference internal" href="#installing-evennia-on-a-remote-server">Installing Evennia on a remote server</a></li>
</ul>
</li>
<li><a class="reference internal" href="#hosting-options">Hosting options</a></li>
<li><a class="reference internal" href="#hosting-options-and-suggestions">Hosting options and suggestions</a><ul>
<li><a class="reference internal" href="#cloud9">Cloud9</a></li>
</ul>
</li>
<li><a class="reference internal" href="#cloud9">Cloud9</a></li>
</ul>
</li>
</ul>
@ -136,11 +135,9 @@
<p>Evennia development can be made without any Internet connection beyond fetching updates. At some
point however, you are likely to want to make your game visible online, either as part opening it to
the public or to allow other developers or beta testers access to it.</p>
<section id="connecting-from-the-outside">
<h2>Connecting from the outside<a class="headerlink" href="#connecting-from-the-outside" title="Permalink to this headline"></a></h2>
<p>Accessing your Evennia server from the outside is not hard on its own. Any issues are usually due to
the various security measures your computer, network or hosting service has. These will generally
(and correctly) block outside access to servers on your machine unless you tell them otherwise.</p>
<section id="connecting-to-evennia-across-the-internet">
<h2>Connecting to Evennia across the Internet<a class="headerlink" href="#connecting-to-evennia-across-the-internet" title="Permalink to this headline"></a></h2>
<p>Accessing your Evennia server from the outside is not hard on its own. Any issues are usually due to the various security measures your computer, network or hosting service has. These will generally (and correctly) block outside access to servers on your machine unless you tell them otherwise.</p>
<p>We will start by showing how to host your server on your own local computer. Even if you plan to
host your “real” game on a remote host later, setting it up locally is useful practice. We cover
remote hosting later in this document.</p>
@ -155,48 +152,27 @@ internal to your computer only).</p>
<p>Evennia will by default accept incoming connections on all interfaces (<code class="docutils literal notranslate"><span class="pre">0.0.0.0</span></code>) so in principle
anyone knowing the ports to use and has the IP address to your machine should be able to connect to
your game.</p>
<ul class="simple">
<li><p>Make sure Evennia is installed and that you have activated the virtualenv. Start the server with
<code class="docutils literal notranslate"><span class="pre">evennia</span> <span class="pre">start</span> <span class="pre">--log</span></code>. The <code class="docutils literal notranslate"><span class="pre">--log</span></code> (or <code class="docutils literal notranslate"><span class="pre">-l</span></code>) will make sure that the logs are echoed to the
terminal.</p></li>
</ul>
<blockquote>
<div><p>Note: If you need to close the log-view, use <code class="docutils literal notranslate"><span class="pre">Ctrl-C</span></code>. Use just <code class="docutils literal notranslate"><span class="pre">evennia</span> <span class="pre">--log</span></code> on its own to
<aside class="sidebar">
<p class="sidebar-title">Closing the log view</p>
<p>If you need to close the log-view, use <code class="docutils literal notranslate"><span class="pre">Ctrl-C</span></code>. Use just <code class="docutils literal notranslate"><span class="pre">evennia</span> <span class="pre">--log</span></code> on its own to
start tailing the logs again.</p>
</div></blockquote>
</aside>
<ul class="simple">
<li><p>Make sure you can connect with your web browser to <code class="docutils literal notranslate"><span class="pre">http://localhost:4001</span></code> or, alternatively,
<code class="docutils literal notranslate"><span class="pre">http://127.0.0.1:4001</span></code> which is the same thing. You should get your Evennia web site and be able to
play the game in the web client. Also check so that you can connect with a mud client to host
<code class="docutils literal notranslate"><span class="pre">localhost</span></code>, port <code class="docutils literal notranslate"><span class="pre">4000</span></code> or host <code class="docutils literal notranslate"><span class="pre">127.0.0.1</span></code>, port <code class="docutils literal notranslate"><span class="pre">4000</span></code>.</p></li>
<li><p><a class="reference external" href="https://www.google.se/search?q=my+ip">Google for “my ip”</a> or use any online service to figure out
what your “outward-facing” IP address is. For our purposes, lets say your outward-facing IP is
<code class="docutils literal notranslate"><span class="pre">203.0.113.0</span></code>.</p></li>
<li><p>Next try your outward-facing IP by opening <code class="docutils literal notranslate"><span class="pre">http://203.0.113.0:4001</span></code> in a browser. If this works,
thats it! Also try telnet, with the server set to <code class="docutils literal notranslate"><span class="pre">203.0.113.0</span></code> and port <code class="docutils literal notranslate"><span class="pre">4000</span></code>. However, most
likely it will <em>not</em> work. If so, read on.</p></li>
<li><p>If your computer has a firewall, it may be blocking the ports we need (it may also block telnet
overall). If so, you need to open the outward-facing ports to in/out communication. See the
manual/instructions for your firewall software on how to do this. To test you could also temporarily
turn off your firewall entirely to see if that was indeed the problem.</p></li>
<li><p>Another common problem for not being able to connect is that you are using a hardware router
(like a wifi router). The router sits between your computer and the Internet. So the IP you find
with Google is the <em>routers</em> IP, not that of your computer. To resolve this you need to configure
your router to <em>forward</em> data it gets on its ports to the IP and ports of your computer sitting in
your private network. How to do this depends on the make of your router; you usually configure it
using a normal web browser. In the router interface, look for “Port forwarding” or maybe “Virtual
server”. If that doesnt work, try to temporarily wire your computer directly to the Internet outlet
(assuming your computer has the ports for it). Youll need to check for your IP again. If that
works, you know the problem is the router.</p></li>
<li><p>Make sure Evennia is installed and that you have activated the virtualenv. Start the server with <code class="docutils literal notranslate"><span class="pre">evennia</span> <span class="pre">start</span> <span class="pre">--log</span></code>. The <code class="docutils literal notranslate"><span class="pre">--log</span></code> (or <code class="docutils literal notranslate"><span class="pre">-l</span></code>) will make sure that the logs are echoed to the terminal.</p></li>
<li><p>Make sure you can connect with your web browser to <code class="docutils literal notranslate"><span class="pre">http://localhost:4001</span></code> or, alternatively, <code class="docutils literal notranslate"><span class="pre">http://127.0.0.1:4001</span></code> which is the same thing. You should get your Evennia web site and be able to play the game in the web client. Also check so that you can connect with a mud client to host <code class="docutils literal notranslate"><span class="pre">localhost</span></code>, port <code class="docutils literal notranslate"><span class="pre">4000</span></code> or host <code class="docutils literal notranslate"><span class="pre">127.0.0.1</span></code>, port <code class="docutils literal notranslate"><span class="pre">4000</span></code>.</p></li>
<li><p><a class="reference external" href="https://www.google.se/search?q=my+ip">Google for “my ip”</a> or use any online service to figure out what your “outward-facing” IP address is. For our purposes, lets say your outward-facing IP is <code class="docutils literal notranslate"><span class="pre">203.0.113.0</span></code>.</p></li>
<li><p>Next try your outward-facing IP by opening <code class="docutils literal notranslate"><span class="pre">http://203.0.113.0:4001</span></code> in a browser. If this works, thats it! Also try telnet, with the server set to <code class="docutils literal notranslate"><span class="pre">203.0.113.0</span></code> and port <code class="docutils literal notranslate"><span class="pre">4000</span></code>. However, most likely it will <em>not</em> work. If so, read on.</p></li>
<li><p>If your computer has a firewall, it may be blocking the ports we need (it may also block telnet overall). If so, you need to open the outward-facing ports to in/out communication. See the manual/instructions for your firewall software on how to do this. To test you could also temporarily turn off your firewall entirely to see if that was indeed the problem.</p></li>
<li><p>Another common problem for not being able to connect is that you are using a hardware router (like a wifi router). The router sits between your computer and the Internet. So the IP you find with Google is the <em>routers</em> IP, not that of your computer. To resolve this you need to configure your router to <em>forward</em> data it gets on its ports to the IP and ports of your computer sitting in your private network. How to do this depends on the make of your router; you usually configure it using a normal web browser. In the router interface, look for “Port forwarding” or maybe “Virtual server”. If that doesnt work, try to temporarily wire your computer directly to the Internet outlet (assuming your computer has the ports for it). Youll need to check for your IP again. If that works, you know the problem is the router.</p></li>
</ul>
<blockquote>
<div><p>Note: If you need to reconfigure a router, the routers Internet-facing ports do <em>not</em> have to
have to have the same numbers as your computers (and Evennias) ports! For example, you might want
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>If you need to reconfigure a router, the routers Internet-facing ports do <em>not</em> have to have to have the same numbers as your computers (and Evennias) ports! For example, you might want
to connect Evennias outgoing port 4001 to an outgoing router port 80 - this is the port HTTP
requests use and web browsers automatically look for - if you do that you could go to
<code class="docutils literal notranslate"><span class="pre">http://203.0.113.0</span></code> without having to add the port at the end. This would collide with any other
web services you are running through this router though.</p>
</div></blockquote>
</div>
<section id="settings-example">
<h3>Settings example<a class="headerlink" href="#settings-example" title="Permalink to this headline"></a></h3>
<p>You can connect Evennia to the Internet without any changes to your settings. The default settings
@ -336,12 +312,10 @@ as <em>Not yet public</em> and just be a teaser. If so, pick <em>pre-alpha</em>
<p>and follow the instructions. See the <a class="reference internal" href="Evennia-Game-Index.html"><span class="doc std std-doc">Game index page</span></a> for more details.</p>
</section>
</section>
<section id="ssl">
<h2>SSL<a class="headerlink" href="#ssl" title="Permalink to this headline"></a></h2>
<section id="ssl-and-https">
<h2>SSL and HTTPS<a class="headerlink" href="#ssl-and-https" title="Permalink to this headline"></a></h2>
<p>SSL can be very useful for web clients. It will protect the credentials and gameplay of your users
over a web client if they are in a public place, and your websocket can also be switched to WSS for
the same benefit. SSL certificates used to cost money on a yearly basis, but there is now a program
that issues them for free with assisted setup to make the entire process less painful.</p>
over a web client if they are in a public place, and your websocket can also be switched to WSS for the same benefit. SSL certificates used to cost money on a yearly basis, but there is now a program that issues them for free with assisted setup to make the entire process less painful.</p>
<p>Options that may be useful in combination with an SSL proxy:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># See above for the section on Lockdown Mode.</span>
<span class="c1"># Useful for a proxy on the public interface connecting to Evennia on localhost.</span>
@ -375,18 +349,16 @@ or through a TXT record in your DNS. Which one you will want to do is a personal
also be based on your hosting choice. In a controlled/cPanel environment, you will most likely have
to use DNS verification.</p>
</section>
</section>
<section id="relevant-ssl-proxy-setup-information">
<h2>Relevant SSL Proxy Setup Information<a class="headerlink" href="#relevant-ssl-proxy-setup-information" title="Permalink to this headline"></a></h2>
<h3>Relevant SSL Proxy Setup Information<a class="headerlink" href="#relevant-ssl-proxy-setup-information" title="Permalink to this headline"></a></h3>
<ul class="simple">
<li><p><a class="reference internal" href="Apache-Config.html"><span class="doc std std-doc">Apache webserver configuration</span></a> (optional)</p></li>
<li><p><a class="reference internal" href="HAProxy-Config.html"><span class="doc std std-doc">HAProxy Config</span></a></p></li>
</ul>
</section>
<section id="hosting-locally-or-remotely">
<h2>Hosting locally or remotely?<a class="headerlink" href="#hosting-locally-or-remotely" title="Permalink to this headline"></a></h2>
<section id="using-your-own-computer-as-a-server">
<h3>Using your own computer as a server<a class="headerlink" href="#using-your-own-computer-as-a-server" title="Permalink to this headline"></a></h3>
</section>
<section id="hosting-evennia-from-your-own-computer">
<h2>Hosting Evennia from your own computer<a class="headerlink" href="#hosting-evennia-from-your-own-computer" title="Permalink to this headline"></a></h2>
<p>What we showed above is by far the simplest and probably cheapest option: Run Evennia on your own
home computer. Moreover, since Evennia is its own web server, you dont need to install anything
extra to have a website.</p>
@ -414,8 +386,8 @@ tier connection) or you are the subject of legal action by a copyright holder, y
main internet connection terminated as a consequence.</p></li>
</ul>
<section id="setting-up-your-own-machine-as-a-server">
<h4>Setting up your own machine as a server<a class="headerlink" href="#setting-up-your-own-machine-as-a-server" title="Permalink to this headline"></a></h4>
<p><a class="reference internal" href="#connecting-from-the-outside"><span class="std std-doc">The first section</span></a> of this page describes how to do this
<h3>Setting up your own machine as a server<a class="headerlink" href="#setting-up-your-own-machine-as-a-server" title="Permalink to this headline"></a></h3>
<p><span class="xref myst">The first section</span> of this page describes how to do this
and allow users to connect to the IP address of your machine/router.</p>
<p>A complication with using a specific IP address like this is that your home IP might not remain the
same. Many ISPs (Internet Service Providers) allocates a <em>dynamic</em> IP to you which could change at
@ -450,8 +422,8 @@ systems). <code class="docutils literal notranslate"><span class="pre">inadyn</s
command string in a startup script somewhere so it kicks into gear whenever your computer starts.</p>
</section>
</section>
<section id="remote-hosting">
<h3>Remote hosting<a class="headerlink" href="#remote-hosting" title="Permalink to this headline"></a></h3>
<section id="hosting-evennia-on-a-remote-server">
<h2>Hosting Evennia on a remote server<a class="headerlink" href="#hosting-evennia-on-a-remote-server" title="Permalink to this headline"></a></h2>
<p>Your normal “web hotel” will probably not be enough to run Evennia. A web hotel is normally aimed at
a very specific usage - delivering web pages, at the most with some dynamic content. The “Python
scripts” they refer to on their home pages are usually only intended to be CGI-like scripts launched
@ -488,7 +460,7 @@ usage might be limited. Also, if the server people decides to take the server do
you have no choice but to sit it out (but youll hopefully be warned ahead of time).</p></li>
</ul>
<section id="installing-evennia-on-a-remote-server">
<h4>Installing Evennia on a remote server<a class="headerlink" href="#installing-evennia-on-a-remote-server" title="Permalink to this headline"></a></h4>
<h3>Installing Evennia on a remote server<a class="headerlink" href="#installing-evennia-on-a-remote-server" title="Permalink to this headline"></a></h3>
<p>Firstly, if you are familiar with server infrastructure, consider using [Docker](Running-Evennia-in-
Docker) to deploy your game to the remote server; it will likely ease installation and deployment.
Docker images may be a little confusing if you are completely new to them though.</p>
@ -503,8 +475,8 @@ install everything without actually needing to have further <code class="docutil
so make sure you know which ports are available to use and reconfigure Evennia accordingly.</p>
</section>
</section>
<section id="hosting-options">
<h3>Hosting options<a class="headerlink" href="#hosting-options" title="Permalink to this headline"></a></h3>
<section id="hosting-options-and-suggestions">
<h2>Hosting options and suggestions<a class="headerlink" href="#hosting-options-and-suggestions" title="Permalink to this headline"></a></h2>
<p>To find commercial solutions, browse the web for “shell access”, “VPS” or “Cloud services” in your
region. You may find useful offers for “low cost” VPS hosting on <a class="reference external" href="https://lowendbox.com/">Low End Box</a>. The associated
<a class="reference external" href="https://www.lowendtalk.com">Low End Talk</a> forum can be useful for health checking the many small businesses that offer
@ -550,38 +522,36 @@ Evennia users:</p>
<td><p>on demand</p></td>
<td><p>Similar to Amazon. Free 12-month tier with limited regions.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference external" href="https://www.genesismuds.com/">Genesis MUD hosting</a></p></td>
<td><p>Shell account</p></td>
<td><p>$8/month</p></td>
<td><p>Dedicated MUD host with very limited memory offerings. As for 2017, runs a 13 years old Python version (2.4) so youd need to either convince them to update or compile yourself. Note that Evennia needs <em>at least</em> the “Deluxe” package (50MB RAM) and probably <em>a lot</em> higher for a production game. This host is <em>not</em> recommended for Evennia.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference external" href="https://www.host1plus.com/">Host1Plus</a></p></td>
<tr class="row-even"><td><p><a class="reference external" href="https://www.host1plus.com/">Host1Plus</a></p></td>
<td><p>VPS &amp; Cloud</p></td>
<td><p>$4/month</p></td>
<td><p>$4-$8/month depending on length of sign-up period.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference external" href="https://www.scaleway.com/">Scaleway</a></p></td>
<tr class="row-odd"><td><p><a class="reference external" href="https://www.scaleway.com/">Scaleway</a></p></td>
<td><p>Cloud</p></td>
<td><p>€3/month / on-demand</p></td>
<td><p>EU based (Paris, Amsterdam). Smallest option provides 2GB RAM.</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference external" href="https://prgmr.com/">Prgmr</a></p></td>
<tr class="row-even"><td><p><a class="reference external" href="https://prgmr.com/">Prgmr</a></p></td>
<td><p>VPS</p></td>
<td><p>$5/month</p></td>
<td><p>1 month free with a year prepay. You likely want some experience with servers with this option as they dont have a lot of support.</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference external" href="https://www.linode.com/">Linode</a></p></td>
<tr class="row-odd"><td><p><a class="reference external" href="https://www.linode.com/">Linode</a></p></td>
<td><p>Cloud</p></td>
<td><p>$5/month / on-demand</p></td>
<td><p>Multiple regions. Smallest option provides 1GB RAM</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference external" href="https://www.genesismuds.com/">Genesis MUD hosting</a></p></td>
<td><p>Shell account</p></td>
<td><p>$8/month</p></td>
<td><p>Dedicated MUD host with very limited memory offerings. May run very old Python versions. Evennia needs <em>at least</em> the “Deluxe” package (50MB RAM) and probably <em>a lot</em> higher for a production game. While its sometimes mentioned in a MUD context, this host is <em>not</em> recommended for Evennia.</p></td>
</tr>
</tbody>
</table>
<p><em>Please help us expand this list.</em></p>
</section>
</section>
<section id="cloud9">
<h2>Cloud9<a class="headerlink" href="#cloud9" title="Permalink to this headline"></a></h2>
<h3>Cloud9<a class="headerlink" href="#cloud9" title="Permalink to this headline"></a></h3>
<p>If you are interested in running Evennia in the online dev environment <a class="reference external" href="https://c9.io/">Cloud9</a>, you
can spin it up through their normal online setup using the Evennia Linux install instructions. The
one extra thing you will have to do is update <code class="docutils literal notranslate"><span class="pre">mygame/server/conf/settings.py</span></code> and add
@ -592,6 +562,7 @@ service offering. New customers entitled to the 1 year AWS “free tier” may f
sufficient resources to operate a Cloud9 development environment without charge.
<a class="reference external" href="https://aws.amazon.com/cloud9/">https://aws.amazon.com/cloud9/</a></p>
</section>
</section>
</section>

View file

@ -234,11 +234,11 @@
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="Online-Setup.html">Online Setup</a><ul>
<li class="toctree-l2"><a class="reference internal" href="Online-Setup.html#connecting-from-the-outside">Connecting from the outside</a></li>
<li class="toctree-l2"><a class="reference internal" href="Online-Setup.html#ssl">SSL</a></li>
<li class="toctree-l2"><a class="reference internal" href="Online-Setup.html#relevant-ssl-proxy-setup-information">Relevant SSL Proxy Setup Information</a></li>
<li class="toctree-l2"><a class="reference internal" href="Online-Setup.html#hosting-locally-or-remotely">Hosting locally or remotely?</a></li>
<li class="toctree-l2"><a class="reference internal" href="Online-Setup.html#cloud9">Cloud9</a></li>
<li class="toctree-l2"><a class="reference internal" href="Online-Setup.html#connecting-to-evennia-across-the-internet">Connecting to Evennia across the Internet</a></li>
<li class="toctree-l2"><a class="reference internal" href="Online-Setup.html#ssl-and-https">SSL and HTTPS</a></li>
<li class="toctree-l2"><a class="reference internal" href="Online-Setup.html#hosting-evennia-from-your-own-computer">Hosting Evennia from your own computer</a></li>
<li class="toctree-l2"><a class="reference internal" href="Online-Setup.html#hosting-evennia-on-a-remote-server">Hosting Evennia on a remote server</a></li>
<li class="toctree-l2"><a class="reference internal" href="Online-Setup.html#hosting-options-and-suggestions">Hosting options and suggestions</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="Security.html">Security</a><ul>