<p>Evennia will by default accept incoming connections on all interfaces (<codeclass="docutils literal notranslate"><spanclass="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
<li><p>Make sure Evennia is installed and that you have activated the virtualenv. Start the server with
<codeclass="docutils literal notranslate"><spanclass="pre">evennia</span><spanclass="pre">start</span><spanclass="pre">--log</span></code>. The <codeclass="docutils literal notranslate"><spanclass="pre">--log</span></code> (or <codeclass="docutils literal notranslate"><spanclass="pre">-l</span></code>) will make sure that the logs are echoed to the
<div><p>Note: If you need to close the log-view, use <codeclass="docutils literal notranslate"><spanclass="pre">Ctrl-C</span></code>. Use just <codeclass="docutils literal notranslate"><spanclass="pre">evennia</span><spanclass="pre">--log</span></code> on its own to
<li><p>Make sure you can connect with your web browser to <codeclass="docutils literal notranslate"><spanclass="pre">http://localhost:4001</span></code> or, alternatively,
<codeclass="docutils literal notranslate"><spanclass="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
<li><p>Next try your outward-facing IP by opening <codeclass="docutils literal notranslate"><spanclass="pre">http://203.0.113.0:4001</span></code> in a browser. If this works,
that’s it! Also try telnet, with the server set to <codeclass="docutils literal notranslate"><spanclass="pre">203.0.113.0</span></code> and port <codeclass="docutils literal notranslate"><spanclass="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>router’s</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 doesn’t work, try to temporarily wire your computer directly to the Internet outlet
(assuming your computer has the ports for it). You’ll need to check for your IP again. If that
works, you know the problem is the router.</p></li>
<div><p>Note: If you need to reconfigure a router, the router’s Internet-facing ports do <em>not</em> have to
have to have the same numbers as your computer’s (and Evennia’s) ports! For example, you might want
to connect Evennia’s 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
<codeclass="docutils literal notranslate"><spanclass="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>
<aclass="reference internal"href="Server-Conf.html#settings-file"><spanclass="std std-doc">settings file</span></a>. To have Evennia recognize changed port settings you have
to do a full <codeclass="docutils literal notranslate"><spanclass="pre">evennia</span><spanclass="pre">reboot</span></code> to also restart the Portal and not just the Server component.</p>
<p>Below is an example of a simple set of settings, mostly using the defaults. Evennia will require
access to five computer ports, of which three (only) should be open to the outside world. Below we
continue to assume that our server address is <codeclass="docutils literal notranslate"><spanclass="pre">203.0.113.0</span></code>.</p>
<p>The <codeclass="docutils literal notranslate"><spanclass="pre">TELNET_*</span></code> settings are the most important ones for getting a traditional base game going. Which
IP addresses you have available depends on your server hosting solution (see the next sections).
Some hosts will restrict which ports you are allowed you use so make sure to check.</p>
<p>The web server is always configured with two ports at a time. The <em>outgoing</em> port (<codeclass="docutils literal notranslate"><spanclass="pre">4001</span></code> by
default) is the port external connections can use. If you don’t want users to have to specify the
port when they connect, you should set this to <codeclass="docutils literal notranslate"><spanclass="pre">80</span></code> - this however only works if you are not running
any other web server on the machine.
The <em>internal</em> port (<codeclass="docutils literal notranslate"><spanclass="pre">4005</span></code> by default) is used internally by Evennia to communicate between the
Server and the Portal. It should not be available to the outside world. You usually only need to
change the outgoing port unless the default internal port is clashing with some other program.</p>
<divclass="highlight-python notranslate"><divclass="highlight"><pre><span></span><spanclass="c1"># Required. Change this to the main IP address of your server.</span>
<divclass="highlight-python notranslate"><divclass="highlight"><pre><span></span><spanclass="c1"># Optional public facing. Only allows SSL connections (off by default).</span>
<p>The <codeclass="docutils literal notranslate"><spanclass="pre">AMP_PORT</span></code> is required to work, since this is the internal port linking Evennia’s
<aclass="reference internal"href="../Components/Portal-And-Server.html"><spanclass="doc std std-doc">Server and Portal</span></a> components together. The other ports are encrypted ports that may be
<p>When you test things out and check configurations you may not want players to drop in on you.
Similarly, if you are doing maintenance on a live game you may want to take it offline for a while
to fix eventual problems without risking people connecting. To do this, stop the server with
<codeclass="docutils literal notranslate"><spanclass="pre">evennia</span><spanclass="pre">stop</span></code> and add <codeclass="docutils literal notranslate"><spanclass="pre">LOCKDOWN_MODE</span><spanclass="pre">=</span><spanclass="pre">True</span></code> to your settings file. When you start the server
again, your game will only be accessible from localhost.</p>
<h3>Registering with the Evennia game directory<aclass="headerlink"href="#registering-with-the-evennia-game-directory"title="Permalink to this headline">¶</a></h3>
<p>and follow the instructions. See the <aclass="reference internal"href="Evennia-Game-Index.html"><spanclass="doc std std-doc">Game index page</span></a> for more details.</p>
<p>[A blog where someone sets up Let’s Encrypt](<aclass="reference external"href="https://www.digitalocean.com/community/tutorials/how-">https://www.digitalocean.com/community/tutorials/how-</a>
<h4>Setting up your own machine as a server<aclass="headerlink"href="#setting-up-your-own-machine-as-a-server"title="Permalink to this headline">¶</a></h4>
<p><aclass="reference internal"href="#connecting-from-the-outside"><spanclass="std std-doc">The first section</span></a> of this page describes how to do this
of thousands domain names that people have “donated” to allow you to use for your own sub domain.
For example, <codeclass="docutils literal notranslate"><spanclass="pre">strangled.net</span></code> is one of those available domains. So tying our IP address to
<codeclass="docutils literal notranslate"><spanclass="pre">strangled.net</span></code> using the subdomain <codeclass="docutils literal notranslate"><spanclass="pre">evennia</span></code> would mean that one could henceforth direct people to
<codeclass="docutils literal notranslate"><spanclass="pre">http://evennia.strangled.net:4001</span></code> for their gaming needs - far easier to remember!</p></li>
<li><p>So how do we make this new, nice domain name follow us also if our IP changes? For this we need
to set up a little program on our computer. It will check whenever our ISP decides to change our IP
and tell FreeDNS that. There are many alternatives to be found from FreeDNS:s homepage, one that
works on multiple platforms is <aclass="reference external"href="http://www.inatech.eu/inadyn/">inadyn</a>. Get it from their page or,
in Linux, through something like <codeclass="docutils literal notranslate"><spanclass="pre">apt-get</span><spanclass="pre">install</span><spanclass="pre">inadyn</span></code>.</p></li>
<li><p>Next, you login to your account on FreeDNS and go to the
the <codeclass="docutils literal notranslate"><spanclass="pre">Direct</span><spanclass="pre">URL</span></code> link and you’ll get a page with a text message. Ignore that and look at the URL of
the page. It should be ending in a lot of random letters. Everything after the question mark is your
<p>where <codeclass="docutils literal notranslate"><spanclass="pre"><my.domain></span></code> would be <codeclass="docutils literal notranslate"><spanclass="pre">evennia.strangled.net</span></code> and <codeclass="docutils literal notranslate"><spanclass="pre"><hash></span></code> the string of numbers we copied
from FreeDNS. The <codeclass="docutils literal notranslate"><spanclass="pre">&</span></code> means we run in the background (might not be valid in other operating
systems). <codeclass="docutils literal notranslate"><spanclass="pre">inadyn</span></code> will henceforth check for changes every 60 seconds. You should put the <codeclass="docutils literal notranslate"><spanclass="pre">inadyn</span></code>
command string in a startup script somewhere so it kicks into gear whenever your computer starts.</p>
<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
by their webserver. Even if they allow you shell access (so you can install the Evennia dependencies
in the first place), resource usage will likely be very restricted. Running a full-fledged game
server like Evennia will probably be shunned upon or be outright impossible. If you are unsure,
contact your web hotel and ask about their policy on you running third-party servers that will want
to open custom ports.</p>
<p>The options you probably need to look for are <em>shell account services</em>, <em>VPS:es</em> or <em>Cloud
services</em>. A “Shell account” service means that you get a shell account on a server and can log in
like any normal user. By contrast, a <em>VPS</em> (Virtual Private Server) service usually means that you
get <codeclass="docutils literal notranslate"><spanclass="pre">root</span></code> access, but in a virtual machine. There are also <em>Cloud</em>-type services which allows for
starting up multiple virtual machines and pay for what resources you use.</p>
<li><p>May have the ability to easily deploy <aclass="reference internal"href="Installation-Docker.html"><spanclass="doc std std-doc">docker</span></a> versions of evennia
<h4>Installing Evennia on a remote server<aclass="headerlink"href="#installing-evennia-on-a-remote-server"title="Permalink to this headline">¶</a></h4>
be able to follow the <aclass="reference internal"href="Installation.html"><spanclass="doc std std-doc">Setup Quickstart</span></a> instructions normally. You only need Python
and GIT pre-installed; these should both be available on any servers (if not you should be able to
easily ask for them to be installed). On a VPS or Cloud service you can install them yourself as
needed.</p>
<p>If <codeclass="docutils literal notranslate"><spanclass="pre">virtualenv</span></code> is not available and you can’t get it, you can download it (it’s just a single file)
from <aclass="reference external"href="https://pypi.python.org/pypi/virtualenv">the virtualenv pypi</a>. Using <codeclass="docutils literal notranslate"><spanclass="pre">virtualenv</span></code> you can
install everything without actually needing to have further <codeclass="docutils literal notranslate"><spanclass="pre">root</span></code> access. Ports might be an issue,
so make sure you know which ports are available to use and reconfigure Evennia accordingly.</p>
region. You may find useful offers for “low cost” VPS hosting on <aclass="reference external"href="https://lowendbox.com/">Low End Box</a>. The associated
<aclass="reference external"href="https://www.lowendtalk.com">Low End Talk</a> forum can be useful for health checking the many small businesses that offer
<td><p>Private hobby provider so don’t assume backups or expect immediate support. To ask for an account, connect with a MUD client to <aclass="reference external"href="http://rostdev.mushpark.com">rostdev.mushpark.com</a>, port 4201 and ask for “Jarin”.</p></td>
<td><p>You can get a $50 credit if you use the referral link <aclass="reference external"href="https://m.do.co/c/8f64fec2670c">https://m.do.co/c/8f64fec2670c</a> - if you do, once you’ve had it long enough to have paid $25 we will get that as a referral bonus to help Evennia development.</p></td>
</tr>
<trclass="row-even"><td><p><aclass="reference external"href="https://aws.amazon.com/pricing/">Amazon Web services</a></p></td>
<td><p>Cloud</p></td>
<td><p>~$5/month / on-demand</p></td>
<td><p>Free Tier first 12 months. Regions available around the globe.</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 you’d 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>
<p>If you are interested in running Evennia in the online dev environment <aclass="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 <codeclass="docutils literal notranslate"><spanclass="pre">mygame/server/conf/settings.py</span></code> and add
<codeclass="docutils literal notranslate"><spanclass="pre">WEBSERVER_PORTS</span><spanclass="pre">=</span><spanclass="pre">[(8080,</span><spanclass="pre">4001)]</span></code>. This will then let you access the web server and do everything
else as normal.</p>
<p>Note that, as of December 2017, Cloud9 was re-released by Amazon as a service within their AWS cloud
service offering. New customers entitled to the 1 year AWS “free tier” may find it provides
sufficient resources to operate a Cloud9 development environment without charge.