lbirkert/ZMC
asynchronous minecraft reverse proxy written in zig
4ad3002e9d6abc160a66c21cff4e99e47d220bc3.tar.gz $$$$$$$$\ $$\ $$\ $$$$$$\
\____$$ | $$$\ $$$ |$$ __$$\
$$ / $$$$\ $$$$ |$$ / \__|
$$ / $$\$$\$$ $$ |$$ |
$$ / $$ \$$$ $$ |$$ |
$$ / $$ |\$ /$$ |$$ | $$\
$$$$$$$$\ $$ | \_/ $$ |\$$$$$$ |
\________|\__| \__| \______/
ZMC is an asynchronous reverse proxy for Minecraft written in ZIG.
It allows you to host multiple Minecraft servers reachable over different domains via a single IP address.
NOTE ZMC requires the latest ZIG version from the master branch.
git clone --recursive https://github.com/KekOnTheWorld/ZMC
The file path can be passed as a commandline argument to ZMC: zig build run -- yourconfig.zon
The configuration itself is in the ZON (Zig Object Notation) file format.
An example configuration can be found at config.zon.
The address the server will listen on. Recommended is 0.0.0.0 for IPv4 and ::1 for IPv6.
The port the server will listen on. Minecraft uses 25565 as its default port.
An array of gateways. A gateway contains a hostname (the domain this gateway will be accessible from, which
should have an A/AAAA record pointing to the server ZMC is running on), an address (the address to your
local Minecraft server; probably localhost/127.0.0.1/::1), and a port (the port of your local
Minecraft server).
zig build -Doptimize=ReleaseSafe
zig build -Doptimize=ReleaseSmall
zig build -Doptimize=ReleaseFast
The executable will be located in the zig-out directory.
ZMC is licensed under the MIT License.