- stop a minecraft server when idle
- start the server when a player joins
- forward the player once the server is up
- schedule server commands
- blankie is not a proxy, the target server must be reachable by the user and have
accepts-transfersenabled - whitelist support (monitors server whitelist, unauthorized players are rejected before transfer/server startup)
- webhooks for events
--config <path>
[server]
java_path = "java" # java executable
work_dir = "." # server dir, use \\ in windows paths
args = ["-Xmx2G", "-jar", "server.jar", "-nogui"] # java args
whitelist_enabled = true # enable whitelist
whitelist_path = "whitelist.json" # whitelist path, relative to work dir (or absolute path)
[blankie]
bind_addr = "0.0.0.0:25565" # blankie address, this is the public address the client connects to
target_addr = "localhost:25566" # server address (port set in server.properties)
log_dir = "blankie-log" # blankie log dir, relative to work dir (or absolute path)
shutdown_timeout = 300 # timeout in seconds before server is stopped
check_interval = 5 # interval in seconds to query server info
motd = "Waiting for server..." # motd to show when server is down
players = 0 # player count when server is down
max_players = 1337 # max player count when server is down
[[blankie.interval_commands]]
command = "say Hello World" # command to run
interval = 60 # interval in seconds to run command
[[blankie.webhooks]]
webhook_url = "" # webhook url
events = ["Transfer"] # events to trigger webhook
body = "{user} joined the server!" # webhook body
bearer_token = "your-bearer-token" # bearer token (optional)
user_agent = "blankie/0.1.0" # user agent (optional)Connect: player connected to blankie{ip}
Disconnect: disconnect from blankie, not server{ip}
Login: player logged in{user}{uuid}{ip}
WhitelistReject: player not whitelisted{user}{uuid}{ip}
ServerStart: server started{user}{uuid}{ip}
ServerStop: server stopped due to timeoutServerEmpty: server emptyServerUp: target server reachableTransfer: player transferred to target server{user}{uuid}{host}{port}
BlankieStart: blankie started
- discord
- user join (transfer)
body = "{ \"content\": null, \"embeds\": [{\"description\": \"{user} joined the server!\", \"color\": 5369975, \"author\": {\"name\": \"{user}\", \"icon_url\": \"https://mc-heads.net/avatar/{uuid}\"}}], \"attachments\": []}"
- user join (transfer)
- server start
body = "{ \"content\": null, \"embeds\": [{\"description\": \"Server started for {user}\", \"color\": 13652464, \"author\": {\"name\": \"blankie\", \"icon_url\": \"https://raw.githubusercontent.com/mxve/blankie/main/.github/blankie.png\"}}], \"attachments\": []}"
- server stop
body = "{ \"content\": null, \"embeds\": [{\"description\": \"Server stopped\", \"color\": 15749463, \"author\": {\"name\": \"blankie\", \"icon_url\": \"https://raw.githubusercontent.com/mxve/blankie/main/.github/blankie.png\"}}], \"attachments\": []}"



