$$$$$$$$\ $$\ $$\ $$$$$$\
\____$$ | $$$\ $$$ |$$ __$$\
$$ / $$$$\ $$$$ |$$ / \__|
$$ / $$\$$\$$ $$ |$$ |
$$ / $$ \$$$ $$ |$$ |
$$ / $$ |\$ /$$ |$$ | $$\
$$$$$$$$\ $$ | \_/ $$ |\$$$$$$ |
\________|\__| \__| \______/
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.