evennia/docs/source/Components/Portal-And-Server.md

27 lines
1.8 KiB
Markdown
Raw Normal View History

# Portal And Server
Evennia consists of two processes, known as *Portal* and *Server*. They can be controlled from
2022-11-26 00:10:28 +01:00
inside the game or from the command line as described [in the Running-Evennia doc](../Setup/Running-Evennia.md).
2022-11-26 00:10:28 +01:00
In short, the Portal knows everything about internet protocols (telnet, websockets etc), but knows very little about the game.
2022-11-26 00:10:28 +01:00
In contrast, the Server knows everything about the game. It knows that a player has connected but now _how_ they connected.
2022-11-26 00:10:28 +01:00
The effect of this is that you can fully `reload` the Server and have players still connected to the game. One the server comes back up, it will re-connect to the Portal and re-sync all players as if nothing happened.
```
Internet│ ┌──────────┐ ┌─┐ ┌─┐ ┌─────────┐
│ │Portal │ │S│ ┌───┐ │S│ │Server │
P │ │ │ │e│ │AMP│ │e│ │ │
l ──┼──┤ Telnet ├─┤s├───┤ ├───┤s├─┤ │
a │ │ Webclient│ │s│ │ │ │s│ │ Game │
y ──┼──┤ SSH ├─┤i├───┤ ├───┤i├─┤ Database│
e │ │ ... │ │o│ │ │ │o│ │ │
r ──┼──┤ ├─┤n├───┤ ├───┤n├─┤ │
2022-11-26 00:10:28 +01:00
s │ │ │ │s│ └───┘ │s│ │ │
│ └──────────┘ └─┘ └─┘ └─────────┘
│Evennia
2022-11-26 00:10:28 +01:00
```
The Server and Portal are glued together via an AMP (Asynchronous Messaging Protocol) connection. This allows the two programs to communicate seamlessly on the same machine.