Go to file
HimbeerserverDE ce203b8f18
Store servers in a map
Closes #100
2022-05-02 21:57:38 +02:00
cmd/mt-multiserver-proxy gitignore & merge 2022-04-21 14:12:40 +02:00
doc Document media pools 2022-05-01 18:02:48 +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 Make go vet happy 2022-04-21 13:21:15 +02:00
chat.go Make chat command handlers run concurrently 2022-05-01 10:28:41 +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 Store servers in a map 2022-05-02 21:57:38 +02:00
connect.go Store servers in a map 2022-05-02 21:57:38 +02:00
content.go Store servers in a map 2022-05-02 21:57:38 +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 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 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
process.go go fmt 2022-05-02 19:33:52 +02:00
proxy.go Correct version string 2022-05-01 10:30:16 +02:00
run.go Store servers in a map 2022-05-02 21:57:38 +02:00
server_conn.go Media pool tidying 2022-05-01 16:58:11 +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.