Update documentation for Panel & Wings 1.0

This commit is contained in:
Dane Everitt 2020-08-29 17:56:47 -07:00
parent c46e122816
commit 92dfe5e583
No known key found for this signature in database
GPG Key ID: EEA66103B3D71F53
20 changed files with 328 additions and 147 deletions

View File

@ -0,0 +1,24 @@
<script>
export default {
functional: true,
props: {
type: {
type: String,
default: 'tip'
},
text: String,
vertical: {
type: String,
default: 'top'
}
},
render (h, { props, slots }) {
return h('span', {
class: ['badge', props.type],
style: {
verticalAlign: props.vertical
}
}, props.text || slots().default)
}
}
</script>

View File

@ -185,6 +185,7 @@ module.exports = {
children: [ children: [
'/installing', '/installing',
'/upgrading', '/upgrading',
'/migrating',
] ]
} }
] ]

View File

@ -105,7 +105,7 @@
</div> </div>
<div class="hidden md:block md:flex-1 md:pr-12"> <div class="hidden md:block md:flex-1 md:pr-12">
<p><a class="text-grey-lightest" href="https://blog.pterodactyl.io/">Blog</a></p> <p><a class="text-grey-lightest" href="https://blog.pterodactyl.io/">Blog</a></p>
<p><a class="text-grey-lightest" href="https://github.com/pterodactyl">Github</a></p> <p><a class="text-grey-lightest" href="https://github.com/pterodactyl">GitHub</a></p>
<p><a class="text-grey-lightest" href="https://paypal.me/PterodactylSoftware" target="_blank">Support Pterodactyl</a></p> <p><a class="text-grey-lightest" href="https://paypal.me/PterodactylSoftware" target="_blank">Support Pterodactyl</a></p>
<p><a class="text-grey-lightest" href="/panel/troubleshooting.html">Troubleshooting</a></p> <p><a class="text-grey-lightest" href="/panel/troubleshooting.html">Troubleshooting</a></p>
<p><a class="text-grey-lightest" href="https://github.com/parkervcp/eggs">Additional Game Configurations</a></p> <p><a class="text-grey-lightest" href="https://github.com/parkervcp/eggs">Additional Game Configurations</a></p>

View File

@ -1,11 +1,21 @@
.badge { .badge {
@apply .ml-2 .leading-normal; @apply .ml-2 .inline-block .rounded-sm .px-2 .py-0;
height: 18px;
line-height: 18px;
font-size: 12px;
font-weight: 500;
&.tip { &.tip {
@apply .bg-green-dark !important; @apply .bg-green-dark !important;
color: #fff;
} }
&.warn { &.warn {
@apply .bg-yellow-dark !important; @apply .bg-yellow-dark !important;
} }
&.error {
@apply .bg-red-dark !important;
color: #fff;
}
} }

View File

