Go to file
HimbeerserverDE 16c5076b7d
Delete mod_tidier.yml
2022-05-15 15:04:31 +02:00
.github/workflows Delete mod_tidier.yml 2022-05-15 15:04:31 +02:00
cmd/mt-multiserver-proxy gitignore & merge 2022-04-21 14:12:40 +02:00
doc Use JSON object instead of array to properly represent the server map and not cause an error on startup 2022-05-03 07:57:25 +02:00
textures Convert default textures into Go code 2021-09-03 20:08:09 +02:00
.gitignore Write log output to file 2021-09-05 17:14:08 +02:00
LICENSE mt credits 2021-09-10 14:51:20 +02:00
README.md Upgrade Go and dependencies 2022-04-20 19:02:00 +02:00
activeobject.go Remove empty line again 2022-05-15 10:30:32 +02:00
auth.go Prepare for storing last server 2021-10-24 15:21:56 +02:00
auth_files.go Make go vet happy 2022-04-21 13:21:15 +02:00
chat.go Improve PR 2022-05-14 18:55:56 +02:00
client_conn.go Make client packet handler less repetitive + Fix race condition (anon5) 2021-09-13 12:52:37 +02:00
config.go Re-add duplicate server check but do it properly this time 2022-05-03 08:06:07 +02:00
connect.go Store servers in a map 2022-05-02 21:57:38 +02:00
content.go fix variable naming and client compatability issues 2022-05-14 18:30:55 +02:00
formspec.go More sc.prefix => sc.mediaPool replacement 2022-05-01 17:02:50 +02:00
go.mod Upgrade Go and dependencies 2022-04-20 19:02:00 +02:00
go.sum Upgrade Go and dependencies 2022-04-20 19:02:00 +02:00
hop.go Store servers in a map 2022-05-02 21:57:38 +02:00
list.go fix variable naming and client compatability issues 2022-05-14 18:30:55 +02:00
listen.go Smarter logging (anon5) 2021-09-13 12:14:11 +02:00
log.go Add simple file-based auth system by anon5 2021-09-13 15:54:57 +02:00
mediacache.go fmt 2022-04-21 21:12:32 +02:00
moderation.go Switch to new mt API 2021-11-13 12:32:44 +01:00
perms.go All players have the empty string permission 2021-09-11 11:49:38 +02:00
players.go Document exported code (#49) 2021-09-10 12:47:19 +02:00
plugin.go Add simple file-based auth system by anon5 2021-09-13 15:54:57 +02:00
plugin_chatcmd.go Accept telnet usage strings 2021-09-12 14:46:22 +02:00
plugin_interact.go requested changes 2 2022-05-11 20:52:20 +02:00
process.go fix variable naming and client compatability issues 2022-05-14 18:30:55 +02:00
proxy.go fix variable naming and client compatability issues 2022-05-14 18:30:55 +02:00
run.go Rename DefaultSrv* to DefaultServer* 2022-05-02 22:04:52 +02:00
server_conn.go fix variable naming and client compatability issues 2022-05-14 18:30:55 +02:00
telnet.go Improve telnet readString error handling 2022-04-22 18:18:53 +02:00
uptime.go Add server list support 2021-09-11 15:38:45 +02:00

README.md

mt-multiserver-proxy

mt-multiserver-proxy is a reverse proxy designed for linking multiple Minetest servers together. It is the successor to multiserver.

mt

This project was made possible by anon55555's mt module.

Installation

Go 1.18 or higher is required. Run

go install github.com/HimbeerserverDE/mt-multiserver-proxy/cmd/mt-multiserver-proxy@latest

to download and compile the project. A mt-multiserver-proxy executable will be created in your $GOBIN directory. The same command is also used to upgrade to the latest version. You will need to recompile all plugins after upgrading.

Usage

Starting

Run $GOBIN/mt-multiserver-proxy. The configuration file and other required files are created automatically in the directory the executable (or symlink to said executable) is in, so make sure to move the executable to the desired location or use a symlink.

Stopping

mt-multiserver-proxy reacts to SIGINT, SIGTERM and SIGHUP. It stops listening for new connections, kicks all clients, disconnects from all servers and exits. If some clients aren't responding, mt-multiserver-proxy waits until they have timed out.

Configuration

The configuration file name and format including a minimal example are described in doc/config.md. All internal servers need to allow empty passwords and must not be reachable from the internet!

Chat commands

The default chat commands can be installed as a plugin.

Telnet interface

Chat commands can also be executed over a telnet connection. See telnet.md for details.