aboutsummaryrefslogtreecommitdiff
path: root/doc/auth_backends.md
diff options
context:
space:
mode:
Diffstat (limited to 'doc/auth_backends.md')
-rw-r--r--doc/auth_backends.md21
1 files changed, 17 insertions, 4 deletions
diff --git a/doc/auth_backends.md b/doc/auth_backends.md
index 59c453f..ce9dc2b 100644
--- a/doc/auth_backends.md
+++ b/doc/auth_backends.md
@@ -1,14 +1,17 @@
# Authentication backends
## Supported backends
+
All backends prefixed with `mt` are implementations of the upstream backends.
They store ban information in `ipban.txt` in the Minetest format.
### files
+
This is the default authentication backend unless specified otherwise
in the [config](https://github.com/HimbeerserverDE/mt-multiserver-proxy/blob/main/doc/config.md).
-It creates a directory named `auth` in the proxy directory. It contains subdirectories
-for each user. These are home to several files (created on demand):
+It creates a directory named `auth` in the proxy directory.
+It contains subdirectories for each user.
+These are home to several files (created on demand):
* `salt`: The binary SRP salt of the user.
* `verifier`: The binary SRP verifier of the user.
@@ -24,13 +27,15 @@ and providing future expandibility. It's also very simple and easily readable
for humans or shell scripts.
### mtsqlite3
-This backend is partially compatible with regular Minetest `auth.sqlite` databases.
+
+This backend is partially compatible with regular Minetest `auth.sqlite` DBs.
The proxy is able to run using this backend and the authentication information
can be converted by [mt-auth-convert](#mt-auth-convert).
However storing a player's last server is not supported with this backend
and no conversions involving it will ever output server information.
### mtpostgresql
+
This backend provides partial compatibility with regular Minetest PostgreSQL
databases. The proxy is able to run using this backend and the authentication
information can be converted by [mt-auth-convert](#mt-auth-convert).
@@ -42,6 +47,7 @@ The proxy uses a configuration value for this
while the converter gets them from command-line arguments.
## Dealing with existing Minetest databases
+
If possible you should always convert your existing database
to the `files` format. An alternative is to reconfigure the proxy
to use the existing format directly at the cost of reduced functionality.
@@ -49,9 +55,14 @@ This method currently does not support storing the last server
a user was connected to, for example.
## mt-auth-convert
+
There's a tool that is able to convert between the supported backends.
### Installation
+
+If you didn't install all tools using the command in [README.md](https://github.com/HimbeerserverDE/mt-multiserver-proxy#readme),
+manually run the following command to install `mt-auth-convert`:
+
```
go install github.com/HimbeerserverDE/mt-multiserver-proxy/cmd/mt-auth-convert@latest
```
@@ -59,7 +70,9 @@ go install github.com/HimbeerserverDE/mt-multiserver-proxy/cmd/mt-auth-convert@l
Please specify the version explicitly if @latest differs from your proxy version.
### Usage
-1. Move the binary to the directory the proxy binary is located in. The same rules apply regarding symlinks (see [README](https://github.com/HimbeerserverDE/mt-multiserver-proxy#readme)).
+
+1. Move the binary to the directory the proxy binary is located in.
+The same rules apply regarding symlinks (see [README.md](https://github.com/HimbeerserverDE/mt-multiserver-proxy#readme)).
2. Move or copy the source database to the directory.
3. Stop the proxy.
4. Run the conversion tool.