ngx-minecraft/example.nginx.conf
2025-06-22 02:37:03 +05:00

71 lines
1.4 KiB
Plaintext

stream {
# Map domain names to destinations
map $mc_preread_server_name $mcname {
example.com mc_RealServer;
default $mc_err;
}
# example of a destination.
# The IP is where the actual minecraft server is.
upstream mc_RealServer {
server 127.0.0.1:25565;
}
# nginx will listen on port 25565 everywhere
server {
listen 0.0.0.0:25565;
listen [::]:25565;
js_preread mcroute.preread;
proxy_pass $mcname;
}
## internals ##
# change the ports/ips if you need multiple instances of this thing for some reason
# upstream and server blocks must match!
js_import mcroute.js;
js_set $mc_preread_server_name mcroute.where;
js_set $mc_hout mcroute.handler_out;
js_set $mc_stt mcroute.status_type;
server {
listen 127.0.0.2:65338;
js_filter mcroute.unb64;
js_access mcroute.err404;
return $mc_hout;
}
server {
listen 127.0.0.2:65337;
js_filter mcroute.unb64;
js_access mcroute.err503;
return $mc_hout;
}
server {
listen 127.0.0.2:65336;
js_filter mcroute.unb64;
js_access mcroute.ponger;
return $mc_hout;
}
server {
listen 127.0.0.2:65335;
js_filter mcroute.unb64;
js_access mcroute.disconner;
return $mc_hout;
}
map $mc_stt $mc_err {
"disconnect" mc_disconnecter;
"ping" mc_ping;
"status" mc_404_status;
default error;
}
upstream mc_404_status {
server 127.0.0.2:65338;
}
upstream mc_ping {
server 127.0.0.2:65336;
}
upstream mc_disconnecter {
server 127.0.0.2:65335;
}
## /internals ##
}