evennia/docs/2.x/Howtos/Tutorial-Using-Arxcode.html

373 lines
27 KiB
HTML
Raw Normal View History

<!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/" />
2023-10-19 20:22:27 +00:00
<title>Using the Arxcode game dir &#8212; Evennia 2.x 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>
<link rel="shortcut icon" href="../_static/favicon.ico"/>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
2022-11-21 23:18:31 +00:00
<link rel="next" title="Implementing a game rule system" href="Implementing-a-game-rule-system.html" />
<link rel="prev" title="Evennia for MUSH Users" href="Evennia-for-MUSH-Users.html" />
</head><body>
2023-10-19 20:22:27 +00:00
<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="right" >
2022-11-21 23:18:31 +00:00
<a href="Implementing-a-game-rule-system.html" title="Implementing a game rule system"
accesskey="N">next</a> |</li>
<li class="right" >
2022-11-21 23:18:31 +00:00
<a href="Evennia-for-MUSH-Users.html" title="Evennia for MUSH Users"
accesskey="P">previous</a> |</li>
2023-10-19 20:22:27 +00:00
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 2.x</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="Howtos-Overview.html" accesskey="U">Tutorials and How-Tos</a> &#187;</li>
2022-11-23 20:20:36 +00:00
<li class="nav-item nav-item-this"><a href="">Using the Arxcode game dir</a></li>
</ul>
2023-06-10 08:53:19 +00:00
</div>
<div class="document">
<div class="documentwrapper">
<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>
<h3><a href="../index.html">Table of Contents</a></h3>
<ul>
2022-11-23 20:20:36 +00:00
<li><a class="reference internal" href="#">Using the Arxcode game dir</a><ul>
<li><a class="reference internal" href="#installing-evennia">Installing Evennia</a></li>
<li><a class="reference internal" href="#installing-arxcode">Installing Arxcode</a><ul>
<li><a class="reference internal" href="#clean-up-settings">Clean up settings</a></li>
<li><a class="reference internal" href="#install-arx-dependencies">Install Arx dependencies</a></li>
<li><a class="reference internal" href="#adding-logs-folder">Adding logs/ folder</a></li>
<li><a class="reference internal" href="#setting-up-the-database-and-starting">Setting up the database and starting</a></li>
<li><a class="reference internal" href="#additional-setup-steps">Additional Setup Steps</a></li>
</ul>
</li>
<li><a class="reference internal" href="#alternate-windows-install-guide">Alternate Windows install guide</a></li>
</ul>
</li>
</ul>
<h4>Previous topic</h4>
2022-11-21 23:18:31 +00:00
<p class="topless"><a href="Evennia-for-MUSH-Users.html"
title="previous chapter">Evennia for MUSH Users</a></p>
<h4>Next topic</h4>
2022-11-21 23:18:31 +00:00
<p class="topless"><a href="Implementing-a-game-rule-system.html"
title="next chapter">Implementing a game rule system</a></p>
<div role="note" aria-label="source link">
<!--h3>This Page</h3-->
<ul class="this-page-menu">
2022-11-23 20:20:36 +00:00
<li><a href="../_sources/Howtos/Tutorial-Using-Arxcode.md.txt"
rel="nofollow">Show Page Source</a></li>
</ul>
</div><h3>Links</h3>
<ul>
2023-10-19 20:22:27 +00:00
<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>
2023-10-19 20:22:27 +00:00
<h3>Doc Versions</h3>
<ul>
2023-10-19 20:22:27 +00:00
<li><a href="Tutorial-Using-Arxcode.html">2.x (main branch)</a></li>
2022-11-15 20:29:38 +00:00
<ul>
2023-10-19 20:22:27 +00:00
<li><a href="../1.3.0/index.html">1.3.0 (v1.3.0 branch)</a></li>
<li><a href="../0.9.5/index.html">0.9.5 (v0.9.5 branch)</a></li>
2022-11-15 20:29:38 +00:00
</ul>
</div>
</div>
<div class="bodywrapper">
<div class="body" role="main">
2022-11-23 20:20:36 +00:00
<section class="tex2jax_ignore mathjax_ignore" id="using-the-arxcode-game-dir">
<h1>Using the Arxcode game dir<a class="headerlink" href="#using-the-arxcode-game-dir" title="Permalink to this headline"></a></h1>
2022-11-21 23:18:31 +00:00
<div class="admonition warning">
<p class="admonition-title">Warning</p>
<p>Arxcode is separately maintained.</p>
<p>While Arxcode uses Evennia, it is <em>not</em> part of Evennia itself; we include this documentation only as a service to users. Also, while Arxcode is still actively maintained (2022), these instructions are based on the Arx-code released as of <em>Aug 12, 2018</em>. They will probably not work 100% out of the box anymore.</p>
<p>Arxcode bugs should be directed to <a class="reference external" href="https://github.com/Arx-Game/arxcode/issues">the Arxcode github issue tracker</a>.</p>
</div>
<p><a class="reference external" href="https://play.arxmush.org/">Arx - After the Reckoning</a> is a big and very popular <a class="reference external" href="https://www.evennia.com">Evennia</a>-based game. Arx is heavily roleplaying-centric, relying on game masters to drive the story. Technically its maybe best described as “a MUSH, but with more coded systems”. In August of 2018, the games developer, Tehom, generously released the <a class="reference external" href="https://github.com/Arx-Game/arxcode">source code of Arx on github</a>. This is a treasure-trove for developers wanting to pick ideas or even get a starting game to build on.</p>
<p>Its not too hard to run Arx from the sources (of course youll start with an empty database) but
since part of Arx has grown organically, it doesnt follow standard Evennia paradigms everywhere.
2022-11-21 23:18:31 +00:00
This page covers one take on installing and setting things up while making your new Arx-based game better match with the vanilla Evennia install.</p>
<section id="installing-evennia">
<h2>Installing Evennia<a class="headerlink" href="#installing-evennia" title="Permalink to this headline"></a></h2>
<p>Firstly, set aside a folder/directory on your drive for everything to follow.</p>
2022-11-21 23:18:31 +00:00
<p>You need to start by installing <a class="reference external" href="https://www.evennia.com">Evennia</a> by following most of the <a class="reference internal" href="../Setup/Installation-Git.html"><span class="doc std std-doc">Git-installation instructions</span></a> for your OS. The difference is that instead of cloning from upstream Evennia, you should do</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>git clone https://github.com/TehomCD/evennia.git
</pre></div>
</div>
<p>This is because Arx uses TehomCDs older Evennia 0.8 <a class="reference external" href="https://github.com/TehomCD/evennia">fork</a>, notably still using Python2. This detail is important if referring to newer Evennia documentation.</p>
<p>If you are new to Evennia its <em>highly</em> recommended that you run through the normal install instructions in full - including initializing and starting a new empty game and connecting to it.
That way you can be sure Evennia works correctly as a baseline.</p>
2022-11-21 23:18:31 +00:00
<p>After installing you should have a <code class="docutils literal notranslate"><span class="pre">virtualenv</span></code> running and you should have the following file structure in your set-aside folder:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">muddev</span><span class="o">/</span>
<span class="n">vienv</span><span class="o">/</span>
<span class="n">evennia</span><span class="o">/</span>
<span class="n">mygame</span><span class="o">/</span>
</pre></div>
</div>
<p>Here <code class="docutils literal notranslate"><span class="pre">mygame</span></code> is the empty game you created during the Evennia install, with <code class="docutils literal notranslate"><span class="pre">evennia</span> <span class="pre">--init</span></code>. Go to
that and run <code class="docutils literal notranslate"><span class="pre">evennia</span> <span class="pre">stop</span></code> to make sure your empty game is not running. Well instead let Evenna
run Arx, so in principle you could erase <code class="docutils literal notranslate"><span class="pre">mygame</span></code> - but it could also be good to have a clean game
to compare to.</p>
</section>
<section id="installing-arxcode">
<h2>Installing Arxcode<a class="headerlink" href="#installing-arxcode" title="Permalink to this headline"></a></h2>
<p><code class="docutils literal notranslate"><span class="pre">cd</span></code> to the root of your directory and clone the released source code from github:</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>git clone https://github.com/Arx-Game/arxcode.git myarx
</pre></div>
</div>
<p>A new folder <code class="docutils literal notranslate"><span class="pre">myarx</span></code> should appear next to the ones you already had. You could rename this to
something else if you want.</p>
2022-11-21 23:18:31 +00:00
<p><code class="docutils literal notranslate"><span class="pre">cd</span></code> into <code class="docutils literal notranslate"><span class="pre">myarx</span></code>. If you wonder about the structure of the game dir, you can <a class="reference internal" href="Beginner-Tutorial/Part1/Beginner-Tutorial-Gamedir-Overview.html"><span class="doc std std-doc">read more about it here</span></a>.</p>
<section id="clean-up-settings">
<h3>Clean up settings<a class="headerlink" href="#clean-up-settings" title="Permalink to this headline"></a></h3>
<p>Arx has split evennias normal settings into <code class="docutils literal notranslate"><span class="pre">base_settings.py</span></code> and <code class="docutils literal notranslate"><span class="pre">production_settings.py</span></code>. It
also has its own solution for managing secret parts of the settings file. Well keep most of Arx
way but well remove the secret-handling and replace it with the normal Evennia method.</p>
<p><code class="docutils literal notranslate"><span class="pre">cd</span></code> into <code class="docutils literal notranslate"><span class="pre">myarx/server/conf/</span></code> and open the file <code class="docutils literal notranslate"><span class="pre">settings.py</span></code> in a text editor. The top part (within
<code class="docutils literal notranslate"><span class="pre">&quot;&quot;&quot;...&quot;&quot;&quot;</span></code>) is just help text. Wipe everything underneath that and make it look like this instead
(dont forget to save):</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">base_settings</span> <span class="kn">import</span> <span class="o">*</span>
<span class="n">TELNET_PORTS</span> <span class="o">=</span> <span class="p">[</span><span class="mi">4000</span><span class="p">]</span>
<span class="n">SERVERNAME</span> <span class="o">=</span> <span class="s2">&quot;MyArx&quot;</span>
<span class="n">GAME_SLOGAN</span> <span class="o">=</span> <span class="s2">&quot;The cool game&quot;</span>
<span class="k">try</span><span class="p">:</span>
<span class="kn">from</span> <span class="nn">server.conf.secret_settings</span> <span class="kn">import</span> <span class="o">*</span>
<span class="k">except</span> <span class="ne">ImportError</span><span class="p">:</span>
<span class="nb">print</span><span class="p">(</span><span class="s2">&quot;secret_settings.py file not found or failed to import.&quot;</span><span class="p">)</span>
</pre></div>
</div>
<blockquote>
2022-11-21 23:18:31 +00:00
<div><p>Note: Indents and capitalization matter in Python. Make indents 4 spaces (not tabs) for your own sanity. If you want a starter on Python in Evennia, [you can look here](Beginner-Tutorial-Python-basic- introduction).</p>
</div></blockquote>
2022-11-21 23:18:31 +00:00
<p>This will import Arx base settings and override them with the Evennia-default telnet port and give the game a name. The slogan changes the sub-text shown under the name of your game in the website header. You can tweak these to your own liking later.</p>
<p>Next, create a new, empty file <code class="docutils literal notranslate"><span class="pre">secret_settings.py</span></code> in the same location as the <code class="docutils literal notranslate"><span class="pre">settings.py</span></code> file.
This can just contain the following:</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">SECRET_KEY</span> <span class="o">=</span> <span class="s2">&quot;sefsefiwwj3 jnwidufhjw4545_oifej whewiu hwejfpoiwjrpw09&amp;4er43233fwefwfw&quot;</span>
</pre></div>
</div>
2022-11-21 23:18:31 +00:00
<p>Replace the long random string with random ASCII characters of your own. The secret key should not be shared.</p>
<p>Next, open <code class="docutils literal notranslate"><span class="pre">myarx/server/conf/base_settings.py</span></code> in your text editor. We want to remove/comment out all mentions of the <code class="docutils literal notranslate"><span class="pre">decouple</span></code> package, which Evennia doesnt use (we use <code class="docutils literal notranslate"><span class="pre">private_settings.py</span></code> to hide away settings that should not be shared).</p>
<p>Comment out <code class="docutils literal notranslate"><span class="pre">from</span> <span class="pre">decouple</span> <span class="pre">import</span> <span class="pre">config</span></code> by adding a <code class="docutils literal notranslate"><span class="pre">#</span></code> to the start of the line: <code class="docutils literal notranslate"><span class="pre">#</span> <span class="pre">from</span> <span class="pre">decouple</span> <span class="pre">import</span> <span class="pre">config</span></code>. Then search for <code class="docutils literal notranslate"><span class="pre">config(</span></code> in the file and comment out all lines where this is used. Many of these are specific to the server environment where the original Arx runs, so is not that relevant to us.</p>
</section>
<section id="install-arx-dependencies">
<h3>Install Arx dependencies<a class="headerlink" href="#install-arx-dependencies" title="Permalink to this headline"></a></h3>
<p>Arx has some further dependencies beyond vanilla Evennia. Start by <code class="docutils literal notranslate"><span class="pre">cd</span></code>:ing to the root of your
<code class="docutils literal notranslate"><span class="pre">myarx</span></code> folder.</p>
<blockquote>
<div><p>If you run <em>Linux</em> or <em>Mac</em>: Edit <code class="docutils literal notranslate"><span class="pre">myarx/requirements.txt</span></code> and comment out the line
<code class="docutils literal notranslate"><span class="pre">pypiwin32==219</span></code> - its only needed on Windows and will give an error on other platforms.</p>
</div></blockquote>
<p>Make sure your <code class="docutils literal notranslate"><span class="pre">virtualenv</span></code> is active, then run</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>pip install -r requirements.txt
</pre></div>
</div>
<p>The needed Python packages will be installed for you.</p>
</section>
<section id="adding-logs-folder">
<h3>Adding logs/ folder<a class="headerlink" href="#adding-logs-folder" title="Permalink to this headline"></a></h3>
<p>The Arx repo does not contain the <code class="docutils literal notranslate"><span class="pre">myarx/server/logs/</span></code> folder Evennia expects for storing server
logs. This is simple to add:</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span># linux/mac
mkdir server/logs
# windows
mkdir server\logs
</pre></div>
</div>
</section>
<section id="setting-up-the-database-and-starting">
<h3>Setting up the database and starting<a class="headerlink" href="#setting-up-the-database-and-starting" title="Permalink to this headline"></a></h3>
<p>From the <code class="docutils literal notranslate"><span class="pre">myarx</span></code> folder, run</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>evennia migrate
</pre></div>
</div>
<p>This creates the database and will step through all database migrations needed.</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>evennia start
</pre></div>
</div>
2022-11-21 23:18:31 +00:00
<p>If all goes well Evennia will now start up, running Arx! You can connect to it on <code class="docutils literal notranslate"><span class="pre">localhost</span></code> (or <code class="docutils literal notranslate"><span class="pre">127.0.0.1</span></code> if your platform doesnt alias <code class="docutils literal notranslate"><span class="pre">localhost</span></code>), port <code class="docutils literal notranslate"><span class="pre">4000</span></code> using a Telnet client. Alternatively, you can use your web browser to browse to <code class="docutils literal notranslate"><span class="pre">http://localhost:4001</span></code> to see the games website and get to the web client.</p>
<p>When you log in youll get the standard Evennia greeting (since the database is empty), but you can
try <code class="docutils literal notranslate"><span class="pre">help</span></code> to see that its indeed Arx that is running.</p>
</section>
<section id="additional-setup-steps">
<h3>Additional Setup Steps<a class="headerlink" href="#additional-setup-steps" title="Permalink to this headline"></a></h3>
<p>The first time you start Evennia after creating the database with the <code class="docutils literal notranslate"><span class="pre">evennia</span> <span class="pre">migrate</span></code> step above,
it should create a few starting objects for you - your superuser account, which it will prompt you
to enter, a starting room (Limbo), and a character object for you. If for some reason this does not
occur, you may have to follow the steps below. For the first time Superuser login you may have to
run steps 7-8 and 10 to create and connect to your in-came Character.</p>
<ol class="simple">
<li><p>Login to the game website with your Superuser account.</p></li>
<li><p>Press the <code class="docutils literal notranslate"><span class="pre">Admin</span></code> button to get into the (Django-) Admin Interface.</p></li>
<li><p>Navigate to the <code class="docutils literal notranslate"><span class="pre">Accounts</span></code> section.</p></li>
<li><p>Add a new Account named for the new staffer. Use a place holder password and dummy e-mail
address.</p></li>
2022-11-21 23:18:31 +00:00
<li><p>Flag account as <code class="docutils literal notranslate"><span class="pre">Staff</span></code> and apply the <code class="docutils literal notranslate"><span class="pre">Admin</span></code> permission group (This assumes you have already set up an Admin Group in Django).</p></li>
<li><p>Add Tags named <code class="docutils literal notranslate"><span class="pre">player</span></code> and <code class="docutils literal notranslate"><span class="pre">developer</span></code>.</p></li>
2022-11-21 23:18:31 +00:00
<li><p>Log into the game using the web client (or a third-party telnet client) using your superuser account. Move to where you want the new staffer character to appear.</p></li>
<li><p>In the game client, run <code class="docutils literal notranslate"><span class="pre">&#64;create/drop</span> <span class="pre">&lt;staffername&gt;:typeclasses.characters.Character</span></code>, where <code class="docutils literal notranslate"><span class="pre">&lt;staffername&gt;</span></code> is usually the same name you used for the Staffer account you created in the Admin earlier (if you are creating a Character for your superuser, use your superuser account name). This creates a new in-game Character and places it in your current location.</p></li>
<li><p>Have the new Admin player log into the game.</p></li>
<li><p>Have the new Admin puppet the character with <code class="docutils literal notranslate"><span class="pre">&#64;ic</span> <span class="pre">StafferName</span></code>.</p></li>
<li><p>Have the new Admin change their password - <code class="docutils literal notranslate"><span class="pre">&#64;password</span> <span class="pre">&lt;old</span> <span class="pre">password&gt;</span> <span class="pre">=</span> <span class="pre">&lt;new</span> <span class="pre">password&gt;</span></code>.</p></li>
</ol>
2022-11-21 23:18:31 +00:00
<p>Now that you have a Character and an Account object, theres a few additional things you may need to do in order for some commands to function properly. You can either execute these as in-game commands while <code class="docutils literal notranslate"><span class="pre">ic</span></code> (controlling your character object).</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>py from web.character.models import RosterEntry;RosterEntry.objects.create(player=self.player, character=self)
py from world.dominion.models import PlayerOrNpc, AssetOwner;dompc = PlayerOrNpc.objects.create(player=self.player);AssetOwner.objects.create(player=dompc)
</pre></div>
</div>
<p>Those steps will give you RosterEntry, PlayerOrNpc, and AssetOwner objects. RosterEntry
explicitly connects a character and account object together, even while offline, and contains
additional information about a characters current presence in game (such as which roster theyre
2022-11-21 23:18:31 +00:00
in, if you choose to use an active roster of characters). PlayerOrNpc are more character extensions, as well as support for npcs with no in-game presence and just represented by a name which can be offscreen members of a characters family. It also allows for membership in Organizations. AssetOwner holds information about a character or organizations money and resources.</p>
</section>
</section>
<section id="alternate-windows-install-guide">
<h2>Alternate Windows install guide<a class="headerlink" href="#alternate-windows-install-guide" title="Permalink to this headline"></a></h2>
<p><em>Contributed by Pax</em></p>
2022-11-21 23:18:31 +00:00
<p>If for some reason you cannot use the Windows Subsystem for Linux (which would use instructions identical to the ones above), its possible to get Evennia/Arx running under Anaconda for Windows. The process is a little bit trickier.</p>
<p>Make sure you have:</p>
2022-11-21 23:18:31 +00:00
<ul>
<li><p>Git for Windows <a class="reference external" href="https://git-scm.com/download/win">https://git-scm.com/download/win</a></p></li>
<li><p>Anaconda for Windows <a class="reference external" href="https://www.anaconda.com/distribution/">https://www.anaconda.com/distribution/</a></p></li>
2022-11-21 23:18:31 +00:00
<li><p>VC++ Compiler for Python 2.7 <a class="reference external" href="https://aka.ms/vcpython27">https://aka.ms/vcpython27</a></p>
<p>conda update conda
conda create -n arx python=2.7
source activate arx</p>
2022-11-21 23:18:31 +00:00
</li>
</ul>
<p>Set up a convenient repository place for things.</p>
2022-11-21 23:18:31 +00:00
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>cd ~
mkdir Source
cd Source
mkdir Arx
2022-11-21 23:18:31 +00:00
cd Arx
</pre></div>
</div>
<p>Replace the SSH git clone links below with your own github forks.
If you dont plan to change Evennia at all, you can use the
evennia/evennia.git repo instead of a forked one.</p>
2022-11-21 23:18:31 +00:00
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>git clone git@github.com:&lt;youruser&gt;/evennia.git
git clone git@github.com:&lt;youruser&gt;/arxcode.git
</pre></div>
</div>
<p>Evennia is a package itself, so we want to install it and all of its
prerequisites, after switching to the appropriately-tagged branch for
Arxcode.</p>
2022-11-21 23:18:31 +00:00
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>cd evennia
git checkout tags/v0.7 -b arx-master
2022-11-21 23:18:31 +00:00
pip install -e .
</pre></div>
</div>
<p>Arx has some dependencies of its own, so now well go install them
As it is not a package, well use the normal requirements file.</p>
2022-11-21 23:18:31 +00:00
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>cd ../arxcode
pip install -r requirements.txt
</pre></div>
</div>
<p>The git repo doesnt include the empty log directory and Evennia is unhappy if you
dont have it, so while still in the arxcode directory…</p>
2022-11-21 23:18:31 +00:00
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>mkdir server/logs
</pre></div>
</div>
<p>Now hit <a class="reference external" href="https://github.com/evennia/evennia/wiki/Arxcode-installing-help">https://github.com/evennia/evennia/wiki/Arxcode-installing-help</a> and
change the setup stuff as in the Clean up settings section.</p>
<p>Then we will create our default database…</p>
2022-11-21 23:18:31 +00:00
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>../evennia/bin/windows/evennia.bat migrate
</pre></div>
</div>
<p>…and do the first run. You need winpty because Windows does not have a TTY/PTY
by default, and so the Python console input commands (used for prompts on first
run) will fail and you will end up in an unhappy place. Future runs, you should
not need winpty.</p>
2022-11-21 23:18:31 +00:00
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>winpty ../evennia/bin/windows/evennia.bat start
</pre></div>
</div>
<p>Once this is done, you should have your Evennia server running Arxcode up
2022-11-21 23:18:31 +00:00
on localhost at port 4000, and the webserver at <a class="reference external" href="http://localhost:4001/">http://localhost:4001/</a>.</p>
</section>
</section>
</div>
</div>
</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="right" >
2022-11-21 23:18:31 +00:00
<a href="Implementing-a-game-rule-system.html" title="Implementing a game rule system"
>next</a> |</li>
<li class="right" >
2022-11-21 23:18:31 +00:00
<a href="Evennia-for-MUSH-Users.html" title="Evennia for MUSH Users"
>previous</a> |</li>
2023-10-19 20:22:27 +00:00
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 2.x</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="Howtos-Overview.html" >Tutorials and How-Tos</a> &#187;</li>
2022-11-23 20:20:36 +00:00
<li class="nav-item nav-item-this"><a href="">Using the Arxcode game dir</a></li>
</ul>
</div>
2023-10-19 20:22:27 +00:00
<div class="footer" role="contentinfo">
2023-10-19 20:22:27 +00:00
&#169; Copyright 2023, The Evennia developer community.
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
</div>
</body>
</html>