aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/auth_backends.md31
1 files changed, 27 insertions, 4 deletions
diff --git a/doc/auth_backends.md b/doc/auth_backends.md
index bcf3570..e58bd42 100644
--- a/doc/auth_backends.md
+++ b/doc/auth_backends.md
@@ -1,6 +1,8 @@
# 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
@@ -25,14 +27,26 @@ for humans or shell scripts.
This backend is partially compatible with regular Minetest `auth.sqlite` databases.
The proxy is able to run using this backend and the authentication information
can be converted by [mt-auth-convert](#mt-auth-convert).
-However banning is not supported with this backend and no conversions involving it
-will ever output ban information.
+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).
+However storing a player's last server is not supported with this backend
+and no conversions involving it will ever output server information.
+
+Postgres connection strings are required to use this backend.
+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.
-This method currently does not support bans, for example.
+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.
@@ -53,8 +67,17 @@ Please specify the version explicitly if @latest differs from your proxy version
6. Start the proxy.
7. (optional) Check if everything is working.
+Unused Postgres connection strings should be set to nil,
+though any other value should work as well.
+
Example (converting Minetest's auth.sqlite to the `files` backend):
```
-mt-auth-convert mtsqlite3 files
+mt-auth-convert mtsqlite3 files nil nil
+```
+
+Example (converting Minetest's PostgreSQL database to the `files` backend):
+
+```
+mt-auth-convert mtpostgresql files 'host=localhost user=mt dbname=mtauth sslmode=disable' nil
```