dpt

Dynamic PTerodactyl -- Spin up/down Pterodactyl minecraft servers on demand!

16

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:

Pterodactyl 'User' permission pane showing permissions 'START', 'STOP', and 'RESTART' all checked, while all other options are left unchecked.

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.

Logo Image By "annaxphiline"

ADS