Soar is a command line interface tool for interacting with the Pterodactyl Game Panel API. The name is inspired by Pterodactyl's Wings application because... birds. This tool covers most of the application and client API, including support for creating resources from your terminal!
See the releases page for available downloads.
git clone https://github.com/PteroPackages/Soar.git
cd Soar && make
After installing, run soar config init
to generate a config file. On Linux-based systems this can be found in the user config directory (usually $HOME/.config/.soar/config.yml
), and on Windows systems it can be found at %APPDATA%\.soar\config.yml
. You can also specify the --dir=
flag to generate the config in a specific directory. Next, enter your credentials for the application and client section (you can also set other options). Now you're ready to soar!
Note: by default Soar will check for a local config to use, if not found then it will use the global config. If you have a local config but don't want to use it, you can specify the --global
or -g
flag in the command to force use the global config.
Soar has a convinient naming convention for its commands:
soar <api> <resource>:<action> [args]
--- -------- ------ ----
| | | additional arguments or flags
| | |
| | the action to execute (get, create, delete, etc)
| |
| the resource to target (users, servers, nodes, etc)
|
the API to target (application or client)
This naming convention is designed to be compact and readable, so you don't need to memorize every command or search the help command to figure out what it does (you can still do this if you want to, though). Some resource commands are flattened for convinience like the soar client files:list
command which lists the files of a specified server, and is much quicker to type than soar client servers:files:list
.
- users
-
- get
-
- create
-
- update
-
- delete
- servers
-
- get
-
- create
-
- update build
-
- update details
-
- update startup
-
- suspend/unsuspend
-
- reinstall
-
- delete
- nodes
-
- get
-
- get configuration
-
- create
-
- update
-
- delete
- locations
-
- get
-
- create
-
- update
-
- delete
- nests
-
- get
-
- eggs
-
- get
- account
-
- get
-
- get permissions
-
- get activities
-
- update email
-
- update password
-
- 2FA
-
-
- get
-
-
-
- enable
-
-
-
- disable
-
-
- API Keys
-
-
- get
-
-
-
- create
-
-
-
- delete
-
-
- SSH Keys
-
-
- get
-
-
-
- create
-
-
-
- delete
-
- servers
-
- get
-
- get activities
-
- get resource usage
-
- get server websocket auth
-
- send server command
-
- send server power state
-
- databases
-
- get
-
- files
-
-
- get
-
-
-
- download
-
-
-
- rename
-
-
-
- copy
-
-
-
- write
-
-
-
- create
-
-
-
- compress
-
-
-
- decompress
-
-
-
- delete
-
-
-
- create folder
-
-
-
- change file permissions
-
-
-
- pull remote file
-
-
-
- upload files
-
-
- subusers
-
-
- get
-
-
-
- add
-
-
-
- remove
-
-
- startup
-
-
- get
-
-
-
- set variable
-
-
- settings
-
-
- set docker image
-
-
-
- rename
-
-
-
- reinstall
-
This list of commands is subject to change as the API develops, if there is a command or feature that isn't here feel free to open an issue or PR requesting it!
- Fork this repo!
- Make a branch from
main
(git branch -b <new feature>
) - Commit your changes (
git commit -am "..."
) - Open a PR here (
git push origin <new feature>
)
- Devonte W - creator and maintainer
This repository is managed under the MIT license.
© 2022-present PteroPackages