@ -4,7 +4,7 @@
::: warning ::: warning
This tutorial uses examples from our [`core:java`](https://github.com/pterodactyl/images/tree/java) docker image, This tutorial uses examples from our [`core:java`](https://github.com/pterodactyl/images/tree/java) docker image,
which can be found on Github. This tutorial also assumes some knowledge of [Docker](https://docker.io/), we suggest which can be found on GitHub. This tutorial also assumes some knowledge of [Docker](https://docker.io/), we suggest
reading up if this all looks foreign to you. reading up if this all looks foreign to you.
::: :::

View File

@ -49,7 +49,7 @@ Finally, start the SFTP server so that you can then use it to access your files.
``` ```
By default, this will start the SFTP server on the old port of `2022`. If you want to use a different port it can be By default, this will start the SFTP server on the old port of `2022`. If you want to use a different port it can be
specified by passing the `--port` flag. For more advanced usage, please refer to the [Github README](https://github.com/pterodactyl/sftp-server/tree/release/v1.0.4#running) specified by passing the `--port` flag. For more advanced usage, please refer to the [GitHub README](https://github.com/pterodactyl/sftp-server/tree/release/v1.0.4#running)
which includes all of the flags and their default values. which includes all of the flags and their default values.
## Daemonize Server ## Daemonize Server

View File

@ -14,15 +14,15 @@ out for the release. This should be some type of rhyme or otherwise creative nam
related species name. related species name.
## Create the Release Branch ## Create the Release Branch
Releases should be created as their own branch on Github, following the GitFlow model. This means you'll need to create Releases should be created as their own branch on GitHub, following the GitFlow model. This means you'll need to create
a `release/vX.X.X` branch. Once the branch is created you need to update the version number for the software. For the Panel a `release/vX.X.X` branch. Once the branch is created you need to update the version number for the software. For the Panel
this requires editing `config/app.php` and setting the specific `APP_VERSION` _without_ a preceding `v`. For the Daemon, this requires editing `config/app.php` and setting the specific `APP_VERSION` _without_ a preceding `v`. For the Daemon,
you need to edit `package.json` and set the `version` field, again _without_ a preceding `v`. you need to edit `package.json` and set the `version` field, again _without_ a preceding `v`.
Once you've created the branch and update the relevant file publish the branch to Github to begin the next steps. Once you've created the branch and update the relevant file publish the branch to GitHub to begin the next steps.
## Tag a Release ## Tag a Release
Once the branch is pushed up you need to tag a release and then configure it on Github. To do so, run the command below Once the branch is pushed up you need to tag a release and then configure it on GitHub. To do so, run the command below
setting the version correctly. This will create a tag for `v0.6.0` on the `release/v0.6.0` branch and sign it using your setting the version correctly. This will create a tag for `v0.6.0` on the `release/v0.6.0` branch and sign it using your
GPG key. GPG key.
@ -35,13 +35,13 @@ git tag -asm "v0.6.0"
git push origin v0.6.0 git push origin v0.6.0
``` ```
### Update the Release on Github ### Update the Release on GitHub
Once you've created and pushed up the tag you need to then go to the Github releases, find the most recent tag, and create Once you've created and pushed up the tag you need to then go to the GitHub releases, find the most recent tag, and create
a nice release from it. The title should be `v1.2.3 (Codename)`, and the content should be from the Changelog for that release. a nice release from it. The title should be `v1.2.3 (Codename)`, and the content should be from the Changelog for that release.
All minor version releases should use the same codename as the major release version. All minor version releases should use the same codename as the major release version.
## Generate Signatures & Hashes ## Generate Signatures & Hashes
Once you've created the release on Github, view it and select the option to download the `.tar.gz` archive of the release. Once you've created the release on GitHub, view it and select the option to download the `.tar.gz` archive of the release.
Once downloaded, rename it to `panel.tar.gz` or `daemon.tar.gz`. Once downloaded, rename it to `panel.tar.gz` or `daemon.tar.gz`.
``` bash ``` bash
@ -49,7 +49,7 @@ mv panel-v1.2.3.tar.gz panel.tar.gz
``` ```
### Create Checksum ### Create Checksum
Then, create the SHA 256 checksum and write it to a file which will be uploaded to the release on Github. Then, create the SHA 256 checksum and write it to a file which will be uploaded to the release on GitHub.
``` bash ``` bash
shasum -a 256 panel.tar.gz > checksum.txt shasum -a 256 panel.tar.gz > checksum.txt
@ -96,7 +96,7 @@ git push -u origin release/v1.2.3
git tag -as v1.2.3 -m "v1.2.3" git tag -as v1.2.3 -m "v1.2.3"
git push origin v1.2.3 git push origin v1.2.3
# edit release on Github, download files # edit release on GitHub, download files
mv panel-1.2.3.tar.gz panel.tar.gz mv panel-1.2.3.tar.gz panel.tar.gz
shasum -a 256 panel.tar.gz > checksum.txt shasum -a 256 panel.tar.gz > checksum.txt

View File

@ -3,7 +3,7 @@
"@vuepress/plugin-google-analytics": "^1.0.0-rc.1", "@vuepress/plugin-google-analytics": "^1.0.0-rc.1",
"jquery": "^3.3.1", "jquery": "^3.3.1",
"slick-carousel": "^1.8.1", "slick-carousel": "^1.8.1",
"vuepress": "^1.4.0", "vuepress": "^1.5.4",
"vuepress-plugin-container": "^2.1.3" "vuepress-plugin-container": "^2.1.3"
}, },
"scripts": { "scripts": {
@ -17,5 +17,8 @@
"postcss-import": "^12.0.0", "postcss-import": "^12.0.0",
"precss": "^4.0.0", "precss": "^4.0.0",
"tailwindcss": "^1.0.0" "tailwindcss": "^1.0.0"
},
"resolutions": {
"watchpack": "1.6.1"
} }
} }

View File

@ -1,7 +1,7 @@
# Upgrading 0.6 to 0.7 # Upgrading 0.6 to 0.7
## Fetch Updated Files ## Fetch Updated Files
The first step in the update process is to download the new panel files from Github. The command below will download The first step in the update process is to download the new panel files from GitHub. The command below will download
the release archive for the most recent version of Pterodactyl and save it in the current directory. Now is a good time the release archive for the most recent version of Pterodactyl and save it in the current directory. Now is a good time
to ensure that you're in the `/var/www/pterodactyl` directory as the command below will automatically unpack in whatever to ensure that you're in the `/var/www/pterodactyl` directory as the command below will automatically unpack in whatever
directory you are currently in. directory you are currently in.

View File

@ -8,7 +8,7 @@ your theme once the upgrade is complete or you will end up with server errors.
::: :::
## Fetch Updated Files ## Fetch Updated Files
The first step in the update process is to download the new panel files from Github. The command below will download The first step in the update process is to download the new panel files from GitHub. The command below will download
the release archive for the most recent version of Pterodactyl and save it in the current directory. Now is a good time the release archive for the most recent version of Pterodactyl and save it in the current directory. Now is a good time
to ensure that you're in the `/var/www/pterodactyl` directory as the command below will automatically unpack the archive to ensure that you're in the `/var/www/pterodactyl` directory as the command below will automatically unpack the archive
into your current folder. into your current folder.

View File

@ -1,7 +0,0 @@
# Upgrading 0.7 to 1.0
::: danger Not for Production Use
**Pterodactyl 1.0 is currently unstable and missing significant features**. Do _not_ use this software
on a production system. Significant changes can still occur, and it has not been properly vetted by
the team for security and integrity.
:::

View File

@ -24,6 +24,6 @@ php artisan queue:restart
## Version Specific Guides ## Version Specific Guides
* [0.6.X to 0.7.18](/panel/upgrade/0.6_to_0.7.md) * [0.6.X to 0.7.18](/panel/0.7/upgrade/0.6_to_0.7.md)
* [0.7.X series](/panel/upgrade/0.7.md) <Badge text="current" vertical="middle"/> * [0.7.X series](/panel/0.7/upgrade/0.7.md) <Badge text="current" vertical="middle"/>
* [0.7.18 to 1.0.X](/panel/upgrade/0.7_to_1.0.md) <Badge text="alpha release" vertical="middle"/> * [0.7.18 to 1.0.X](/panel/1.0/upgrade/0.7_to_1.0.md) <Badge text="release candidate" vertical="middle"/>

View File

