adaptation from haveachin/bedprox
-config-path
specifies the path to all your server configs [default: "./configs/"
]
./gamma -config-path="."
debug: false
genericJoinResponse: There is no proxy associated with this domain. Please check your configuration.
receiveProxyProtocol: false
prometheus:
enabled: false
bind: :9060
api:
enabled: false
bind: :5000
ping:
edition: MCPE
versionname: 1.19.50
versionProtocol: 560
description: Gamma proxy
playerCount: 0
maxPlayerCount: 10
gamemode: SURVIVAL
gamemodeNumeric: 1
Values can be left out if they don't deviate from the default, a config.json with just {}
is still required for startup.
The built-in prometheus exporter can be used to view metrics about gamma' operation.
This can be used through "prometheusEnabled": true
and "prometheusBind": ":9070"
in config.yml
It is recommended to firewall the prometheus exporter with an application like ufw or iptables to make it only accessible by your own Prometheus instance.
Example prometheus.yml configuration:
scrape_configs:
- job_name: gamma
static_configs:
- targets: ['gamma-exporter-hostname:port']
gamma_connected{host="proxy.example.com",instance="vps1.example.com:9070",job="gamma"} 10
gamma_handshakes{instance="vps1.example.com:9070",type="status",host="proxy.example.com",country="DE"} 5
GET /proxies
will return
[
"config",
"config2"
]
GET /proxies/{name}
will return
{
"domainNames": ["play.example.org"],
"proxyTo": "backend.example.org:25566"
}
POST /proxies/{name}
with body
{
"domainNames": ["play.example.org"],
"proxyTo": "backend.example.org:25566"
}
will return
{"success": true, "message": "the proxy has been succesfully added"}
DELETE /proxies/{name}
will return 200(OK)
GET /
will return 200(OK)