Go to file
HimbeerserverDE 239b4b9901
Upgrade Go and dependencies
2022-04-20 19:02:00 +02:00
cmd/mt-multiserver-proxy goimports 2021-10-13 17:02:12 +02:00
doc Upgrade Go and dependencies 2022-04-20 19:02:00 +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 Expose ClientConn to plugins 2021-09-06 11:03:27 +02:00
auth.go Prepare for storing last server 2021-10-24 15:21:56 +02:00
auth_files.go Prepare for storing last server 2021-10-24 15:21:56 +02:00
chat.go Smarter logging (anon5) 2021-09-13 12:14:11 +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 Send user to the last server they were connected to 2021-10-24 15:35:12 +02:00
connect.go Embed textures instead of hardcoding them 2021-09-15 18:00:49 +02:00
content.go some *more* requested changes 2022-04-20 18:52:47 +02:00
formspec.go Use globals for compiled regular expressions (anon5) 2021-09-13 10:42:44 +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 Send user to the last server they were connected to 2021-10-24 15:35:12 +02:00
list.go Smarter logging (anon5) 2021-09-13 12:14:11 +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 Changed Caching to use hex encoded hashes instead of file names to reduce footprint and improve performance 2022-04-20 18:48:09 +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
process.go Remote media server support 2021-11-27 10:05:31 +01:00
proxy.go Document Path function 2021-10-24 15:02:07 +02:00
run.go Move documentation comment to correct function 2022-03-13 10:54:46 +01:00
server_conn.go Switch to new mt API 2021-11-13 12:32:44 +01:00
telnet.go Minor telnet changes 2021-09-13 16:12:16 +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.