Run Node.js bots, Python bots, multiple Minecraft servers, and tunnels (ngrok, cloudflared, playit.gg) from one process — with a single web dashboard you can manage, and share access to, from anywhere. Works self-hosted or on Pterodactyl, even when the Minecraft server itself is stopped.
PteroWrapper is the combined functionality of NodeRunner, PyRunner, and TunnelMC — compiled into a single wrapper that makes running and managing a server genuinely easy, whether it's self-hosted on a home machine or running on Pterodactyl.
/node, /python,
/mc, /tunnel, and /status slash commands,
with per-command permissions (specific roles and users, or everyone). Kept as a
separate ~16MB download so it doesn't bloat the base install for everyone else —
grab it from the section below.No plugins/ folder — PteroWrapper is the process, whether that's a
Pterodactyl egg or just java -jar on your own machine.
PteroWrapper.jar. Self-hosting? Run
java -jar PteroWrapper.jar. On Pterodactyl, upload it, then either
rename it to match your egg's "Server Jar File" startup variable (often
server.jar) or just change that variable to
PteroWrapper.jar — either way, no need to touch the startup command
itself, which most panels won't let you edit anyway.config.yml
on first run and, if no tunnels are configured, auto-exposes the dashboard via a
cloudflared quick tunnel.config.yml directly and run reload from the console.A real Discord bot — /node, /python, /mc,
/tunnel, and /status slash commands, with per-command
permissions. Kept out of the base install (the Discord library it needs adds ~16MB
that most people don't want) — grab it separately only if you use it.
discord-plugin.jar and place it in a
pterowrapper-plugins/ folder next to PteroWrapper.jar
— create the folder if it doesn't exist. Named differently from a Minecraft
server's own plugins/ folder on purpose, so the two never collide.Everything the dashboard can do is also a console command — Pterodactyl's console or a plain terminal, same commands either way.
| Command | Description |
|---|---|
| status | Show every managed service's status |
| node <start|stop|restart|list> [name] | Control Node.js bots |
| py <start|stop|restart|list> [name] | Control Python bots |
| mc <start|stop|restart|send> [name] | Control Minecraft servers |
| tunnel <start|stop|restart|list> [name] | Control tunnels |
| tunnel playit <claim|status|unlink> | Link/check/unlink a playit.gg account |
| reload | Reload config.yml and re-sync tunnels |