@ -0,0 +1,102 @@
# Upgrading 0.7 Series to 1.0 Series
This upgrade guide is for **upgrading from 0.7.X to 1.0.0**. If you are trying to do an upgrade on a 1.0.X Panel
please [use this guide instead](/panel/1.0/upgrade/1.0.md).
::: warning Release Candidate Stage
Please be aware that Pterodactyl 1.0 is currently a Release Candidate. This means that we still do not recommend
it for heavy production use, but users comfortable handling occasional bugs and weird behavior are encouraged to
make use of it in order to help us better test it.
:::
## Enter Maintenance Mode
You'll want to put your Panel into maintenance mode by running the `down` command below before starting. This
will prevent users from accessing the Panel during a period where things will be broken or not working correctly.
``` bash
# Put the Panel into maintenance mode and deny user access
php artisan down
```
## Fetch Updated Files
The first step in the update process is to download the new panel files from GitHub. The command below will download
the release archive for the most recent version of Pterodactyl and save it in the current directory. Now is a good time
to ensure that you're in the `/var/www/pterodactyl` directory as the command below will automatically unpack the archive
into your current folder.
We will also be deleting the `app/` directory. Because of the way we handle installations and upgrades deleted files
are not always detected properly, so simply uppacking over this location will result in some confusing behavior.
``` bash
# Delete the app directory to ensure we start with a clean slate here. This will not affect any
# of your settings or servers.
curl -L -o panel.tar.gz https://github.com/pterodactyl/panel/releases/download/v1.0.0-rc.2/panel.tar.gz
rm -f $(find app public resources -d | head -n -1 | grep -Fv "$(tar -tf panel.tar.gz)")
# Download the updated files and delete the archive file.
tar --strip-components=1 -xzv && rm -rf panel.tar.gz
```
Once all of the files are downloaded we need to set the correct permissions on the cache and storage directories to avoid
any webserver related errors.
``` bash
chmod -R 755 storage/* bootstrap/cache
```
## Update Dependencies
After you've downloaded all of the new files you will need to upgrade the core components of the panel. To do this,
simply run the commands below and follow any prompts.
``` bash
composer install --no-dev --optimize-autoloader
```
## Clear Compiled Template Cache
You'll also want to clear the compiled template cache to ensure that new and modified templates show up correctly for
users.
``` bash
php artisan view:clear
php artisan config:clear
```
## Database Updates
You'll also need to update your database schema for the newest version of Pterodactyl. Running the two commands below
will update the schema and ensure the default eggs we ship are up to date (and add any new ones we might have). Just
remember, _never edit core eggs we ship_! They will be overwritten by this update process.
``` bash
php artisan migrate --force
php artisan db:seed --force
```
## Set Permissions
The last step is to set the proper owner of the files to be the user that runs your webserver. In most cases this
is `www-data` but can vary from system to system &mdash; sometimes being `nginx`, `apache`, or even `nobody`.
``` bash
# If using NGINX or Apache (not on CentOS):
chown -R www-data:www-data *
# If using NGINX on CentOS:
chown -R nginx:nginx *
# If using Apache on CentOS
chown -R apache:apache *
```
## Switch to Wings
We've deprecated the old Node.js daemon in favor of [Wings](https://github.com/pterodactyl/wings), our new server
control plane written in Go. This new system is significantly faster, easier to install, and much smaller. All you
need to do is install a single binary on your system and configure it to run on boot.
**You cannot use the old daemon to run servers with Pterodactyl Panel 1.0.**
Please see [Migrating to Wings](/wings/1.0/migrating.md) for instructions.
## Exit Maintenance Mode
Now that the upgrade is complete, exit maintenance mode and your Panel will now be available.
```bash
# Bring the Panel back up to receive connections.
php artisan up
```

View File

@ -8,7 +8,7 @@ break your panel, and you _will_ lose access to your servers.
::: :::
## Fetch Updated Files ## Fetch Updated Files
The first step in the update process is to download the new panel files from Github. The command below will download The first step in the update process is to download the new panel files from GitHub. The command below will download
the release archive for the most recent version of Pterodactyl and save it in the current directory. Now is a good time the release archive for the most recent version of Pterodactyl and save it in the current directory. Now is a good time
to ensure that you're in the `/var/www/pterodactyl` directory as the command below will automatically unpack the archive to ensure that you're in the `/var/www/pterodactyl` directory as the command below will automatically unpack the archive
into your current folder. into your current folder.

View File

@ -23,5 +23,5 @@ php artisan queue:restart
``` ```
## Version Specific Guides ## Version Specific Guides
* [Upgrading from 0.7.X](/panel/1.0/upgrade/0.7_to_1.0.md)
* [1.0.X series](/panel/1.0/upgrade/1.0.md) <Badge text="alpha release" vertical="middle"/> * [1.0.X series](/panel/1.0/upgrade/1.0.md) <Badge text="release candidate" type="warn" vertical="middle"/>

View File

@ -15,7 +15,7 @@ is to foster an inclusive, welcoming environment for new users, and provide a sp
users, administrators, network owners, and hosting companies to co-exist. users, administrators, network owners, and hosting companies to co-exist.
These rules and guidelines extend to all facets of the Pterodactyl Community, including but not limited to our These rules and guidelines extend to all facets of the Pterodactyl Community, including but not limited to our
Discord Server and all activities within the Github Organization. Discord Server and all activities within the GitHub Organization.
## Community Guidelines ## Community Guidelines
At the most basic level, these guidelines can be distilled down to: At the most basic level, these guidelines can be distilled down to:

View File

