-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
46 changed files
with
7,965 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,118 @@ | ||
# Heliactyl | ||
|
||
Heliactyl is a high-performance client area for the Pterodactyl Panel. It allows your users to create, edit and delete servers, and also earn coins which can be used to upgrade their servers. | ||
|
||
## Get started | ||
|
||
You can get started straight away by following these steps: | ||
|
||
1. Clone the repo: Run `git clone https://github.com/srydenoss/heliactyl` on your machine | ||
2. Enter the directory and configure the `settings.json` file - most are optional except the Pterodactyl and OAuth2 settings which **must** be configured | ||
3. Check everything out and make sure you've configured Heliactyl correctly | ||
4. Create SSL certificates for your target domain and set up the NGINX reverse proxy | ||
|
||
## NGINX Reverse Proxy | ||
|
||
Here's a proxy config that we recommend, however you are free to change it: | ||
|
||
```nginx | ||
server { | ||
listen 80; | ||
server_name <domain>; | ||
return 301 https://$server_name$request_uri; | ||
} | ||
server { | ||
listen 443 ssl http2; | ||
location /ws { | ||
proxy_http_version 1.1; | ||
proxy_set_header Upgrade $http_upgrade; | ||
proxy_set_header Connection "upgrade"; | ||
proxy_pass "http://localhost:<port>/ws"; | ||
} | ||
server_name <domain>; | ||
ssl_certificate /etc/letsencrypt/live/<domain>/fullchain.pem; | ||
ssl_certificate_key /etc/letsencrypt/live/<domain>/privkey.pem; | ||
ssl_session_cache shared:SSL:10m; | ||
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; | ||
ssl_ciphers HIGH:!aNULL:!MD5; | ||
ssl_prefer_server_ciphers on; | ||
location / { | ||
proxy_pass http://localhost:<port>/; | ||
proxy_buffering off; | ||
proxy_set_header X-Real-IP $remote_addr; | ||
} | ||
} | ||
``` | ||
|
||
## Development Tools | ||
|
||
These commands are available: | ||
``` | ||
npm run start - starts Heliactyl via nodemon | ||
npm run build - builds TailwindCSS, required for making changes to the UI | ||
``` | ||
|
||
## Heliactyl API v2 | ||
|
||
In v14, we've introduced the next generation of Heliactyl's API. You can see the documentation below: | ||
|
||
### /api/v2/userinfo | ||
|
||
``` | ||
Method: GET | ||
Query Parameters: | ||
- id (string): The user's ID | ||
Response: | ||
- status (string): "success" or an error message | ||
- package (object): The user's package details | ||
- extra (object): The user's additional resources | ||
- userinfo (object): The user's information from the Pterodactyl panel | ||
- coins (number | null): The user's coin balance (if coins is enabled) | ||
``` | ||
|
||
### /api/v2/setcoins | ||
|
||
``` | ||
Method: POST | ||
Request Body: | ||
- id (string): The user's ID | ||
- coins (number): The number of coins to set | ||
Response: | ||
- status (string): "success" or an error message | ||
``` | ||
|
||
### /api/v2/setplan | ||
|
||
``` | ||
Method: POST | ||
Request Body: | ||
- id (string): The user's ID | ||
- package (string, optional): The package name (if not provided, the user's package will be removed) | ||
Response: | ||
- status (string): "success" or an error message | ||
``` | ||
|
||
### /api/v2/setresources | ||
|
||
``` | ||
Method: POST | ||
Request Body: | ||
- id (string): The user's ID | ||
- ram (number): The amount of RAM to set | ||
- disk (number): The amount of disk space to set | ||
- cpu (number): The amount of CPU to set | ||
- servers (number): The number of servers to set | ||
Response: | ||
- status (string): "success" or an error message | ||
``` | ||
|
||
> **We have built our own panel to replace Pterodactyl and recommend you at least try it out: [Skyport Panel](https://skyport.dev)** |
Oops, something went wrong.