evennia/index.html
2020-10-28 21:43:50 +01:00

235 lines
10 KiB
HTML

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<title>Evennia Python MUD/MU creation system</title>
<link rel="shortcut icon" type="image/x-icon" href="images/favicon.ico">
<link rel="stylesheet" href="stylesheets/styles.css">
<link rel="stylesheet" href="stylesheets/pygment_trac.css">
<link href='https://fonts.googleapis.com/css?family=Open Sans' rel='stylesheet'>
<link href='https://fonts.googleapis.com/css?family=Arvo' rel='stylesheet'>
<script src="javascripts/scale.fix.js"></script>
<script src="javascripts/newsfeed.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<meta name="description" content="Evennia is a modern Python library and server for creating text-based
multi-player games and virtual worlds (also known as MUD, MUSH, MU, MUX, MUCK, etc).
While Evennia handles all the necessary things every online game needs, like database and
networking, you create the game of your dreams by writing normal Python modules.">
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</head>
<body>
<div class="wrapper">
<header>
<p>
<img class="logo" src="images/evennia_logo.png" alt="Evennia logo">
</p>
<h1 class="header">Evennia</h1>
<p class="header header-text">The Python MU* Development Library</p>
<div class="linksection">
<ul>
<li><a class="buttons github" href="https://github.com/evennia/evennia">View On GitHub</a></li>
<li class="documentation"><a class="buttons" href="docs/latest/index.html">Documentation</a></li>
<li><a class="buttons" href="http://webchat.freenode.net/?channels=evennia&uio=MT1mYWxzZSY5PXRydWUmMTE9MTk1JjEyPXRydWUbb">IRC channel</a></li>
<li><a class="buttons" href="https://discord.gg/NecFePw">Discord channel</a></li>
<li><a class="buttons" href="https://groups.google.com/forum/#%21forum/evennia">Forum</a></li>
<li><a class="buttons" href="http://evennia.blogspot.com/">Dev Blog</a></li>
</ul>
</div>
<div class="newsfeed">
<h3>Latest events</h3>
<div id="latest-events" class="eventslist">
<div class="events-fetch">
Fetching events ...
</div>
</div>
</div>
<div class="sponsor">
<div class="sponsor-column">
<a href="https://www.patreon.com/griatch"><img class="patreon" src="images/evennia_patreon_100x100.png" alt="Patreon"></a>
</div>
<div class="sponsor-column">
<a href="https://www.paypal.me/GriatchEvennia"><img class="paypal" src="images/btn_donateCC_LG.gif" alt="Paypal donate"></a>
</div>
</div>
</header>
<section>
<h1>
<a name="evennia-mudmu-creation-system" class="anchor" href="#evennia-mudmu-creation-system"><span class="octicon octicon-link"></span></a>Evennia MUD/MU* Creation System</h1>
<p><em>Evennia</em> is an open-source Python-based framework, codebase and
server for creating text-based multiplayer online games (aka MUD/MU* etc) using modern
technologies and tools.</p>
<h2>
<a name="installation" class="anchor"
href="#installation"><span class="octicon
octicon-link"></span></a>Live demo</h2>
<img class="img floatright" src="images/book.png" alt="Book">
<p>
<a href="https://demo.evennia.com">https://demo.evennia.com</a> sports an
almost vanilla install of a default Evennia server. Apart from Evennia's
tutorial-world it also has a few extra places to experience and try out. Use it
to get a taste for what's possible. You can also ask questions in our support
channel directly from inside the demo!</p>
<h2>
<a name="installation" class="anchor"
href="#installation"><span class="octicon
octicon-link"></span></a>Installation</h2>
Evennia is installed by cloning and installing its repo from
<a href="https://github.com/evennia/evennia">github</a>. The
<a href="docs/latest/Getting-Started.html">Getting Started</a> instructions will
help you get things set up. Once installed, creating your new game is quick:
<div class="codeblock">
<code>
evennia --init mygame<br>
cd mygame<br>
evennia start
</code>
</div>
You can now browse your new game's website and play locally in your browser at
<a href="http://127.0.0.1:4001">http://localhost:4001</a>. You can also
connect to it with a traditional third-party MUD client on <code>localhost, port 4000</code>.
<img class="img screenshot" src="images/evennia_screenshot.jpg" alt="Screenshot">
<div class="screenshot-caption">
An example of a default Evennia install (hover to enlarge). Top left:
Running server just started. Top right: Default website served by
Evennia. Bottom left: Game open in included HTML5 webclient. Bottom right:
Game open in traditional telnet client
(<a href="https://tintin.mudhalla.net/">tintin++</a>).
</div>
<h2><a name="overview" class="anchor"
href="#overview"><span class="octicon
octicon-link"></span></a>Overview</h2>
<img class="img floatleft" src="images/inkwell.png" alt="Inkwell">
<p>Evennia aims to take care of all the gritty networking, database-handling
and other boring details that all MU*s games need. The idea is to allow you,
the game developer, to concentrate solely on designing the game systems. We try
to get out of your way as much as possible.</p>
<p>Evennia is game-agnostic. So we have no opinions on what style of play or
genre of game you should make. We don't prescribe any skills, classes, races or
other things that will be specific for your game anyway. Indeed, people have
used Evennia for non-MU*s as well - it's very suitable for wild experimenting
and fast prototyping!</p>
<p>Some game concepts and systems are more common than others though. For these
we offer a growing library of optional code-snippets and bigger game systems
you can build from, copy or be inspired by. These are mostly contributed by our
very friendly developer community.</p>
<p>Finally, we have tried to make Evennia's code as readable and
well-documented as possible, should you need to dive in. We have also
spent a lot of time on our <a href="docs/latest/index.html">extensive documentation</a>,
all in order to to help you get productive in Evennia with less fuss.</p>
<h2><a name="default-content" class="anchor"
href="#default-content"><span class="octicon
octicon-link"></span></a>Default Content</h2>
<p>Whereas your Evennia game starts out with no game-specific content, it's not
empty! Out of the box you get a 'talker'-style game: You can create rooms and
items, pick up stuff, talk to people, walk around, do light roleplay with
emotes ... all the base things you expect.</p>
<p>Here are some of the default resources and tools available out of the box:</p>
<ul>
<li>Classes for persistent objects, exits, rooms and characters.</li>
<li>Separation between character and their accounts (multi-character play, if desired)</li>
<li>In-game channels and chats (including linking to external chat channels)
<li>About 90 commands for administration, building, chatting, basic roleplay etc</li>
<li>Available commands and even their function can vary with circumstance and game state</li>
<li>Delays, tickers, timers (fully asynchronous, no threading so no risk of race conditions)</li>
<li>In-game menu-creation system</li>
<li>Prototype system, for making variations of objects (like monsters or items) without new classes</li>
<li>Lock and access mini-language for very flexible access control</li>
<li>Tutorial-world with examples</li>
<li>Easy storage of custom data on all game objects</li>
<li>Search, creation, and a large number of coding utilities</li>
<li>A <code>contrib/</code> folder with optional full systems and shorter snippets</li>
</ul>
<img class="img floatright" src="images/dice.png" alt="Dice">
<p>Coding in Evennia is primarily done by normal Python modules, making the
codebase extremely flexible - you don't tweak the library itself, you just
override the defaults and tell Evennia where to find your changes.</p>
<p>You use Python classes to represent your objects,
scripts and players. The database layer is mostly abstracted away but if you
want you can also leverage the full power of Django's mature ORM.</p>
<h2><a name="some server features" class="anchor"
href="#some-server-features"><span class="octicon
octicon-link"></span></a>Some server features</h2>
<ul>
<li>HTML5 webclient (websocket with ajax/comet fallback)</li>
<li>Telnet, Telnet+SSL, SSH</li>
<li>Website via own webserver (HTTP, HTTPS with external proxy)</li>
<li>Game channels links to IRC, Grapevine</li>
<li>RSS feed, Twitter feed (with snippet from docs)</li>
<li>Different databases supported via Django: Sqlite3, PostgreSQL, MySQL ...</li>
<li>MUD-specific telnet protocols supported:</li>
<ul>
<li>GMCP and MSDP out-of-band protocols</li>
<li>MXP (inline links only)</li>
<li>ANSI and XTerm256 color support</li>
<li>MSSP status for websites tracking MUDs</li>
<li>NAWS, TTYPE, MCCP etc ...</li>
</ul>
<li>Based on Django and Twisted, both well-supported and hardened Python projects</i>
<li>Asynchronous, event-driven architecture without risk of race-conditions</i>
<li>Reload server without disconnecting players</li>
<li>Extendable protocols for adding custom integrations</li>
</ul>
<img class="img floatleft" src="images/ships.png" alt="Ships">
<h2>
<a name="more-information" class="anchor" href="#more-information"><span
class="octicon octicon-link"></span></a>More Information</h2>
<p>If this piqued your interest, there is a <a
href="docs/latest/Evennia-Introduction.html">lengthier
introduction</a> to Evennia to read.</p>
<p>To learn how to get your hands on the code base, the <a
href="docs/latest/Getting-Started.html">Getting Started</a> page is the way to go. Otherwise you could browse the <a
href="docs/latest/index.html">Documentation</a> or why
not come join the <a href="http://www.evennia.com">Evennia Community</a>.
Welcome! </p>
<footer>
<p><small>
(Images ©<a href="https://www.deviantart.com/griatch-art">Griatch</a>)
</small></p>
</footer>
</section>
</div>
<!--[if !IE]><script>fixScale(document);</script><![endif]-->
<script type="text/javascript">
fetchGithubData();
</script>
</body>
</html>