@ -1,18 +1,10 @@
# Installing Wings # Installing Wings
Wings is the next generation server control plane from Pterodactyl. It has been rebuilt from the
Wings is the next generation control daemon from Pterodactyl. This daemon has been rebuilt from the
ground up using Go and lessons learned from our first Nodejs Daemon. ground up using Go and lessons learned from our first Nodejs Daemon.
::: danger Not for Production Use
**Wings is not stable and should not be used in a production environment.** Features are subject
to change, important features are missing, and the team has not vetted the performance or
security of the software.
:::
::: warning ::: warning
You should only install Wings if you are running **Pterodactyl 1.0**. Do not install this software You should only install Wings if you are running **Pterodactyl 1.0**. Do not install this software
for previous versions of Pterodactyl. If you have no idea what this means, you probably do not need for previous versions of Pterodactyl.
to be installing this software.
::: :::
## Supported Systems ## Supported Systems
@ -26,11 +18,11 @@ to be installing this software.
| | 10 | :white_check_mark: | | | | 10 | :white_check_mark: | |
## System Requirements ## System Requirements
In order to run the Daemon you will need a system capable of running Docker containers. Most VPS and almost all In order to run Wings you will need a system capable of running Docker containers. Most VPS and almost all
dedicated servers should be capable of running Docker, but there are edge cases. dedicated servers should be capable of running Docker, but there are edge cases.
If your provider makes use of `Virtuozzo`, `OpenVZ` (or `OVZ`), or `LXC` then you will most likely be unable to If your provider makes use of `Virtuozzo`, `OpenVZ` (or `OVZ`), or `LXC` then you will most likely be unable to
run the Daemon. If you are unsure what your host is using there are a couple of options. The easiest is to check run Wings. If you are unsure what your host is using there are a couple of options. The easiest is to check
their website, or reach out to their support team. their website, or reach out to their support team.
If you want to take a different approach, try using `lscpu` and checking what the virtualization type listed is. An If you want to take a different approach, try using `lscpu` and checking what the virtualization type listed is. An
@ -38,7 +30,7 @@ example of this is shown below which shows my hypervisor running with full virtu
support Docker without issues. If you see `KVM` for the vendor, chances are you're fine as well. support Docker without issues. If you see `KVM` for the vendor, chances are you're fine as well.
``` bash ``` bash
dane@daemon:~$ lscpu | grep 'vendor\|type' dane@pterodactyl:~$ lscpu | grep 'vendor\|type'
Hypervisor vendor: VMware Hypervisor vendor: VMware
Virtualization type: full Virtualization type: full
``` ```
@ -47,7 +39,7 @@ If that doesn't work for some reason, or you're still unsure, you can also run t
doesn't report `Xen` or `LXC` you're probably okay to continue. doesn't report `Xen` or `LXC` you're probably okay to continue.
``` bash ``` bash
dane@daemon:~$ sudo dmidecode -s system-manufacturer dane@pterodactyl:~$ sudo dmidecode -s system-manufacturer
VMware, Inc. VMware, Inc.
``` ```
@ -78,7 +70,7 @@ probably using a non-supported kernel. Check our [Kernel Modifications](kernel_m
If you are on an operating system with systemd (Ubuntu 16+, Debian 8+, CentOS 7+) run the command below to have Docker start when you boot your machine. If you are on an operating system with systemd (Ubuntu 16+, Debian 8+, CentOS 7+) run the command below to have Docker start when you boot your machine.
``` bash ``` bash
systemctl enable docker systemctl enable --now docker
``` ```
#### Enabling Swap #### Enabling Swap
@ -98,7 +90,7 @@ GRUB_CMDLINE_LINUX_DEFAULT="swapaccount=1"
``` ```
## Installing Wings ## Installing Wings
The first step for installing the daemon is to make sure we have the required directory structure setup. To do so, The first step for installing Wings is to make sure we have the required directory structure setup. To do so,
run the commands below which will create the base directory and download the wings executable. run the commands below which will create the base directory and download the wings executable.
``` bash ``` bash
@ -113,8 +105,8 @@ If you are using a server provided by OVH or SoYouStart please be aware that you
set when creating the node. set when creating the node.
::: :::
## Configure Daemon ## Configure
Once you have installed the daemon and required components, the next step is to create a node on your installed Panel Once you have installed Wings and required components, the next step is to create a node on your installed Panel
Once you have done that there will be a tab called Configuration when you view the node. Once you have done that there will be a tab called Configuration when you view the node.
Simply copy and paste the code block and paste it into a file called `config.yml` in `/etc/pterodactyl` and save it. Simply copy and paste the code block and paste it into a file called `config.yml` in `/etc/pterodactyl` and save it.
@ -122,18 +114,18 @@ Simply copy and paste the code block and paste it into a file called `config.yml
![](./../../.vuepress/public/wings_configuration_example.png) ![](./../../.vuepress/public/wings_configuration_example.png)
### Starting Wings ### Starting Wings
To start your daemon simply move into the daemon directory and run the command below which will start the daemon in To start Wings, simply move into the Wings directory and run the command below which will start it in
foreground mode. Once you are done, use `CTRL+C` to terminate the process. Depending on your server's internet connection foreground mode. Once you are done, use `CTRL+C` to terminate the process. Depending on your server's internet connection
pulling and starting the Daemon for the first time may take a few minutes. pulling and starting Wings for the first time may take a few minutes.
``` bash ``` bash
sudo wings sudo wings --debug
``` ```
You may optionally add the `--debug` flag to run Wings in debug mode. You may optionally add the `--debug` flag to run Wings in debug mode.
### Daemonizing (using systemd) ### Daemonizing (using systemd)
Running Pterodactyl Daemon in the background is a simple task, just make sure that it runs without errors before doing Running Wings in the background is a simple task, just make sure that it runs without errors before doing
this. Place the contents below in a file called `wings.service` in the `/etc/systemd/system` directory. this. Place the contents below in a file called `wings.service` in the `/etc/systemd/system` directory.
``` text ``` text
@ -154,7 +146,7 @@ StartLimitInterval=600
WantedBy=multi-user.target WantedBy=multi-user.target
``` ```
Then, run the commands below to reload systemd and start the daemon. Then, run the commands below to reload systemd and start Wings.
``` bash ``` bash
systemctl enable --now wings systemctl enable --now wings

90
wings/1.0/migrating.md Normal file
View File

@ -0,0 +1,90 @@
# Migrating to Wings
This guide is for people looking to migrate from the old Node.JS daemon to Wings. Please see the
[install guide](/wings/1.0/installing.md) if you are trying to install Wings for the first time on
a new node.
You'll have a brief offline period as you perform this process, however no running game processes
will be affected. Plus, chances are your Panel will be offline (or in maintenance mode) during this
so your users should not notice anything out of the ordinary.
## Install Wings
The first step for installing the daemon is to make sure we have the required directory structure setup. To do so,
run the commands below which will create the base directory and download the wings executable.
``` bash
mkdir -p /etc/pterodactyl
curl -L -o /usr/local/bin/wings https://github.com/pterodactyl/wings/releases/download/v1.0.0-rc.2/wings_linux_amd64
chmod u+x /usr/local/bin/wings
```
## Copy New Configuration File
Once you have installed Wings, you'll need to copy over a new configuration file from the Panel. This file
is in a new format, and should be easier for you to manage and edit in the future.
Simply copy and paste the code block and paste it into a file called `config.yml` within the `/etc/pterodactyl`
directory and save it.
![](./../../.vuepress/public/wings_configuration_example.png)
::: warning
Please note that any modifications you previously made to the configuration will be lost with this. If you have
modifications to our default settings, the best option is to start Wings once with the copied configuration which
will then populate all of the other configuration settings.
From there you can make any adjustments as necessary.
:::
## Remove Old Daemon
Now that Wings is installed, we need to remove all of the old daemon code from the server since it is not being
used anymore. To do this, simply execute the following commands — assuming your old daemon is in the default
`/srv/daemon` directory.
```bash
# Stop the old daemon.
systemctl stop wings
# Delete the entire directory. There is nothing stored in here that we actually need for the
# purposes of this migration. Remeber, server data is stored in /srv/daemon-data.
rm -rf /srv/daemon
# Optionally, remove NodeJS from your system if it was not used for anything else.
apt -y remove nodejs # or: yum remove nodejs
```
## Daemonize Wings
You'll then need to edit your existing `systemd` service file for Wings to point to the new control software. To do
this, open `/etc/systemd/system/wings.service` and replace the entire contents of the file with the following:
```
[Unit]
Description=Pterodactyl Wings Daemon
After=docker.service
[Service]
User=root
WorkingDirectory=/etc/pterodactyl
LimitNOFILE=4096
PIDFile=/var/run/wings/daemon.pid
ExecStart=/usr/local/bin/wings
Restart=on-failure
StartLimitInterval=600
[Install]
WantedBy=multi-user.target
```
Then, start wings.
```
systemctl daemon-reload
systemctl enable --now wings
```
::: warning What if Wings doesn't start?
If you encounter issues starting Wings at this point, run the following commands to start Wings directly and check
for any specific error output.
```
sudo wings --debug
```
:::

View File

@ -1,30 +1,6 @@
# Upgrading Wings # Upgrading Wings
Upgrading Wings is a painless process and should take less than a minute to complete. Upgrading Wings is a painless process and should take less than a minute to complete.
## Move Old Settings
::: warning
As of `wings@1.0.0-beta.5` we have moved the default location for the configuration
to be in `/etc/pterodactyl`. Please take note of this when performing the upgrade!
:::
This process only needs to be executed if upgrading from `wings@1.0.0-beta.4` or before. You can
skip to the download process below if you're already on at least `beta.5`.
``` bash
# Create the new pterodactyl data directory.
mkdir -p /etc/pterodactyl
# Update the service configuration file to point to the new directory.
sed -i 's;/srv/wings;/etc/pterodactyl;g' /etc/systemd/system/wings.service
#Reload the Systemd daemon service to update the changed service file
systemctl daemon-reload
```
You may optionally move the configuration file over into `/etc/pterodactyl` at this time, or allow
the daemon to move it automatically for you. I recommend moving it now, and then deleting the `/srv/wings`
directory as it is no longer needed.
## Download Updated Binary ## Download Updated Binary
First, download the updated wings binary into `/usr/local/bin`. First, download the updated wings binary into `/usr/local/bin`.
@ -33,11 +9,6 @@ curl -L -o /usr/local/bin/wings https://github.com/pterodactyl/wings/releases/do
chmod u+x /usr/local/bin/wings chmod u+x /usr/local/bin/wings
``` ```
::: warning
Previously this guide recommended to place the `wings` binary in `/etc/pterodactyl`, which is against best practices.
You should delete `/etc/pterodactyl/wings` after downloading the latest binary to `/usr/local/bin`.
:::
## Restart Process ## Restart Process
Finally, restart the wings process. Your running servers will not be affected and any open Finally, restart the wings process. Your running servers will not be affected and any open
connections to the instance will re-connect automatically. connections to the instance will re-connect automatically.

123
yarn.lock
View File

@ -965,18 +965,18 @@
optionalDependencies: optionalDependencies:
prettier "^1.18.2" prettier "^1.18.2"
"@vuepress/core@^1.4.0": "@vuepress/core@1.5.4":
version "1.4.0" version "1.5.4"
resolved "https://registry.yarnpkg.com/@vuepress/core/-/core-1.4.0.tgz#a9b09a2615b1f0bf183541d22e69a126b8220f16" resolved "https://registry.yarnpkg.com/@vuepress/core/-/core-1.5.4.tgz#036d28d6cc8a0928913116de5ebe80b0b4a9ac1b"
integrity sha512-xWiLG6MEzZdXGvr7/ickSr/plxPESC8c3prMOUDxROkFnyOiKmVvIyn4vAmRkFX3Xw4mfOLxucIOpQg0K6hEjw== integrity sha512-RaHJiX0Yno4S3zoV64JNd3xE55sza8rayyWvXAJY381XVMxKrsLBrgW6ntNYSkzGnZcxi6fwMV/CVOUhEtkEkA==
dependencies: dependencies:
"@babel/core" "^7.8.4" "@babel/core" "^7.8.4"
"@vue/babel-preset-app" "^4.1.2" "@vue/babel-preset-app" "^4.1.2"
"@vuepress/markdown" "^1.4.0" "@vuepress/markdown" "1.5.4"
"@vuepress/markdown-loader" "^1.4.0" "@vuepress/markdown-loader" "1.5.4"
"@vuepress/plugin-last-updated" "^1.4.0" "@vuepress/plugin-last-updated" "1.5.4"
"@vuepress/plugin-register-components" "^1.4.0" "@vuepress/plugin-register-components" "1.5.4"
"@vuepress/shared-utils" "^1.4.0" "@vuepress/shared-utils" "1.5.4"
autoprefixer "^9.5.1" autoprefixer "^9.5.1"
babel-loader "^8.0.4" babel-loader "^8.0.4"
cache-loader "^3.0.0" cache-loader "^3.0.0"
@ -1009,21 +1009,21 @@
webpack-merge "^4.1.2" webpack-merge "^4.1.2"
webpackbar "3.2.0" webpackbar "3.2.0"
"@vuepress/markdown-loader@^1.4.0": "@vuepress/markdown-loader@1.5.4":
version "1.4.0" version "1.5.4"
resolved "https://registry.yarnpkg.com/@vuepress/markdown-loader/-/markdown-loader-1.4.0.tgz#974e9bdb62ad45c1614a6c3ef33eed276d27635a" resolved "https://registry.yarnpkg.com/@vuepress/markdown-loader/-/markdown-loader-1.5.4.tgz#9ba49bbe9c94ed792714589aef6a20c7ed0ac822"
integrity sha512-oEHB6EzCeIxyQxg1HSGX3snRL25V6XZ3O0Zx/sWd5hl0sneEsRLHRMflPGhKu4c6cfsyTck7aTbt7Z71vVy0FQ== integrity sha512-3R5quGIXQm7gfPWN67SVZ9OBA7VrGEEXJjjV01MYkbfhqVGgO6lBRq73Og0XdKs4RPx4nqJUPthhL8FJVNRTIg==
dependencies: dependencies:
"@vuepress/markdown" "^1.4.0" "@vuepress/markdown" "1.5.4"
loader-utils "^1.1.0" loader-utils "^1.1.0"
lru-cache "^5.1.1" lru-cache "^5.1.1"
"@vuepress/markdown@^1.4.0": "@vuepress/markdown@1.5.4":
version "1.4.0" version "1.5.4"
resolved "https://registry.yarnpkg.com/@vuepress/markdown/-/markdown-1.4.0.tgz#fe96e0c07ae3ce7562c21ea6f5ea4a5359ba4ea9" resolved "https://registry.yarnpkg.com/@vuepress/markdown/-/markdown-1.5.4.tgz#d9736db430034b7b6058696c4da1cc211032bbea"
integrity sha512-H3uojkiO5/uWKpwBEPdk5fsSj+ZGgNR7xi6oYhUxaUak9nC6mhMZ3KzeNA67QmevG3XHEoYx4d9oeAC1Au1frg== integrity sha512-bgrR9LTcAa2O0WipTbH3OFKeAfXc/2oU6cUIoMkyihSKUo1Mr5yt1XKM7vHe1uFEZygNr8EAemep8chsuVuISA==
dependencies: dependencies:
"@vuepress/shared-utils" "^1.4.0" "@vuepress/shared-utils" "1.5.4"
markdown-it "^8.4.1" markdown-it "^8.4.1"
markdown-it-anchor "^5.0.2" markdown-it-anchor "^5.0.2"
markdown-it-chain "^1.3.0" markdown-it-chain "^1.3.0"
@ -1031,10 +1031,10 @@
markdown-it-table-of-contents "^0.4.0" markdown-it-table-of-contents "^0.4.0"
prismjs "^1.13.0" prismjs "^1.13.0"
"@vuepress/plugin-active-header-links@^1.4.0": "@vuepress/plugin-active-header-links@1.5.4":
version "1.4.0" version "1.5.4"
resolved "https://registry.yarnpkg.com/@vuepress/plugin-active-header-links/-/plugin-active-header-links-1.4.0.tgz#b43fdad67ef42c383a84642f7914e22c56189089" resolved "https://registry.yarnpkg.com/@vuepress/plugin-active-header-links/-/plugin-active-header-links-1.5.4.tgz#ffbfbce0d5932091043b766757683ca3b5420aef"
integrity sha512-UWnRcqJZnX1LaPHxESx4XkRVJCleWvdGlSVivRGNLZuV1xrxJzB6LC86SNMur+imoyzeQL/oIgKY1QFx710g8w== integrity sha512-FI1Dr/44HVqxLMRSuaVEEwegGVEGFlaWYE3nsXwL7klKr6c+2kXHEw9rSQlAxzJyzVfovTk4dd+s/AMOKuLGZQ==
dependencies: dependencies:
lodash.debounce "^4.0.8" lodash.debounce "^4.0.8"
@ -1043,55 +1043,55 @@
resolved "https://registry.yarnpkg.com/@vuepress/plugin-google-analytics/-/plugin-google-analytics-1.4.0.tgz#0243da6ff80e47b1d41d0227cb8bcb040ebba90f" resolved "https://registry.yarnpkg.com/@vuepress/plugin-google-analytics/-/plugin-google-analytics-1.4.0.tgz#0243da6ff80e47b1d41d0227cb8bcb040ebba90f"
integrity sha512-Q3jTyNovy81vlqfCQ5MewYU2K/brn0DfhAlJJnelXdbYH7XRe1IA3hZCcQQO73rzIMA/HxIsMBWevs8jTQF3QA== integrity sha512-Q3jTyNovy81vlqfCQ5MewYU2K/brn0DfhAlJJnelXdbYH7XRe1IA3hZCcQQO73rzIMA/HxIsMBWevs8jTQF3QA==
"@vuepress/plugin-last-updated@^1.4.0": "@vuepress/plugin-last-updated@1.5.4":
version "1.4.0" version "1.5.4"
resolved "https://registry.yarnpkg.com/@vuepress/plugin-last-updated/-/plugin-last-updated-1.4.0.tgz#1657eee410ff5a7431b2a8e88d19e7e44bdc3951" resolved "https://registry.yarnpkg.com/@vuepress/plugin-last-updated/-/plugin-last-updated-1.5.4.tgz#6f3f9fe720ce7f883c37ddc71ac02fe8f36bbfe4"
integrity sha512-sNxCXDz7AO4yIAZTEGt9TaLpJ2E0dgJGWx79nDFKfvpITn+Q2p7dUzkyVVxXs3TWXffoElGdNj/xIL5AUkg2qg== integrity sha512-9kezBCxPM+cevKRNML6Q7v6qkI8NQvKbVkwohlzsElM8FBmjlZmgFyZje66ksTnb/U6ogazCCq9jdOyipNcQ2A==
dependencies: dependencies:
cross-spawn "^6.0.5" cross-spawn "^6.0.5"
"@vuepress/plugin-nprogress@^1.4.0": "@vuepress/plugin-nprogress@1.5.4":
version "1.4.0" version "1.5.4"
resolved "https://registry.yarnpkg.com/@vuepress/plugin-nprogress/-/plugin-nprogress-1.4.0.tgz#90bb16ab8d43321e5911dea489986de25adb56d1" resolved "https://registry.yarnpkg.com/@vuepress/plugin-nprogress/-/plugin-nprogress-1.5.4.tgz#b818ebcac5addb6488bf50eb21585450f52ae40c"
integrity sha512-hJ9phJHONWWZqcWztbVtmmRjZduHQHIOBifUBvAfAGcuOBLVHqRnv3i7XD5UB3MIWPM1/bAoTA2TVs4sb9Wg4Q== integrity sha512-2bGKoO/o2e5mIfOU80q+AkxOK5wVijA/+8jGjSQVf2ccMpJw+Ly1mMi69r81Q0QkEihgfI9VN42a5+a6LUgPBw==
dependencies: dependencies:
nprogress "^0.2.0" nprogress "^0.2.0"
"@vuepress/plugin-register-components@^1.4.0": "@vuepress/plugin-register-components@1.5.4":
version "1.4.0" version "1.5.4"
resolved "https://registry.yarnpkg.com/@vuepress/plugin-register-components/-/plugin-register-components-1.4.0.tgz#0dafefd3baed6cc50b53f9826e84b25d83fed763" resolved "https://registry.yarnpkg.com/@vuepress/plugin-register-components/-/plugin-register-components-1.5.4.tgz#2f62d0790471ef53935ff2c808d8045c0473067f"
integrity sha512-HmSzCTPVrlJJ8PSIXAvh4RkPy9bGmdrQuAXAtjiiq5rzBjL3uIg2VwzTrKDqf7FkCKs4lcRAEuNxB70bH6tddA== integrity sha512-Y1U9j6unZp1ZhnHjQ9yOPY+vxldUA3C1EwT6UgI75j5gxa5Hz6NakoIo6mbhaYHlGmx33o/MXrxufLPapo/YlQ==
dependencies: dependencies:
"@vuepress/shared-utils" "^1.4.0" "@vuepress/shared-utils" "1.5.4"
"@vuepress/plugin-search@^1.4.0": "@vuepress/plugin-search@1.5.4":
version "1.4.0" version "1.5.4"
resolved "https://registry.yarnpkg.com/@vuepress/plugin-search/-/plugin-search-1.4.0.tgz#26a02e3409e6ea6830f9fc7e6d87fc45ba46c579" resolved "https://registry.yarnpkg.com/@vuepress/plugin-search/-/plugin-search-1.5.4.tgz#3360445e9ecf8bdcb5497ab1c0f46d8aecc9ab6c"
integrity sha512-5K02DL9Wqlfy/aNiYXdbXBOGzR9zMNKz/P8lfHDU+ZOjtfNf6ImAdUkHS4pi70YkkTuemdYM8JjG/j5UYn6Rjw== integrity sha512-wikU9XYiZ3Olbii0lI+56mcSdpzHHkduVBMB4MNEV5iob23qDxGPmvfZirjsZV20w1UnLRptERyHtZkTLW9Mbg==
"@vuepress/shared-utils@^1.4.0": "@vuepress/shared-utils@1.5.4":
version "1.4.0" version "1.5.4"
resolved "https://registry.yarnpkg.com/@vuepress/shared-utils/-/shared-utils-1.4.0.tgz#ab4bfcd5c1e3d0e5e384e0c1d0bb86470430c87e" resolved "https://registry.yarnpkg.com/@vuepress/shared-utils/-/shared-utils-1.5.4.tgz#d2c8693b8cd354d3a13a76f8f4259335e5540099"
integrity sha512-6QTv7zMRXAojCuPRIm4aosYfrQO4OREhyxvbFeg/ZMWkVX+xZZQTdE7ZyK/4NAvEgkpjtPTRC1TQYhLJUqC5mQ== integrity sha512-HCeMPEAPjFN1Ongii0BUCI1iB4gBBiQ4PUgh7F4IGG8yBg4tMqWO4NHqCuDCuGEvK7lgHy8veto0SsSvdSKp3g==
dependencies: dependencies:
chalk "^2.3.2" chalk "^2.3.2"
diacritics "^1.3.0"
escape-html "^1.0.3" escape-html "^1.0.3"
fs-extra "^7.0.1" fs-extra "^7.0.1"
globby "^9.2.0" globby "^9.2.0"
gray-matter "^4.0.1" gray-matter "^4.0.1"
hash-sum "^1.0.2" hash-sum "^1.0.2"
semver "^6.0.0" semver "^6.0.0"
toml "^3.0.0"
upath "^1.1.0" upath "^1.1.0"
"@vuepress/theme-default@^1.4.0": "@vuepress/theme-default@1.5.4":
version "1.4.0" version "1.5.4"
resolved "https://registry.yarnpkg.com/@vuepress/theme-default/-/theme-default-1.4.0.tgz#f0f70effa0ee863a2e25c7682612c8a808f3e156" resolved "https://registry.yarnpkg.com/@vuepress/theme-default/-/theme-default-1.5.4.tgz#77db27fe7c3ced15a970644df0202b0effbe865f"
integrity sha512-4ywWVfXZTBha+yuvWoa1HRg0vMpT2wZF3zuW0PDXkDzxqP4DkLljJk8mPpepyuPYlSThn+gHNC8kmnNBbGp3Tw== integrity sha512-kHst1yXzqTiocVU7w9x4cfJ08vR9ZbREC6kTRtH1ytQSEUL5tM0b9HFicfg1kDp7YNq2qntRro+WmfjU9Ps/eg==
dependencies: dependencies:
"@vuepress/plugin-active-header-links" "^1.4.0" "@vuepress/plugin-active-header-links" "1.5.4"
"@vuepress/plugin-nprogress" "^1.4.0" "@vuepress/plugin-nprogress" "1.5.4"
"@vuepress/plugin-search" "^1.4.0" "@vuepress/plugin-search" "1.5.4"
docsearch.js "^2.5.2" docsearch.js "^2.5.2"
lodash "^4.17.15" lodash "^4.17.15"
stylus "^0.54.5" stylus "^0.54.5"
@ -2810,11 +2810,6 @@ detective@^5.2.0:
defined "^1.0.0" defined "^1.0.0"
minimist "^1.1.1" minimist "^1.1.1"
diacritics@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/diacritics/-/diacritics-1.3.0.tgz#3efa87323ebb863e6696cebb0082d48ff3d6f7a1"
integrity sha1-PvqHMj67hj5mls67AILUj/PW96E=
diffie-hellman@^5.0.0: diffie-hellman@^5.0.0:
version "5.0.3" version "5.0.3"
resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875"
@ -8057,19 +8052,19 @@ vuepress-plugin-smooth-scroll@^0.0.3:
dependencies: dependencies:
smoothscroll-polyfill "^0.4.3" smoothscroll-polyfill "^0.4.3"
vuepress@^1.4.0: vuepress@^1.5.4:
version "1.4.0" version "1.5.4"
resolved "https://registry.yarnpkg.com/vuepress/-/vuepress-1.4.0.tgz#308037b15baec6e251b835fe1fff7da507302b6b" resolved "https://registry.yarnpkg.com/vuepress/-/vuepress-1.5.4.tgz#282d2412c1c7269d8bd93b83d421ef53b77b45f6"
integrity sha512-VrBNCCjyrB4EfdIRWTW6uo/xmMzplVsGE/2oGLkgVhWLPCvvSEAcGQhoUKWxRJXk6CdrDCov6jsmu6MA1N3fvw== integrity sha512-F25r65BzxDFAJmWIN9s9sQSndLIf1ldAKEwkeXCqE4p2lsx/eVvQJL3DzOeeR2WgCFOkhFMKWIV+CthTGdNTZg==
dependencies: dependencies:
"@vuepress/core" "^1.4.0" "@vuepress/core" "1.5.4"
"@vuepress/theme-default" "^1.4.0" "@vuepress/theme-default" "1.5.4"
cac "^6.5.6" cac "^6.5.6"
envinfo "^7.2.0" envinfo "^7.2.0"
opencollective-postinstall "^2.0.2" opencollective-postinstall "^2.0.2"
update-notifier "^4.0.0" update-notifier "^4.0.0"
watchpack@^1.6.0: watchpack@1.6.1, watchpack@^1.6.0:
version "1.6.1" version "1.6.1"
resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.1.tgz#280da0a8718592174010c078c7585a74cd8cd0e2" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.1.tgz#280da0a8718592174010c078c7585a74cd8cd0e2"
integrity sha512-+IF9hfUFOrYOOaKyfaI7h7dquUIOgyEMoQMLA7OP5FxegKA2+XdXThAZ9TU2kucfhDH7rfMHs1oPYziVGWRnZA== integrity sha512-+IF9hfUFOrYOOaKyfaI7h7dquUIOgyEMoQMLA7OP5FxegKA2+XdXThAZ9TU2kucfhDH7rfMHs1oPYziVGWRnZA==