mirror of
https://github.com/evennia/evennia.git
synced 2026-03-16 21:06:30 +01:00
Change to MyST parser
This commit is contained in:
parent
53106e1dba
commit
a51e4af609
443 changed files with 4925 additions and 3524 deletions
|
|
@ -51,11 +51,11 @@ evennia database is `evennia dbshell`. Linux users should look for the `sqlite3`
|
|||
distro while Mac/Windows should get the [sqlite-tools package from this
|
||||
page](https://sqlite.org/download.html).
|
||||
|
||||
To inspect the default Evennia database (once it's been created), go to your game dir and do
|
||||
To inspect the default Evennia database (once it's been created), go to your game dir and do
|
||||
|
||||
```bash
|
||||
sqlite3 server/evennia.db3
|
||||
# or
|
||||
# or
|
||||
evennia dbshell
|
||||
```
|
||||
|
||||
|
|
@ -68,7 +68,7 @@ See [here](https://gist.github.com/vincent178/10889334) for a cheat-sheet of com
|
|||
While not as fast as SQLite for normal usage, it will scale better than SQLite, especially if your
|
||||
game has an very large database and/or extensive web presence through a separate server process.
|
||||
|
||||
### Install and initial setup of PostgreSQL
|
||||
### Install and initial setup of PostgreSQL
|
||||
|
||||
First, install the posgresql server. Version `9.6` is tested with Evennia. Packages are readily
|
||||
available for all distributions. You need to also get the `psql` client (this is called `postgresql-
|
||||
|
|
@ -85,16 +85,16 @@ Next, start the postgres client:
|
|||
psql -U postgres --password
|
||||
```
|
||||
|
||||
```warning::
|
||||
```{warning}
|
||||
|
||||
With the `--password` argument, Postgres should prompt you for a password.
|
||||
If it won't, replace that with `-p yourpassword` instead. Do not use the `-p` argument unless you
|
||||
have to since the resulting command, and your password, will be logged in the shell history.
|
||||
```
|
||||
|
||||
This will open a console to the postgres service using the psql client.
|
||||
This will open a console to the postgres service using the psql client.
|
||||
|
||||
On the psql command line:
|
||||
On the psql command line:
|
||||
|
||||
```sql
|
||||
CREATE USER evennia WITH PASSWORD 'somepassword';
|
||||
|
|
@ -107,7 +107,7 @@ ALTER ROLE evennia SET default_transaction_isolation TO 'read committed';
|
|||
ALTER ROLE evennia SET timezone TO 'UTC';
|
||||
|
||||
GRANT ALL PRIVILEGES ON DATABASE evennia TO evennia;
|
||||
-- Other useful commands:
|
||||
-- Other useful commands:
|
||||
-- \l (list all databases and permissions)
|
||||
-- \q (exit)
|
||||
|
||||
|
|
@ -123,7 +123,7 @@ again to recreate the database and grant privileges.
|
|||
|
||||
### Evennia PostgreSQL configuration
|
||||
|
||||
Edit `mygame/server/conf/secret_settings.py and add the following section:
|
||||
Edit `mygame/server/conf/secret_settings.py and add the following section:
|
||||
|
||||
```python
|
||||
#
|
||||
|
|
@ -156,7 +156,7 @@ database.
|
|||
|
||||
### Advanced Postgresql Usage (Remote Server)
|
||||
|
||||
```warning::
|
||||
```{warning}
|
||||
|
||||
The example below is for a server within a private network that is not open to
|
||||
the Internet. Be sure to understand the details before making any changes to
|
||||
|
|
@ -197,7 +197,7 @@ listen_address = 'localhost' # What IP address(es) to listen on;
|
|||
# defaults to 'localhost'; use '*' for all
|
||||
```
|
||||
|
||||
```warning::
|
||||
```{warning}
|
||||
Misconfiguring the wrong cluster may cause problems
|
||||
with existing clusters.
|
||||
```
|
||||
|
|
@ -207,7 +207,7 @@ Also, note the line with `port =` and keep the port number in mind.
|
|||
Set `listen_addresses` to `'*'`. This permits postgresql to accept connections
|
||||
on any interface.
|
||||
|
||||
```warning::
|
||||
```{warning}
|
||||
Setting `listen_addresses` to `'*'` opens a port on all interfaces. If your
|
||||
server has access to the Internet, ensure your firewall is configured
|
||||
appropriately to limit access to this port as necessary. (You may also list
|
||||
|
|
@ -226,7 +226,7 @@ Add a line with:
|
|||
host all all 0.0.0.0/0 md5
|
||||
```
|
||||
|
||||
```warning::
|
||||
```{warning}
|
||||
This permits incoming connections from *all* IPs. See
|
||||
the PosgreSQL documentation on how to limit this.
|
||||
```
|
||||
|
|
@ -282,7 +282,7 @@ GRANT ALL PRIVILEGES ON evennia.* TO 'evennia'@'localhost';
|
|||
FLUSH PRIVILEGES;
|
||||
-- use 'exit' to quit client
|
||||
```
|
||||
[Here](https://gist.github.com/hofmannsven/9164408) is a mysql command cheat sheet.
|
||||
[Here](https://gist.github.com/hofmannsven/9164408) is a mysql command cheat sheet.
|
||||
|
||||
Above we created a new local user and database (we called both 'evennia' here, you can name them
|
||||
what you prefer). We set the character set to `utf8` to avoid an issue with prefix character length
|
||||
|
|
@ -313,9 +313,9 @@ your settings as below.
|
|||
DATABASES = {
|
||||
'default': {
|
||||
'ENGINE': 'django.db.backends.mysql',
|
||||
'NAME': 'evennia',
|
||||
'USER': 'evennia',
|
||||
'PASSWORD': 'somepassword',
|
||||
'NAME': 'evennia',
|
||||
'USER': 'evennia',
|
||||
'PASSWORD': 'somepassword',
|
||||
'HOST': 'localhost', # or an IP Address that your DB is hosted on
|
||||
'PORT': '', # use default port
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,96 +1,73 @@
|
|||
# Client Support Grid
|
||||
|
||||
This grid tries to gather info about different MU clients when used with Evennia.
|
||||
If you want to report a problem, update an entry or add a client, make a
|
||||
If you want to report a problem, update an entry or add a client, make a
|
||||
new [documentation issue](github:issue) for it. Everyone's encouraged to report their findings.
|
||||
|
||||
##### Legend:
|
||||
## Client Grid
|
||||
|
||||
Legend:
|
||||
|
||||
- **Name**: The name of the client. Also note if it's OS-specific.
|
||||
- **Version**: Which version or range of client versions were tested.
|
||||
- **Comments**: Any quirks on using this client with Evennia should be added here.
|
||||
|
||||
## Client Grid
|
||||
|
||||
```eval_rst
|
||||
| Name | Version tested | Comments |
|
||||
| --- | --- | --- |
|
||||
| [Evennia Webclient][1] | 1.0+ | Evennia-specific |
|
||||
| [tintin++][2] | 2.0+ | No MXP support |
|
||||
| [tinyfugue][3] | 5.0+ | No UTF-8 support |
|
||||
| [MUSHclient][4] (Win) | 4.94 | NAWS reports full text area |
|
||||
| [Zmud][5] (Win) | 7.21 | *UNTESTED* |
|
||||
| [Cmud][6] (Win) | v3 | *UNTESTED* |
|
||||
| [Potato][7]_ | 2.0.0b16 | No MXP, MCCP support. Win 32bit does not understand |
|
||||
| | | "localhost", must use `127.0.0.1`. |
|
||||
| [Mudlet][8] | 3.4+ | No known issues. Some older versions showed <> as html |
|
||||
| | | under MXP. |
|
||||
| [SimpleMU][9] (Win) | full | Discontinued. NAWS reports pixel size. |
|
||||
| [Atlantis][10] (Mac) | 0.9.9.4 | No known issues. |
|
||||
| [GMUD][11] | 0.0.1 | Can't handle any telnet handshakes. Not recommended. |
|
||||
| [BeipMU][12] (Win) | 3.0.255 | No MXP support. Best to enable "MUD prompt handling", disable |
|
||||
| | | "Handle HTML tags". |
|
||||
| [MudRammer][13] (IOS) | 1.8.7 | Bad Telnet Protocol compliance: displays spurious characters. |
|
||||
| [MUDMaster][14] | 1.3.1 | *UNTESTED* |
|
||||
| [BlowTorch][15] (Andr) | 1.1.3 | Telnet NOP displays as spurious character. |
|
||||
| [Mukluk][16] (Andr) | 2015.11.20| Telnet NOP displays as spurious character. Has UTF-8/Emoji |
|
||||
| | | support. |
|
||||
| [Gnome-MUD][17] (Unix) | 0.11.2 | Telnet handshake errors. First (only) attempt at logging in |
|
||||
| | | fails. |
|
||||
| [Spyrit][18] | 0.4 | No MXP, OOB support. |
|
||||
| [JamochaMUD][19] | 5.2 | Does not support ANSI within MXP text. |
|
||||
| [DuckClient][20] (Chrome) | 4.2 | No MXP support. Displays Telnet Go-Ahead and |
|
||||
| | | WILL SUPPRESS-GO-AHEAD as ù character. Also seems to run |
|
||||
| | | the `version` command on connection, which will not work in |
|
||||
| | | `MULTISESSION_MODES` above 1. |
|
||||
| [KildClient][21] | 2.11.1 | No known issues. |
|
||||
|
||||
+----------------------------+-----------+----------------------------------------------------------------+
|
||||
| Name | Version | Comments |
|
||||
+============================+===========+================================================================+
|
||||
| `Evennia Webclient`_ | 0.9 | Evennia-specific |
|
||||
+----------------------------+-----------+----------------------------------------------------------------+
|
||||
| `tintin++`_ | 2.0+ | No MXP support |
|
||||
+----------------------------+-----------+----------------------------------------------------------------+
|
||||
| tinyfugue_ | 5.0+ | No UTF-8 support |
|
||||
+----------------------------+-----------+----------------------------------------------------------------+
|
||||
| MUSHclient_ (Win) | 4.94 | NAWS reports full text area |
|
||||
+----------------------------+-----------+----------------------------------------------------------------+
|
||||
| Zmud_ (Win) | 7.21 | *UNTESTED* |
|
||||
+----------------------------+-----------+----------------------------------------------------------------+
|
||||
| Cmud_ (Win) | v3 | *UNTESTED* |
|
||||
+----------------------------+-----------+----------------------------------------------------------------+
|
||||
| Potato_ | 2.0.0b16 | No MXP, MCCP support. Win 32bit does not understand |
|
||||
| | | "localhost", must use `127.0.0.1`. |
|
||||
+----------------------------+-----------+----------------------------------------------------------------+
|
||||
| Mudlet_ | 3.4+ | No known issues. Some older versions showed <> as html |
|
||||
| | | under MXP. |
|
||||
+----------------------------+-----------+----------------------------------------------------------------+
|
||||
| SimpleMU_ (Win) | full | Discontinued. NAWS reports pixel size. |
|
||||
+----------------------------+-----------+----------------------------------------------------------------+
|
||||
| Atlantis_ (Mac) | 0.9.9.4 | No known issues. |
|
||||
+----------------------------+-----------+----------------------------------------------------------------+
|
||||
| GMUD_ | 0.0.1 | Can't handle any telnet handshakes. Not recommended. |
|
||||
+----------------------------+-----------+----------------------------------------------------------------+
|
||||
| BeipMU_ (Win) | 3.0.255 | No MXP support. Best to enable "MUD prompt handling", disable |
|
||||
| | | "Handle HTML tags". |
|
||||
+----------------------------+-----------+----------------------------------------------------------------+
|
||||
| MudRammer_ (IOS) | 1.8.7 | Bad Telnet Protocol compliance: displays spurious characters. |
|
||||
+----------------------------+-----------+----------------------------------------------------------------+
|
||||
| MUDMaster_ | 1.3.1 | *UNTESTED* |
|
||||
+----------------------------+-----------+----------------------------------------------------------------+
|
||||
| BlowTorch_ (Andr) | 1.1.3 | Telnet NOP displays as spurious character. |
|
||||
+----------------------------+-----------+----------------------------------------------------------------+
|
||||
| Mukluk_ (Andr) | 2015.11.20| Telnet NOP displays as spurious character. Has UTF-8/Emoji |
|
||||
| | | support. |
|
||||
+----------------------------+-----------+----------------------------------------------------------------+
|
||||
| Gnome-MUD_ (Unix) | 0.11.2 | Telnet handshake errors. First (only) attempt at logging in |
|
||||
| | | fails. |
|
||||
+----------------------------+-----------+----------------------------------------------------------------+
|
||||
| Spyrit_ | 0.4 | No MXP, OOB support. |
|
||||
+----------------------------+-----------+----------------------------------------------------------------+
|
||||
| JamochaMUD_ | 5.2 | Does not support ANSI within MXP text. |
|
||||
+----------------------------+-----------+----------------------------------------------------------------+
|
||||
| DuckClient_ (Chrome) | 4.2 | No MXP support. Displays Telnet Go-Ahead and |
|
||||
| | | WILL SUPPRESS-GO-AHEAD as ù character. Also seems to run |
|
||||
| | | the `version` command on connection, which will not work in |
|
||||
| | | `MULTISESSION_MODES` above 1. |
|
||||
+----------------------------+-----------+----------------------------------------------------------------+
|
||||
| KildClient_ | 2.11.1 | No known issues. |
|
||||
+----------------------------+-----------+----------------------------------------------------------------+
|
||||
|
||||
.. _Evennia Webclient: ../Components/Webclient.html
|
||||
.. _tintin++: http://tintin.sourceforge.net/
|
||||
.. _tinyfugue: http://tinyfugue.sourceforge.net/
|
||||
.. _MUSHclient: https://mushclient.com/
|
||||
.. _Zmud: http://forums.zuggsoft.com/index.php?page=4&action=file&file_id=65
|
||||
.. _Cmud: http://forums.zuggsoft.com/index.php?page=4&action=category&cat_id=11
|
||||
.. _Potato: https://www.potatomushclient.com/
|
||||
.. _Mudlet: https://www.mudlet.org/
|
||||
.. _SimpleMU: https://archive.org/details/tucows_196173_SimpleMU_MU_Client
|
||||
.. _Atlantis: https://www.riverdark.net/atlantis/
|
||||
.. _GMUD: https://sourceforge.net/projects/g-mud/
|
||||
.. _BeipMU: http://www.beipmu.com/
|
||||
.. _MudRammer: https://itunes.apple.com/us/app/mudrammer-a-modern-mud-client/id597157072
|
||||
.. _MUDMaster: https://itunes.apple.com/us/app/mudmaster/id341160033
|
||||
.. _BlowTorch: https://bt.happygoatstudios.com/
|
||||
.. _Mukluk: https://play.google.com/store/apps/details?id=com.crap.mukluk
|
||||
.. _Gnome-MUD: https://github.com/GNOME/gnome-mud
|
||||
.. _Spyrit: https://spyrit.ierne.eu.org/
|
||||
.. _JamochaMUD: https://jamochamud.org/
|
||||
.. _DuckClient: http://duckclient.com/
|
||||
.. _KildClient: https://www.kildclient.org/
|
||||
[1]: ../Components/Webclient
|
||||
[2]: http://tintin.sourceforge.net/
|
||||
[3]: http://tinyfugue.sourceforge.net/
|
||||
[4]: https://mushclient.com/
|
||||
[5]: http://forums.zuggsoft.com/index.php?page=4&action=file&file_id=65
|
||||
[6]: http://forums.zuggsoft.com/index.php?page=4&action=category&cat_id=11
|
||||
[7]: https://www.potatomushclient.com/
|
||||
[8]: https://www.mudlet.org/
|
||||
[9]: https://archive.org/details/tucows_196173_SimpleMU_MU_Client
|
||||
[10]: https://www.riverdark.net/atlantis/
|
||||
[11]: https://sourceforge.net/projects/g-mud/
|
||||
[12]: http://www.beipmu.com/
|
||||
[13]: https://itunes.apple.com/us/app/mudrammer-a-modern-mud-client/id597157072
|
||||
[14]: https://itunes.apple.com/us/app/mudmaster/id341160033
|
||||
[15]: https://bt.happygoatstudios.com/
|
||||
[16]: https://play.google.com/store/apps/details?id=com.crap.mukluk
|
||||
[17]: https://github.com/GNOME/gnome-mud
|
||||
[18]: https://spyrit.ierne.eu.org/
|
||||
[19]: https://jamochamud.org/
|
||||
[20]: http://duckclient.com/
|
||||
[21]: https://www.kildclient.org/
|
||||
|
||||
```
|
||||
## Workarounds for client issues:
|
||||
|
||||
### Issue: Telnet NOP displays as spurious character.
|
||||
|
|
@ -105,5 +82,3 @@ Workaround:
|
|||
* In-game: Use `@option NOPKEEPALIVE=off` for the session, or use the `/save`
|
||||
parameter to disable it for that Evennia account permanently.
|
||||
* Client-side: Set a gag-type trigger on the NOP character to make it invisible to the client.
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -7,15 +7,15 @@ This will help you download, install and start Evennia for the first time.
|
|||
> test out Evennia. Apart from downloading and updating you don't even need an
|
||||
> internet connection until you feel ready to share your game with the world.
|
||||
|
||||
- [Quick Start](Getting-Started#quick-start)
|
||||
- [Requirements](Getting-Started#requirements)
|
||||
- [Linux Install](Getting-Started#linux-install)
|
||||
- [Mac Install](Getting-Started#mac-install)
|
||||
- [Windows Install](Getting-Started#windows-install)
|
||||
- [Running in Docker](./Running-Evennia-in-Docker)
|
||||
- [Where to Go Next](Getting-Started#where-to-go-next)
|
||||
- [Troubleshooting](Getting-Started#troubleshooting)
|
||||
- [Glossary of terms](../Glossary)
|
||||
- [Quick Start](#quick-start)
|
||||
- [Requirements](#requirements)
|
||||
- [Linux Install](#linux-install)
|
||||
- [Mac Install](#mac-install)
|
||||
- [Windows Install](#windows-install)
|
||||
- [Running in Docker](./Running-Evennia-in-Docker.md)
|
||||
- [Where to Go Next](#where-to-go-next)
|
||||
- [Troubleshooting](#troubleshooting)
|
||||
- [Glossary of terms](../Glossary.md)
|
||||
|
||||
## Quick Start
|
||||
|
||||
|
|
@ -37,7 +37,7 @@ Evennia should now be running and you can connect to it by pointing a web browse
|
|||
`http://localhost:4001` or a MUD telnet client to `localhost:4000` (use `127.0.0.1` if your OS does
|
||||
not recognize `localhost`).
|
||||
|
||||
We also release [Docker images](./Running-Evennia-in-Docker)
|
||||
We also release [Docker images](./Running-Evennia-in-Docker.md)
|
||||
based on `master` and `develop` branches.
|
||||
|
||||
## Requirements
|
||||
|
|
@ -68,10 +68,10 @@ Twisted packages
|
|||
## Linux Install
|
||||
|
||||
If you run into any issues during the installation and first start, please
|
||||
check out [Linux Troubleshooting](./Getting-Started#linux-troubleshooting).
|
||||
check out [Linux Troubleshooting](#linux-troubleshooting).
|
||||
|
||||
For Debian-derived systems (like Ubuntu, Mint etc), start a terminal and
|
||||
install the [dependencies](./Getting-Started#requirements):
|
||||
install the [dependencies](#requirements):
|
||||
|
||||
```
|
||||
sudo apt-get update
|
||||
|
|
@ -104,7 +104,7 @@ contains the source code though, it is not *installed* yet. To isolate the
|
|||
Evennia install and its dependencies from the rest of the system, it is good
|
||||
Python practice to install into a _virtualenv_. If you are unsure about what a
|
||||
virtualenv is and why it's useful, see the [Glossary entry on
|
||||
virtualenv](Glossary#virtualenv).
|
||||
virtualenv](../Glossary.md#virtualenv).
|
||||
|
||||
Run `python -V` to see which version of Python your system defaults to.
|
||||
|
||||
|
|
@ -142,8 +142,8 @@ folders) and run
|
|||
pip install -e evennia
|
||||
```
|
||||
|
||||
For more info about `pip`, see the [Glossary entry on pip](../Glossary#pip). If
|
||||
install failed with any issues, see [Linux Troubleshooting](Getting-Started#linux-troubleshooting).
|
||||
For more info about `pip`, see the [Glossary entry on pip](../Glossary.md#pip). If
|
||||
install failed with any issues, see [Linux Troubleshooting](#linux-troubleshooting).
|
||||
|
||||
Next we'll start our new game, here called "mygame". This will create yet
|
||||
another new folder where you will be creating your new game:
|
||||
|
|
@ -160,8 +160,8 @@ Your final folder structure should look like this:
|
|||
mygame/
|
||||
```
|
||||
|
||||
You can [configure Evennia](../Components/Server-Conf#settings-file) extensively, for example
|
||||
to use a [different database](./Choosing-An-SQL-Server). For now we'll just stick
|
||||
You can [configure Evennia](./Server-Conf.md#settings-file) extensively, for example
|
||||
to use a [different database](./Choosing-An-SQL-Server.md). For now we'll just stick
|
||||
to the defaults though.
|
||||
|
||||
```
|
||||
|
|
@ -175,7 +175,7 @@ evennia start # (create a superuser when asked. Email is optional.)
|
|||
|
||||
Your game should now be running! Open a web browser at `http://localhost:4001`
|
||||
or point a telnet client to `localhost:4000` and log in with the user you
|
||||
created. Check out [where to go next](./Getting-Started#where-to-go-next).
|
||||
created. Check out [where to go next](#where-to-go-next).
|
||||
|
||||
|
||||
## Mac Install
|
||||
|
|
@ -184,7 +184,7 @@ The Evennia server is a terminal program. Open the terminal e.g. from
|
|||
*Applications->Utilities->Terminal*. [Here is an introduction to the Mac
|
||||
terminal](https://blog.teamtreehouse.com/introduction-to-the-mac-os-x-command-line)
|
||||
if you are unsure how it works. If you run into any issues during the
|
||||
installation, please check out [Mac Troubleshooting](./Getting-Started#mac-troubleshooting).
|
||||
installation, please check out [Mac Troubleshooting](#mac-troubleshooting).
|
||||
|
||||
* Python should already be installed but you must make sure it's a high enough version.
|
||||
([This](https://docs.python-guide.org/en/latest/starting/install/osx/) discusses
|
||||
|
|
@ -215,7 +215,7 @@ A new folder `evennia` will appear containing the Evennia library. This only
|
|||
contains the source code though, it is not *installed* yet. To isolate the
|
||||
Evennia install and its dependencies from the rest of the system, it is good
|
||||
Python practice to install into a _virtualenv_. If you are unsure about what a
|
||||
virtualenv is and why it's useful, see the [Glossary entry on virtualenv](../Glossary#virtualenv).
|
||||
virtualenv is and why it's useful, see the [Glossary entry on virtualenv](../Glossary.md#virtualenv).
|
||||
|
||||
Run `python -V` to check which Python your system defaults to.
|
||||
|
||||
|
|
@ -253,8 +253,8 @@ pip install --upgrade setuptools # Ditto concerning Mac issues.
|
|||
pip install -e evennia
|
||||
```
|
||||
|
||||
For more info about `pip`, see the [Glossary entry on pip](../Glossary#pip). If
|
||||
install failed with any issues, see [Mac Troubleshooting](Getting-Started#mac-troubleshooting).
|
||||
For more info about `pip`, see the [Glossary entry on pip](../Glossary.md#pip). If
|
||||
install failed with any issues, see [Mac Troubleshooting](#mac-troubleshooting).
|
||||
|
||||
Next we'll start our new game. We'll call it "mygame" here. This creates a new
|
||||
folder where you will be creating your new game:
|
||||
|
|
@ -272,8 +272,8 @@ Your final folder structure should look like this:
|
|||
mygame/
|
||||
```
|
||||
|
||||
You can [configure Evennia](../Components/Server-Conf#settings-file) extensively, for example
|
||||
to use a [different database](./Choosing-An-SQL-Server). We'll go with the
|
||||
You can [configure Evennia](./Server-Conf.md#settings-file) extensively, for example
|
||||
to use a [different database](./Choosing-An-SQL-Server.md). We'll go with the
|
||||
defaults here.
|
||||
|
||||
```
|
||||
|
|
@ -287,13 +287,13 @@ evennia start # (create a superuser when asked. Email is optional.)
|
|||
|
||||
Your game should now be running! Open a web browser at `http://localhost:4001`
|
||||
or point a telnet client to `localhost:4000` and log in with the user you
|
||||
created. Check out [where to go next](./Getting-Started#where-to-go-next).
|
||||
created. Check out [where to go next](#where-to-go-next).
|
||||
|
||||
|
||||
## Windows Install
|
||||
|
||||
If you run into any issues during the installation, please check out
|
||||
[Windows Troubleshooting](./Getting-Started#windows-troubleshooting).
|
||||
[Windows Troubleshooting](#windows-troubleshooting).
|
||||
|
||||
> If you are running Windows10, consider using the Windows Subsystem for Linux
|
||||
> ([WSL](https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux)) instead.
|
||||
|
|
@ -348,7 +348,7 @@ A new folder `evennia` will appear containing the Evennia library. This only
|
|||
contains the source code though, it is not *installed* yet. To isolate the
|
||||
Evennia install and its dependencies from the rest of the system, it is good
|
||||
Python practice to install into a _virtualenv_. If you are unsure about what a
|
||||
virtualenv is and why it's useful, see the [Glossary entry on virtualenv](../Glossary#virtualenv).
|
||||
virtualenv is and why it's useful, see the [Glossary entry on virtualenv](../Glossary.md#virtualenv).
|
||||
|
||||
In your console, try `python -V` to see which version of Python your system
|
||||
defaults to.
|
||||
|
|
@ -393,8 +393,8 @@ folders when you use the `dir` command) and run
|
|||
```
|
||||
pip install -e evennia
|
||||
```
|
||||
For more info about `pip`, see the [Glossary entry on pip](../Glossary#pip). If
|
||||
the install failed with any issues, see [Windows Troubleshooting](Getting-Started#windows-
|
||||
For more info about `pip`, see the [Glossary entry on pip](../Glossary.md#pip). If
|
||||
the install failed with any issues, see [Windows Troubleshooting](#windows-
|
||||
troubleshooting).
|
||||
Next we'll start our new game, we'll call it "mygame" here. This creates a new folder where you will
|
||||
be
|
||||
|
|
@ -413,8 +413,8 @@ path\to\muddev
|
|||
mygame\
|
||||
```
|
||||
|
||||
You can [configure Evennia](../Components/Server-Conf#settings-file) extensively, for example
|
||||
to use a [different database](./Choosing-An-SQL-Server). We'll go with the
|
||||
You can [configure Evennia](./Server-Conf.md#settings-file) extensively, for example
|
||||
to use a [different database](./Choosing-An-SQL-Server.md). We'll go with the
|
||||
defaults here.
|
||||
|
||||
```
|
||||
|
|
@ -428,7 +428,7 @@ evennia start # (create a superuser when asked. Email is optional.)
|
|||
|
||||
Your game should now be running! Open a web browser at `http://localhost:4001`
|
||||
or point a telnet client to `localhost:4000` and log in with the user you
|
||||
created. Check out [where to go next](./Getting-Started#where-to-go-next).
|
||||
created. Check out [where to go next](#where-to-go-next).
|
||||
|
||||
## Non-interactive setup
|
||||
|
||||
|
|
@ -453,7 +453,7 @@ logged in, stand in the `Limbo` room and run
|
|||
|
||||
@batchcommand tutorial_world.build
|
||||
|
||||
to build [Evennia's tutorial world](../Howto/Starting/Part1/Tutorial-World-Introduction) - it's a small solo quest to
|
||||
to build [Evennia's tutorial world](../Howto/Starting/Part1/Tutorial-World-Introduction.md) - it's a small solo quest to
|
||||
explore. Only run the instructed `@batchcommand` once. You'll get a lot of text scrolling by as the
|
||||
tutorial is built. Once done, the `tutorial` exit will have appeared out of Limbo - just write
|
||||
`tutorial` to enter it.
|
||||
|
|
@ -461,10 +461,10 @@ tutorial is built. Once done, the `tutorial` exit will have appeared out of Limb
|
|||
Once you get back to `Limbo` from the tutorial (if you get stuck in the tutorial quest you can do
|
||||
`@tel #2` to jump to Limbo), a good idea is to learn how to [start, stop and reload](Start-Stop-
|
||||
Reload) the Evennia server. You may also want to familiarize yourself with some
|
||||
[commonly used terms in our Glossary](../Glossary). After that, why not experiment with
|
||||
[creating some new items and build some new rooms](../Howto/Starting/Part1/Building-Quickstart) out from Limbo.
|
||||
[commonly used terms in our Glossary](../Glossary.md). After that, why not experiment with
|
||||
[creating some new items and build some new rooms](../Howto/Starting/Part1/Building-Quickstart.md) out from Limbo.
|
||||
|
||||
From here on, you could move on to do one of our [introductory tutorials](../Howto/Howto-Overview) or simply dive
|
||||
From here on, you could move on to do one of our [introductory tutorials](../Howto/Howto-Overview.md) or simply dive
|
||||
headlong into Evennia's comprehensive [manual](https://github.com/evennia/evennia/wiki). While
|
||||
Evennia has no major game systems out of the box, we do supply a range of optional *contribs* that
|
||||
you can use or borrow from. They range from dice rolling and alternative color schemes to barter and
|
||||
|
|
@ -478,7 +478,7 @@ forums](https://groups.google.com/forum/#%21forum/evennia). You can also join th
|
|||
Server](https://discord.gg/NecFePw).
|
||||
|
||||
Finally, if you are itching to help out or support Evennia (awesome!) have an
|
||||
issue to report or a feature to request, [see here](../How-To-Get-And-Give-Help).
|
||||
issue to report or a feature to request, [see here](../How-To-Get-And-Give-Help.md).
|
||||
|
||||
Enjoy your stay!
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
## Making Evennia, HTTPS and WSS (Secure Websockets) play nicely together
|
||||
# Making Evennia, HTTPS and WSS (Secure Websockets) play nicely together
|
||||
|
||||
A modern public-facing website should these days be served via encrypted
|
||||
connections. So `https:` rather than `http:` for the website and
|
||||
|
|
|
|||
|
|
@ -29,8 +29,8 @@ pip install python-twitter
|
|||
## A basic tweet command
|
||||
|
||||
Evennia doesn't have a `tweet` command out of the box so you need to write your own little
|
||||
[Command](../Components/Commands) in order to tweet. If you are unsure about how commands work and how to add
|
||||
them, it can be an idea to go through the [Adding a Command Tutorial](../Howto/Starting/Part1/Adding-Commands)
|
||||
[Command](../Components/Commands.md) in order to tweet. If you are unsure about how commands work and how to add
|
||||
them, it can be an idea to go through the [Adding a Command Tutorial](../Howto/Starting/Part1/Adding-Commands.md)
|
||||
before continuing.
|
||||
|
||||
You can create the command in a separate command module (something like `mygame/commands/tweet.py`)
|
||||
|
|
@ -89,7 +89,7 @@ Be sure to substitute your own actual API/Access keys and secrets in the appropr
|
|||
|
||||
We default to limiting tweet access to players with `Developers`-level access *or* to those players
|
||||
that have the permission "tweet" (allow individual characters to tweet with `@perm/player playername
|
||||
= tweet`). You may change the [lock](../Components/Locks) as you feel is appropriate. Change the overall
|
||||
= tweet`). You may change the [lock](../Components/Locks.md) as you feel is appropriate. Change the overall
|
||||
permission to `Players` if you want everyone to be able to tweet.
|
||||
|
||||
Now add this command to your default command set (e.g in `mygame/commands/defalt_cmdsets.py`") and
|
||||
|
|
@ -106,5 +106,5 @@ This shows only a basic tweet setup, other things to do could be:
|
|||
* Echo your tweets to an in-game channel
|
||||
|
||||
Rather than using an explicit command you can set up a Script to send automatic tweets, for example
|
||||
to post updated game stats. See the [Tweeting Game Stats tutorial](../Howto/Tutorial-Tweeting-Game-Stats) for
|
||||
to post updated game stats. See the [Tweeting Game Stats tutorial](../Howto/Tutorial-Tweeting-Game-Stats.md) for
|
||||
help.
|
||||
|
|
@ -7,7 +7,7 @@ Discord](https://discord.gg/NecFePw), which is mirrored to IRC._
|
|||
|
||||
[IRC (Internet Relay Chat)](https://en.wikipedia.org/wiki/Internet_Relay_Chat) is a long standing
|
||||
chat protocol used by many open-source projects for communicating in real time. By connecting one of
|
||||
Evennia's [Channels](../Components/Communications) to an IRC channel you can communicate also with people not on
|
||||
Evennia's [Channels](../Components/Communications.md) to an IRC channel you can communicate also with people not on
|
||||
an mud themselves. You can also use IRC if you are only running your Evennia MUD locally on your
|
||||
computer (your game doesn't need to be open to the public)! All you need is an internet connection.
|
||||
For IRC operation you also need [twisted.words](https://twistedmatrix.com/trac/wiki/TwistedWords).
|
||||
|
|
|
|||
|
|
@ -75,20 +75,20 @@ export CFLAGS="-I/data/data/com.termux/files/usr/include/"
|
|||
|
||||
Install the latest Evennia in a way that lets you edit the source
|
||||
```
|
||||
(evenv) $ pip install --upgrade -e 'git+https://github.com/evennia/evennia#egg=evennia'
|
||||
(evenv) $ pip install --upgrade -e 'git+https://github.com/evennia/evennia#egg=evennia'
|
||||
```
|
||||
|
||||
This step will possibly take quite a while - we are downloading Evennia and are then installing it,
|
||||
building all of the requirements for Evennia to run. If you run into trouble on this step, please
|
||||
see [Troubleshooting](./Installing-on-Android#troubleshooting).
|
||||
see [Troubleshooting](./Installing-on-Android.md#troubleshooting).
|
||||
|
||||
You can go to the dir where Evennia is installed with `cd $VIRTUAL_ENV/src/evennia`. `git grep
|
||||
(something)` can be handy, as can `git diff`
|
||||
|
||||
### Final steps
|
||||
|
||||
At this point, Evennia is installed on your phone! You can now continue with the original
|
||||
[Setup Quickstart](./Setup-Quickstart) instruction, we repeat them here for clarity.
|
||||
At this point, Evennia is installed on your phone! You can now continue with the original
|
||||
[Setup Quickstart](./Setup-Quickstart.md) instruction, we repeat them here for clarity.
|
||||
|
||||
To start a new game:
|
||||
|
||||
|
|
@ -120,7 +120,7 @@ $ cd ~ && source evenv/bin/activate
|
|||
(evenv) $ evennia start
|
||||
```
|
||||
|
||||
You may wish to look at the [Linux Instructions](./Getting-Started#linux-install) for more.
|
||||
You may wish to look at the [Linux Instructions](./Extended-Installation.md#linux-install) for more.
|
||||
|
||||
## Caveats
|
||||
|
||||
|
|
@ -140,4 +140,4 @@ Some steps to try anyway:
|
|||
* Make sure you're in the right directory. `cd ~/mygame
|
||||
* Make sure you've sourced your virtualenv. type `cd && source evenv/bin/activate`
|
||||
* See if a shell will start: `cd ~/mygame ; evennia shell`
|
||||
* Look at the log files in ~/mygame/server/logs/
|
||||
* Look at the log files in ~/mygame/server/logs/
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ web services you are running through this router though.
|
|||
|
||||
You can connect Evennia to the Internet without any changes to your settings. The default settings
|
||||
are easy to use but are not necessarily the safest. You can customize your online presence in your
|
||||
[settings file](../Components/Server-Conf#settings-file). To have Evennia recognize changed port settings you have
|
||||
[settings file](./Server-Conf.md#settings-file). To have Evennia recognize changed port settings you have
|
||||
to do a full `evennia reboot` to also restart the Portal and not just the Server component.
|
||||
|
||||
Below is an example of a simple set of settings, mostly using the defaults. Evennia will require
|
||||
|
|
@ -179,7 +179,7 @@ AMP_PORT = 4006
|
|||
```
|
||||
|
||||
The `AMP_PORT` is required to work, since this is the internal port linking Evennia's
|
||||
[Server and Portal](../Components/Portal-And-Server) components together. The other ports are encrypted ports that may be
|
||||
[Server and Portal](../Components/Portal-And-Server.md) components together. The other ports are encrypted ports that may be
|
||||
useful for custom protocols but are otherwise not used.
|
||||
|
||||
### Lockdown mode
|
||||
|
|
@ -202,7 +202,7 @@ To register, stand in your game dir, run
|
|||
|
||||
evennia connections
|
||||
|
||||
and follow the instructions. See the [Game index page](./Evennia-Game-Index) for more details.
|
||||
and follow the instructions. See the [Game index page](./Evennia-Game-Index.md) for more details.
|
||||
|
||||
## SSL
|
||||
|
||||
|
|
@ -249,8 +249,8 @@ also be based on your hosting choice. In a controlled/cPanel environment, you wi
|
|||
to use DNS verification.
|
||||
|
||||
## Relevant SSL Proxy Setup Information
|
||||
- [Apache webserver configuration](./Apache-Config) (optional)
|
||||
- [HAProxy Config](./HAProxy-Config)
|
||||
- [Apache webserver configuration](./Apache-Config.md) (optional)
|
||||
- [HAProxy Config](./HAProxy-Config.md)
|
||||
|
||||
## Hosting locally or remotely?
|
||||
|
||||
|
|
@ -283,7 +283,7 @@ main internet connection terminated as a consequence.
|
|||
|
||||
#### Setting up your own machine as a server
|
||||
|
||||
[The first section](./Online-Setup#connecting-from-the-outside) of this page describes how to do this
|
||||
[The first section](./Online-Setup.md#connecting-from-the-outside) of this page describes how to do this
|
||||
and allow users to connect to the IP address of your machine/router.
|
||||
|
||||
A complication with using a specific IP address like this is that your home IP might not remain the
|
||||
|
|
@ -344,7 +344,7 @@ game stays online. Many services guarantee a certain level of up-time and also d
|
|||
for you. Make sure to check, some offer lower rates in exchange for you yourself being fully
|
||||
responsible for your data/backups.
|
||||
- Usually offers a fixed domain name, so no need to mess with IP addresses.
|
||||
- May have the ability to easily deploy [docker](./Running-Evennia-in-Docker) versions of evennia
|
||||
- May have the ability to easily deploy [docker](./Running-Evennia-in-Docker.md) versions of evennia
|
||||
and/or your game.
|
||||
|
||||
**Disadvantages**
|
||||
|
|
@ -362,7 +362,7 @@ Docker) to deploy your game to the remote server; it will likely ease installati
|
|||
Docker images may be a little confusing if you are completely new to them though.
|
||||
|
||||
If not using docker, and assuming you know how to connect to your account over ssh/PuTTy, you should
|
||||
be able to follow the [Setup Quickstart](./Setup-Quickstart) instructions normally. You only need Python
|
||||
be able to follow the [Setup Quickstart](./Setup-Quickstart.md) 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.
|
||||
|
|
@ -382,40 +382,31 @@ region. You may find useful offers for "low cost" VPS hosting on [Low End Box][7
|
|||
There are all sorts of services available. Below are some international suggestions offered by
|
||||
Evennia users:
|
||||
|
||||
Hosting name | Type | Lowest price | Comments
|
||||
:--------------:|:-------:---------------
|
||||
[silvren.com][1] | Shell account | Free for MU* | Private hobby provider so don't assume backups
|
||||
or expect immediate support. To ask for an account, connect with a MUD client to iweb.localecho.net,
|
||||
port 4201 and ask for "Jarin".
|
||||
[Digital Ocean][2] | VPS | $5/month | You can get a $50 credit if you use the referral link
|
||||
https://m.do.co/c/8f64fec2670c - 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.
|
||||
[Amazon Web services][3] | Cloud | ~$5/month / on-demand | Free Tier first 12 months. Regions
|
||||
available around the globe.
|
||||
[Amazon Lightsail][9] | Cloud | $5/month | Free first month. AWS's new "fixed cost" offering.
|
||||
[Genesis MUD hosting][4] | Shell account | $8/month | 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 *at least* the "Deluxe" package (50MB
|
||||
RAM) and probably *a lot* higher for a production game. This host is *not* recommended for Evennia.
|
||||
[Host1Plus][5] | VPS & Cloud | $4/month | $4-$8/month depending on length of sign-up period.
|
||||
[Scaleway][6] | Cloud | €3/month / on-demand | EU based (Paris, Amsterdam). Smallest option
|
||||
provides 2GB RAM.
|
||||
[Prgmr][10] | VPS | $5/month | 1 month free with a year prepay. You likely want some experience with
|
||||
servers with this option as they don't have a lot of support.
|
||||
[Linode][11] | Cloud | $5/month / on-demand | Multiple regions. Smallest option provides 1GB RAM
|
||||
*Please help us expand this list.*
|
||||
| Hosting name | Type | Lowest price | Comments |
|
||||
|---|---| ---| --- |
|
||||
| [silvren.com][1] | Shell account | Free for MU* | Private hobby provider so don't assume backups or expect immediate support. To ask for an account,connect with a MUD client to iweb.localecho.net, port 4201 and ask for "Jarin". |
|
||||
| [Digital Ocean][2] | VPS | $5/month | You can get a $50 credit if you use the referral link https://m.do.co/c/8f64fec2670c - 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.|
|
||||
| [Amazon Web services][3] | Cloud | ~$5/month / on-demand | Free Tier first 12 months. Regions available around the globe.|
|
||||
| [Amazon Lightsail][9] | Cloud | $5/month | Free first month. AWS's new "fixed cost" offering.|
|
||||
| [Genesis MUD hosting][4] | Shell account | $8/month | 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 *at least* the "Deluxe" package (50MB RAM) and probably *a lot* higher for a production game. This host is *not* recommended for Evennia.|
|
||||
| [Host1Plus][5] | VPS & Cloud | $4/month | $4-$8/month depending on length of sign-up period.
|
||||
| [Scaleway][6] | Cloud | €3/month / on-demand | EU based (Paris, Amsterdam). Smallest option provides 2GB RAM. |
|
||||
| [Prgmr][10] | VPS | $5/month | 1 month free with a year prepay. You likely want some experience with servers with this option as they don't have a lot of support.|
|
||||
| [Linode][11] | Cloud | $5/month / on-demand | Multiple regions. Smallest option provides 1GB RAM|
|
||||
|
||||
*Please help us expand this list.*
|
||||
|
||||
[1]: https://silvren.com
|
||||
[2](https://www.digitalocean.com/pricing)
|
||||
[3](https://aws.amazon.com/pricing/)
|
||||
[4](https://www.genesismuds.com/)
|
||||
[5](https://www.host1plus.com/)
|
||||
[6](https://www.scaleway.com/)
|
||||
[7](https://lowendbox.com/)
|
||||
[8](https://www.lowendtalk.com)
|
||||
[9](https://amazonlightsail.com)
|
||||
[10](https://prgmr.com/)
|
||||
[11](https://www.linode.com/)
|
||||
[2]: https://www.digitalocean.com/pricing
|
||||
[3]: https://aws.amazon.com/pricing/
|
||||
[4]: https://www.genesismuds.com/
|
||||
[5]: https://www.host1plus.com/
|
||||
[6]: https://www.scaleway.com/
|
||||
[7]: https://lowendbox.com/
|
||||
[8]: https://www.lowendtalk.com
|
||||
[9]: https://amazonlightsail.com
|
||||
[10]: https://prgmr.com/
|
||||
[11]: https://www.linode.com/
|
||||
|
||||
## Cloud9
|
||||
|
||||
|
|
|
|||
|
|
@ -44,4 +44,4 @@ switch:
|
|||
@rss2chan/delete rss = https://github.com/evennia/evennia/commits/master.atom
|
||||
|
||||
You can connect any number of RSS feeds to a channel this way. You could also connect them to the
|
||||
same channels as [IRC](./IRC) to have the feed echo to external chat channels as well.
|
||||
same channels as [IRC](./IRC.md) to have the feed echo to external chat channels as well.
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ evennia|docker /usr/src/game $
|
|||
This is a normal shell prompt. We are in the `/usr/src/game` location inside the docker container.
|
||||
If you had anything in the folder you started from, you should see it here (with `ls`) since we
|
||||
mounted the current directory to `usr/src/game` (with `-v` above). You have the `evennia` command
|
||||
available and can now proceed to create a new game as per the [Setup Quickstart](./Setup-Quickstart)
|
||||
available and can now proceed to create a new game as per the [Setup Quickstart](./Setup-Quickstart.md)
|
||||
instructions (you can skip the virtualenv and install 'globally' in the container though).
|
||||
|
||||
You can run Evennia from inside this container if you want to, it's like you are root in a little
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ fact.
|
|||
As a developer about to expose a web application to the threat landscape of the modern internet,
|
||||
here are a few tips to consider to increase the security of your Evennia install.
|
||||
|
||||
### Know your logs
|
||||
## Know your logs
|
||||
In case of emergency, check your logs! By default they are located in the `server/logs/` folder.
|
||||
Here are some of the more important ones and why you should care:
|
||||
|
||||
|
|
@ -32,7 +32,7 @@ objects, and more. If your game fails to start or crashes and you can't tell why
|
|||
place you should look for answers. Security-related events are prefixed with an `[SS]` so when
|
||||
there's a problem you might want to pay special attention to those.
|
||||
|
||||
### Disable development/debugging options
|
||||
## Disable development/debugging options
|
||||
There are a few Evennia/Django options that are set when you first create your game to make it more
|
||||
obvious to you where problems arise. These options should be disabled before you push your game into
|
||||
production-- leaving them on can expose variables or code someone with malicious intent can easily
|
||||
|
|
@ -49,7 +49,7 @@ as-is.
|
|||
# Note the leading period-- it is not a typo!
|
||||
ALLOWED_HOSTS = ['.example.com']
|
||||
|
||||
### Handle user-uploaded images with care
|
||||
## Handle user-uploaded images with care
|
||||
If you decide to allow users to upload their own images to be served from your site, special care
|
||||
must be taken. Django will read the file headers to confirm it's an image (as opposed to a document
|
||||
or zip archive), but [code can be injected into an image
|
||||
|
|
@ -70,7 +70,7 @@ resources in bulk).
|
|||
bothered with additional infrastructure, then simply reprocess user images upon receipt using an
|
||||
image library. Convert them to a different format, for example. *Destroy the originals!*
|
||||
|
||||
### Disable the web interface
|
||||
## Disable the web interface
|
||||
The web interface allows visitors to see an informational page as well as log into a browser-based
|
||||
telnet client with which to access Evennia. It also provides authentication endpoints against which
|
||||
an attacker can attempt to validate stolen lists of credentials to see which ones might be shared by
|
||||
|
|
@ -85,7 +85,7 @@ In `server/conf/settings.py`:
|
|||
# Disable the website altogether
|
||||
WEBSERVER_ENABLED = False
|
||||
|
||||
### Change your ssh port
|
||||
## Change your ssh port
|
||||
Automated attacks will often target port 22 seeing as how it's the standard port for SSH traffic.
|
||||
Also,
|
||||
many public wifi hotspots block ssh traffic over port 22 so you might not be able to access your
|
||||
|
|
@ -104,9 +104,9 @@ Save, close, then run the following command:
|
|||
|
||||
sudo service ssh restart
|
||||
|
||||
### Set up a firewall
|
||||
## Set up a firewall
|
||||
Ubuntu users can make use of the simple ufw utility. Anybody else can use iptables.
|
||||
|
||||
|
||||
# Install ufw (if not already)
|
||||
sudo apt-get install ufw
|
||||
|
||||
|
|
@ -130,8 +130,8 @@ Finally:
|
|||
Now the only ports open will be your administrative ssh port (whichever you chose), and Evennia on
|
||||
4000-4001.
|
||||
|
||||
### Use an external webserver
|
||||
Though not officially supported, there are some benefits to [deploying a webserver](./Apache-Config)
|
||||
## Use an external webserver
|
||||
Though not officially supported, there are some benefits to [deploying a webserver](./Apache-Config.md)
|
||||
to handle/proxy traffic to your Evennia instance.
|
||||
|
||||
For example, Evennia's game engine and webservice are tightly integrated. If you bring your game
|
||||
|
|
@ -149,4 +149,4 @@ Many of the popular webservers also let you plug in additional modules (like
|
|||
(and block!) malicious users or requests before they even touch your game or site. There are also
|
||||
automated solutions for installing and configuring TLS (via [Certbot/Let's
|
||||
Encrypt](https://en.wikipedia.org/wiki/Let%27s_Encrypt)) to secure your website against hotspot and
|
||||
ISP snooping.
|
||||
ISP snooping.
|
||||
|
|
|
|||
104
docs/source/Setup/Server-Conf.md
Normal file
104
docs/source/Setup/Server-Conf.md
Normal file
|
|
@ -0,0 +1,104 @@
|
|||
# Server Conf
|
||||
|
||||
|
||||
Evennia runs out of the box without any changes to its settings. But there are several important
|
||||
ways to customize the server and expand it with your own plugins.
|
||||
|
||||
## Settings file
|
||||
|
||||
The "Settings" file referenced throughout the documentation is the file
|
||||
`mygame/server/conf/settings.py`. This is automatically created on the first run of `evennia --init`
|
||||
(see the [Setup Quickstart](./Setup-Quickstart.md) page).
|
||||
|
||||
Your new `settings.py` is relatively bare out of the box. Evennia's core settings file is actually
|
||||
[evennia/settings_default.py](https://github.com/evennia/evennia/blob/master/evennia/settings_default.py)
|
||||
and is considerably more extensive (it is also heavily documented so you should refer to this file
|
||||
directly for the available settings).
|
||||
|
||||
Since `mygame/server/conf/settings.py` is a normal Python module, it simply imports
|
||||
`evennia/settings_default.py` into itself at the top.
|
||||
|
||||
This means that if any setting you want to change were to depend on some *other* default setting,
|
||||
you might need to copy & paste both in order to change them and get the effect you want (for most
|
||||
commonly changed settings, this is not something you need to worry about).
|
||||
|
||||
You should never edit `evennia/settings_default.py`. Rather you should copy&paste the select
|
||||
variables you want to change into your `settings.py` and edit them there. This will overload the
|
||||
previously imported defaults.
|
||||
|
||||
> Warning: It may be tempting to copy everything from `settings_default.py` into your own settings
|
||||
file. There is a reason we don't do this out of the box though: it makes it directly clear what
|
||||
changes you did. Also, if you limit your copying to the things you really need you will directly be
|
||||
able to take advantage of upstream changes and additions to Evennia for anything you didn't
|
||||
customize.
|
||||
|
||||
In code, the settings is accessed through
|
||||
|
||||
```python
|
||||
from django.conf import settings
|
||||
# or (shorter):
|
||||
from evennia import settings
|
||||
# example:
|
||||
servername = settings.SERVER_NAME
|
||||
```
|
||||
|
||||
Each setting appears as a property on the imported `settings` object. You can also explore all
|
||||
possible options with `evennia.settings_full` (this also includes advanced Django defaults that are
|
||||
not touched in default Evennia).
|
||||
|
||||
> It should be pointed out that when importing `settings` into your code like this, it will be *read
|
||||
only*. You *cannot* edit your settings from your code! The only way to change an Evennia setting is
|
||||
to edit `mygame/server/conf/settings.py` directly. You also generally need to restart the server
|
||||
(possibly also the Portal) before a changed setting becomes available.
|
||||
|
||||
## Other files in the `server/conf` directory
|
||||
|
||||
Apart from the main `settings.py` file,
|
||||
|
||||
- `at_initial_setup.py` - this allows you to add a custom startup method to be called (only) the
|
||||
very first time Evennia starts (at the same time as user #1 and Limbo is created). It can be made to
|
||||
start your own global scripts or set up other system/world-related things your game needs to have
|
||||
running from the start.
|
||||
- `at_server_startstop.py` - this module contains two functions that Evennia will call every time
|
||||
the Server starts and stops respectively - this includes stopping due to reloading and resetting as
|
||||
well as shutting down completely. It's a useful place to put custom startup code for handlers and
|
||||
other things that must run in your game but which has no database persistence.
|
||||
- `connection_screens.py` - all global string variables in this module are interpreted by Evennia as
|
||||
a greeting screen to show when an Account first connects. If more than one string variable is
|
||||
present in the module a random one will be picked.
|
||||
- `inlinefuncs.py` - this is where you can define custom [FuncParser functions](../Components/FuncParser.md).
|
||||
- `inputfuncs.py` - this is where you define custom [Input functions](../Components/Inputfuncs.md) to handle data
|
||||
from the client.
|
||||
- `lockfuncs.py` - this is one of many possible modules to hold your own "safe" *lock functions* to
|
||||
make available to Evennia's [Locks](../Components/Locks.md).
|
||||
- `mssp.py` - this holds meta information about your game. It is used by MUD search engines (which
|
||||
you often have to register with) in order to display what kind of game you are running along with
|
||||
statistics such as number of online accounts and online status.
|
||||
- `oobfuncs.py` - in here you can define custom [OOB functions](../Concepts/OOB.md).
|
||||
- `portal_services_plugin.py` - this allows for adding your own custom services/protocols to the
|
||||
Portal. It must define one particular function that will be called by Evennia at startup. There can
|
||||
be any number of service plugin modules, all will be imported and used if defined. More info can be
|
||||
found [here](https://code.google.com/p/evennia/wiki/SessionProtocols#Adding_custom_Protocols).
|
||||
- `server_services_plugin.py` - this is equivalent to the previous one, but used for adding new
|
||||
services to the Server instead. More info can be found
|
||||
[here](https://code.google.com/p/evennia/wiki/SessionProtocols#Adding_custom_Protocols).
|
||||
|
||||
Some other Evennia systems can be customized by plugin modules but has no explicit template in
|
||||
`conf/`:
|
||||
|
||||
- *cmdparser.py* - a custom module can be used to totally replace Evennia's default command parser.
|
||||
All this does is to split the incoming string into "command name" and "the rest". It also handles
|
||||
things like error messages for no-matches and multiple-matches among other things that makes this
|
||||
more complex than it sounds. The default parser is *very* generic, so you are most often best served
|
||||
by modifying things further down the line (on the command parse level) than here.
|
||||
- *at_search.py* - this allows for replacing the way Evennia handles search results. It allows to
|
||||
change how errors are echoed and how multi-matches are resolved and reported (like how the default
|
||||
understands that "2-ball" should match the second "ball" object if there are two of them in the
|
||||
room).
|
||||
|
||||
## ServerConf
|
||||
|
||||
There is a special database model called `ServerConf` that stores server internal data and settings
|
||||
such as current account count (for interfacing with the webserver), startup status and many other
|
||||
things. It's rarely of use outside the server core itself but may be good to
|
||||
know about if you are an Evennia developer.
|
||||
|
|
@ -4,32 +4,32 @@ This documentation covers how to setup and maintain the server, from first insta
|
|||
|
||||
## Installation & running
|
||||
|
||||
- [Installation & Setup quick-start](./Setup-Quickstart) - one page to quickly get you going
|
||||
- [Extended Install instructions](./Extended-Installation) - if you have trouble or want to contribute to Evennia itself
|
||||
- [Running through Docker](./Running-Evennia-in-Docker) - alternative install method, useful for quick deployment on remote servers
|
||||
- [Installing Evennia on Android](./Installing-on-Android) - for those craving a mobile life
|
||||
- [Controlling the server](./Start-Stop-Reload) - an extended view on how to start/stop/update the server
|
||||
- [Installation & Setup quick-start](./Setup-Quickstart.md) - one page to quickly get you going
|
||||
- [Extended Install instructions](./Extended-Installation.md) - if you have trouble or want to contribute to Evennia itself
|
||||
- [Running through Docker](./Running-Evennia-in-Docker.md) - alternative install method, useful for quick deployment on remote servers
|
||||
- [Installing Evennia on Android](./Installing-on-Android.md) - for those craving a mobile life
|
||||
- [Controlling the server](./Start-Stop-Reload.md) - an extended view on how to start/stop/update the server
|
||||
|
||||
## Installing custom game dirs
|
||||
|
||||
- [Installing Arxcode](../Contribs/Arxcode-installing-help) - a custom gamedir based on the popular Evennia game [Arx](https://play.arxgame.org/)
|
||||
- [Installing Arxcode](../Contribs/Arxcode-installing-help.md) - a custom gamedir based on the popular Evennia game [Arx](https://play.arxgame.org/)
|
||||
|
||||
## Configuring
|
||||
|
||||
- [The settings file](./Settings-File) - how and where to change the main settings of the server
|
||||
- [Change database engine](./Choosing-An-SQL-Server) - if you want to use something other than SQLite3
|
||||
- [Evennia game index](./Evennia-Game-Index) - register your upcoming game with the index to start the hype going
|
||||
- [The settings file](./Settings-File.md) - how and where to change the main settings of the server
|
||||
- [Change database engine](./Choosing-An-SQL-Server.md) - if you want to use something other than SQLite3
|
||||
- [Evennia game index](./Evennia-Game-Index.md) - register your upcoming game with the index to start the hype going
|
||||
|
||||
|
||||
- [Chat on IRC](./IRC) - how to link your game's channels to an external [IRC](https://en.wikipedia.org/wiki/Internet_Relay_Chat) channel
|
||||
- [Chat on Grapevine](./Grapevine) - how to link your game's channels the [Grapevine](https://grapevine.haus/) mud network/chat
|
||||
- [Messages to RSS](./RSS) - have your game notify people through RSS
|
||||
- [Messages to Twitter](./How-to-connect-Evennia-to-Twitter) - have Evennia send messages to [Twitter](https://twitter.com/) (requires some coding)
|
||||
- [Chat on IRC](./IRC.md) - how to link your game's channels to an external [IRC](https://en.wikipedia.org/wiki/Internet_Relay_Chat) channel
|
||||
- [Chat on Grapevine](./Grapevine.md) - how to link your game's channels the [Grapevine](https://grapevine.haus/) mud network/chat
|
||||
- [Messages to RSS](./RSS.md) - have your game notify people through RSS
|
||||
- [Messages to Twitter](./How-to-connect-Evennia-to-Twitter.md) - have Evennia send messages to [Twitter](https://twitter.com/) (requires some coding)
|
||||
|
||||
## Going public
|
||||
|
||||
- [Notes about security](./Security) - some things to think about to stay safe(r)
|
||||
- [Using HAProxy](./HAProxy-Config) - putting a proxy in front of the game server for security
|
||||
- [Using Apache as a webserver](./Apache-Config) - use Apache instead of Evennia's webserver (limited support)
|
||||
- [Taking your server online](./Online-Setup) - decide on where to host and configure your game for production
|
||||
- [Client support grid](./Client-Support-Grid) - clients known to work (or not) with Evennia
|
||||
- [Notes about security](./Security.md) - some things to think about to stay safe(r)
|
||||
- [Using HAProxy](./HAProxy-Config.md) - putting a proxy in front of the game server for security
|
||||
- [Using Apache as a webserver](./Apache-Config.md) - use Apache instead of Evennia's webserver (limited support)
|
||||
- [Taking your server online](./Online-Setup.md) - decide on where to host and configure your game for production
|
||||
- [Client support grid](./Client-Support-Grid.md) - clients known to work (or not) with Evennia
|
||||
|
|
|
|||
|
|
@ -7,11 +7,11 @@ in complete isolation if you want, without needing any access to the internet.
|
|||
## Installation
|
||||
|
||||
Evennia supports Python 3.7 to 3.9. As with most Python packages, using a
|
||||
[virtualenv](../Glossary#virtualenv) is recommended in order to keep your
|
||||
[virtualenv](../Glossary.md#virtualenv) is recommended in order to keep your
|
||||
installation independent from the system libraries. It's _not_ recommended
|
||||
to install Evennia as superuser.
|
||||
|
||||
```warning::
|
||||
```{warning}
|
||||
|
||||
This is not yet available. Switch to the 0.9.5 version of these docs to install Evennia.
|
||||
```
|
||||
|
|
@ -22,8 +22,8 @@ Make sure the `evennia` command works. Use `evennia -h` for usage help (or read
|
|||
|
||||
If you are having trouble, want to install in some other way (like with Docker)
|
||||
or want to contribute to Evennia itself, check out the [Extended Installation
|
||||
instructions](./Extended-Installation). It also has a [troubleshooting
|
||||
section](./Extended-Installation#Troubleshooting) for different operating
|
||||
instructions](./Extended-Installation.md). It also has a [troubleshooting
|
||||
section](./Extended-Installation.md#troubleshooting) for different operating
|
||||
systems.
|
||||
|
||||
|
||||
|
|
@ -96,4 +96,4 @@ Full stop of the server (will need to use `start` to activate it again):
|
|||
|
||||
## The Next step
|
||||
|
||||
Why not head into the [Starting Tutorial](../Howto/Starting/Part1/Starting-Part1) to learn how to start making your new game!
|
||||
Why not head into the [Starting Tutorial](../Howto/Starting/Part1/Starting-Part1.md) to learn how to start making your new game!
|
||||
|
|
|
|||
|
|
@ -3,10 +3,10 @@
|
|||
|
||||
You control Evennia from your game folder (we refer to it as `mygame/` here), using the `evennia`
|
||||
program. If the `evennia` program is not available on the command line you must first install
|
||||
Evennia as described in the [Setup Quickstart](./Setup-Quickstart) page.
|
||||
Evennia as described in the [Setup Quickstart](./Setup-Quickstart.md) page.
|
||||
|
||||
> Hint: If you ever try the `evennia` command and get an error complaining that the command is not
|
||||
available, make sure your [virtualenv](../Glossary#virtualenv) is active.
|
||||
available, make sure your [virtualenv](../Glossary.md#virtualenv) is active.
|
||||
|
||||
Below are described the various management options. Run
|
||||
|
||||
|
|
@ -20,7 +20,7 @@ to give you a menu with options.
|
|||
|
||||
## Starting Evennia
|
||||
|
||||
Evennia consists of two components, the Evennia [Server and Portal](../Components/Portal-And-Server). Briefly,
|
||||
Evennia consists of two components, the Evennia [Server and Portal](../Components/Portal-And-Server.md). Briefly,
|
||||
the *Server* is what is running the mud. It handles all game-specific things but doesn't care
|
||||
exactly how players connect, only that they have. The *Portal* is a gateway to which players
|
||||
connect. It knows everything about telnet, ssh, webclient protocols etc but very little about the
|
||||
|
|
@ -67,7 +67,7 @@ reboots. Since they are connected to the *Portal*, their connections are not los
|
|||
|
||||
|
||||
Reloading is as close to a "warm reboot" you can get. It reinitializes all code of Evennia, but
|
||||
doesn't kill "persistent" [Scripts](../Components/Scripts). It also calls `at_server_reload()` hooks on all
|
||||
doesn't kill "persistent" [Scripts](../Components/Scripts.md). It also calls `at_server_reload()` hooks on all
|
||||
objects so you
|
||||
can save eventual temporary properties you want.
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue