Enter your admin token to continue
Logged in as {{admin-user}}
| Player | Type | Punishment ID | Reason | Submitted | Actions |
|---|---|---|---|---|---|
| {{type}} | #{{punishment-id}} |
{{reason}}
Full appeal →
|
{{created-at}} |
| Player | Type | Punishment | Status | Submitted | Handled | By | Link |
|---|---|---|---|---|---|---|---|
| {{type}} | #{{punishment-id}} |
{{status}} | {{created-at}} | {{handled-at}} | {{handled-by}} | View |
| Player | Reason | Banned By | Expires | Date | ID | Action |
|---|---|---|---|---|---|---|
| {{reason}} | {{operator}} | {{expires}} | {{date}} |
| Player | Reason | Muted By | Expires | Date | ID | Action |
|---|---|---|---|---|---|---|
| {{reason}} | {{operator}} | {{expires}} | {{date}} |
Edit plugins/FluxBans/web.yml on your server and run /fluxbans reload
(or restart) to apply changes.
Caddy automatically obtains and renews a free Let's Encrypt certificate for your domain. No manual certificate management required.
web.yml, set:
web: bind: "127.0.0.1" # localhost only — Caddy will forward traffic port: 8080
# Ubuntu / Debian apt install -y debian-keyring debian-archive-keyring apt-transport-https curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | gpg --dearmor -o /usr/share/keyrings/caddy.gpg curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | tee /etc/apt/sources.list.d/caddy-stable.list apt update && apt install caddy
/etc/caddy/Caddyfile:
bans.yourserver.com {
reverse_proxy 127.0.0.1:8080
}
Replace bans.yourserver.com with your actual domain.
systemctl enable --now caddy # Verify: curl -I https://bans.yourserver.com
web.yml so links in kick messages are correct:
web: base-url: "https://bans.yourserver.com"Then run
/fluxbans reload.
web.bind: "127.0.0.1" in web.yml (same as Caddy step 1).
apt install -y nginx certbot python3-certbot-nginx
/etc/nginx/sites-available/fluxbans:
server {
listen 80;
server_name bans.yourserver.com;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
ln -s /etc/nginx/sites-available/fluxbans /etc/nginx/sites-enabled/ nginx -t && systemctl reload nginx certbot --nginx -d bans.yourserver.com
web.base-url to https://bans.yourserver.com and reload.
FluxBans can serve HTTPS directly without a reverse proxy. You need a PKCS12 keystore — either self-signed or from a CA.
# Run this in your server's plugins/FluxBans/ folder keytool -genkeypair \ -alias fluxbans \ -keyalg RSA -keysize 2048 \ -storetype PKCS12 \ -keystore ssl/keystore.p12 \ -validity 365 \ -dname "CN=your-server-ip, OU=FluxBans, O=MyServer, L=Unknown, ST=Unknown, C=US"
# Get cert (webroot method — ensure port 80 is open and FluxBans is NOT on it) certbot certonly --standalone -d bans.yourserver.com # Export to PKCS12 openssl pkcs12 -export \ -in /etc/letsencrypt/live/bans.yourserver.com/fullchain.pem \ -inkey /etc/letsencrypt/live/bans.yourserver.com/privkey.pem \ -out plugins/FluxBans/ssl/keystore.p12 \ -name fluxbans \ -passout pass:changeme
web.yml:
web:
bind: "0.0.0.0"
ssl:
enabled: true
keystore-path: "ssl/keystore.p12" # relative to plugins/FluxBans/
keystore-password: "changeme"
port: 8443
base-url: "https://bans.yourserver.com:8443"
web.bind: "127.0.0.1",
and Cloudflare will handle HTTPS automatically — no certificate required on the server.
Set SSL/TLS mode to Full in the Cloudflare dashboard.