dpt
Dynamic PTerodactyl -- Spin up/down Pterodactyl minecraft servers on demand!
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
dpt
PTynamic PTerodactyl
Velocity plugin for on-demand minecraft containers!
Features: - Start/Stop a Pterodactyl Container (hosting Minecraft) - Send player(s) to the new servers once it has started (or prompt them to do so)
*Ideal for communities with servers you don't want to run 24/7 (i.e.: For minigame servers)*
Demo
A word on security
I would advise that you make a specific user in your panel to use for your API keys for this! You only need to give this user 'START', 'STOP' and 'RESTART' permissions on a server by server basis.
This is not a matter of plugin functionality but it is always advisable to restrict what your API keys can do to restrict the potential for abuse.
See:

Config
See the following example:
``` api-url: "https://panel.example.com" api-key: "apiKeyHere" default-timeout: 120 # interval between times server's watchdog will check if its empty & online. startup-timeout: 120 # how long the plugin is willing to wait for a server to start before failing a request.
servers: survival-example: # this must match the `servers` section of `velocity.toml` display-name: Survival 2 # This can use minimessage! uuid: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" watchdog: true # set to false or omit to disable watchdog entirely. timeout: 120 # watchdog timeout in seconds (default: 120s) ```
Note that using `/dpt reload` will not change `api-url`/`api-key`, you must restart the proxy in order to do this.
Commands
`/dptsend <player/all/current> <server> <promptPlayersToJoin/promptMeToSend>`
- player: send player to server - all: send all players on the proxy to server - current: CALLER MUST BE A PLAYER. send all players on current server to server. - promptPlayersToJoin: send a message to all players when the server is ready inviting them to the server. - promptMeToSend: send an interactive message when the server is ready that sends all the players on click.
`/dptsend server <origin server> <destination server> <promptPlayersToJoin/promptMeToSend>`
- origin server: any velocity server. - destination server: any velocity server dpt is configured to control. - promptPlayersToJoin: send a message to all players when the server is ready inviting them to the server. - promptMeToSend: send an interactive message when the server is ready that sends all the players on click.
`/dptserver <destination server> <immediate>`
- destination server: any velocity server dpt is configured to control - immediate: `dptserver` default behaviour should be to prompt when the server is ready. specifying this option will send the player as soon as the servers ready.
`/dptping <server>`
- server: any velocity server dpt is configured to control
`/dptwd <server> <start/stop>`
- server: any velocity server dpt is configured to control
Permissions:
- `dpt.send` Access to `/dptserver <destination server>`. Give this permission to users ideally (plus specific server permissions) - `dpt.send.others` Send other players on proxy/server (`/dptsend <player> <destination>`) - `dpt.send.all` Send all players on proxy/server (`/dptsend <all/current> <destination>`) - `dpt.send.<server-name>` Access to do `/dptserver <server-name>` and `/dptsend <player/all/current> <server-name>` where `server-name` is already configured. - `dpt.send.anywhere` Above permission but for any server. - `dpt.ping` Ping a server. - `dpt.watchdog` Access to `/dptwd`
License
Licensed under Apache 2.0.