Skip to content

Domain-switching reverse proxy for Minecraft servers.

License

Notifications You must be signed in to change notification settings

hellfire-mc/magma

Repository files navigation

Magma is a domain-switching reverse proxy for Minecraft servers.

It functions by reading the server address packet sent by the client during the login process, then switching packets to a number of routes based on this address, as specified in the proxy's config. You can think of Magma as NGINX for Minecraft.

🚧 Warning 🚧

Magma is still very much work in progress and is not production ready! Contributions are very much welcome.

Configuration

Example Configuration

  • debug: boolean - enable debug logging

  • online: boolean - whether to use online mode

  • listener: map -

# Config file version - do not edit!
version = 1

# Enable debug logging
debug = false
# Enable online mode
online = true

[listener]
# The bind address of the server
bind_address = "0.0.0.0"
# The listening port of the server
port = 25565

# A server proxied by Moss.
[[servers]]
# The domain of the server.
domain = "mc.skzr.dev"
# The forwarding target.
target = "172.18.0.1:34001"

[[servers]]
# A list of domains supported by this server entry.
domains = [
	"mc.kaylen.dog",
	"play.kaylen.dog"
]
selection_algorithm = "random" # One of "random", "round-robin"
# A list of targets supported by this server entry.
targets = [
	"172.18.0.1:34001",
	"172.18.0.1:34002"
]

License

Magma is licensed under the GNU Affero General Public License version 3.0.

About

Domain-switching reverse proxy for Minecraft servers.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Languages