diff --git a/.vuepress/config.js b/.vuepress/config.js index 12ddb7cf..7c88050d 100644 --- a/.vuepress/config.js +++ b/.vuepress/config.js @@ -32,10 +32,6 @@ module.exports = { text: 'Get Started', link: '/project/introduction.md', }, - // { - // text: 'API Reference', - // link: '/api/' - // }, { text: 'Community Guides', link: '/community/about.md', @@ -45,263 +41,91 @@ module.exports = { link: 'https://pterodactyl.io/discord' } ], - sidebar: { - '/project/': [ - { - title: 'Project Information', - collapsable: false, - children: [ - '/project/introduction.md', - '/project/about.md', - '/project/terms.md', - ] - }, - { - title: 'Panel', - collapsable: false, - children: [ - '/panel/getting_started', - '/panel/webserver_configuration', - '/panel/upgrading', - '/panel/configuration', - '/panel/troubleshooting', - ] - }, - { - title: 'Daemon', - collapsable: false, - children: [ - '/daemon/installing', - '/daemon/upgrading', - '/daemon/configuration', - '/daemon/kernel_modifications', - '/daemon/debian_8_docker', - '/daemon/standalone_sftp', - ] - }, - { - title: 'Tutorials', - collapsable: false, - children: [ - '/tutorials/mysql_setup.md', - '/tutorials/creating_ssl_certificates.md', - ], - }, - { - title: 'Development & Ops', - collapsable: true, - children: [ - '/ops/publish_release.md', - ], - }, - // { - // title: 'API Reference', - // collapsable: true, - // children: [ - // '/', - // ] - // } - ], - '/panel/': [ - { - title: 'Project Information', - collapsable: false, - children: [ - '/project/introduction.md', - '/project/about.md', - '/project/terms.md', - ] - }, - { - title: 'Panel', - collapsable: false, - children: [ - '/panel/getting_started', - '/panel/webserver_configuration', - '/panel/upgrading', - '/panel/configuration', - '/panel/troubleshooting', - ] - }, - { - title: 'Daemon', - collapsable: false, - children: [ - '/daemon/installing', - '/daemon/upgrading', - '/daemon/configuration', - '/daemon/kernel_modifications', - '/daemon/debian_8_docker', - ] - }, - { - title: 'Tutorials', - collapsable: false, - children: [ - '/tutorials/mysql_setup.md', - '/tutorials/creating_ssl_certificates.md', - ], - }, - { - title: 'Development & Ops', - collapsable: true, - children: [ - '/ops/publish_release.md', - ], - }, - // { - // title: 'API Reference', - // collapsable: true, - // children: [ - // '/', - // ] - // } - ], - '/daemon/': [ - { - title: 'Project Information', - collapsable: false, - children: [ - '/project/introduction.md', - '/project/about.md', - '/project/terms.md', - ] - }, - { - title: 'Panel', - collapsable: false, - children: [ - '/panel/getting_started', - '/panel/webserver_configuration', - '/panel/upgrading', - '/panel/configuration', - '/panel/troubleshooting', - ] - }, - { - title: 'Daemon', - collapsable: false, - children: [ - '/daemon/installing', - '/daemon/upgrading', - '/daemon/configuration', - '/daemon/kernel_modifications', - '/daemon/debian_8_docker', - ] - }, - { - title: 'Tutorials', - collapsable: false, - children: [ - '/tutorials/mysql_setup.md', - '/tutorials/creating_ssl_certificates.md', - ], - }, - { - title: 'Development & Ops', - collapsable: true, - children: [ - '/ops/publish_release.md', - ], - }, - // { - // title: 'API Reference', - // collapsable: true, - // children: [ - // '/', - // ] - // } - ], - '/tutorials/': [ - { - title: 'Project Information', - collapsable: false, - children: [ - '/project/introduction.md', - '/project/about.md', - '/project/terms.md', - ] - }, - { - title: 'Panel', - collapsable: false, - children: [ - '/panel/getting_started', - '/panel/webserver_configuration', - '/panel/upgrading', - '/panel/configuration', - '/panel/troubleshooting', - ] - }, - { - title: 'Daemon', - collapsable: false, - children: [ - '/daemon/installing', - '/daemon/upgrading', - '/daemon/configuration', - '/daemon/kernel_modifications', - '/daemon/debian_8_docker', - ] - }, - { - title: 'Tutorials', - collapsable: false, - children: [ - '/tutorials/mysql_setup.md', - '/tutorials/creating_ssl_certificates.md', - ], - }, - { - title: 'Development & Ops', - collapsable: true, - children: [ - '/ops/publish_release.md', - ], - }, - // { - // title: 'API Reference', - // collapsable: true, - // children: [ - // '/', - // ] - // } - ], - '/community/':[ - { - title: 'Community Guides', - collapsable: false, - children: [ - '/community/about.md', - ] - }, - { - title: 'Install Panel', - collapsable: false, - children: [ - '/community/install/panel/centos7.md', - '/community/install/panel/ubuntu1804.md', - '/community/install/panel/debian9.md', - ] - }, - { - title: 'Install Daemon', - collapsable: false, - children: [ - '/community/install/daemon/centos7.md', - '/community/install/daemon/ubuntu1804.md', - '/community/install/daemon/debian9.md', - ] - }, - { - title: 'Minecraft', - collapsable: false, - children: [ - '/community/minecraft/networks.md', - ], - }, - ] - } + sidebar: { + '/community/': [ + { + title: 'Community Guides', + collapsable: false, + children: [ + '/community/about.md', + ] + }, + { + title: 'Panel Installation', + collapsable: false, + children: [ + '/community/installation-guides/panel/centos7.md', + '/community/installation-guides/panel/ubuntu1804.md', + '/community/installation-guides/panel/debian9.md', + ] + }, + { + title: 'Daemon Installation', + collapsable: false, + children: [ + '/community/installation-guides/daemon/centos7.md', + '/community/installation-guides/daemon/ubuntu1804.md', + '/community/installation-guides/daemon/debian9.md', + ] + }, + { + title: 'Minecraft', + collapsable: false, + children: [ + '/community/minecraft/networks.md', + ], + }, + ], + '/': [ + { + title: 'Project Information', + collapsable: false, + children: [ + '/project/introduction.md', + '/project/about.md', + '/project/terms.md', + ] + }, + { + title: 'Panel', + collapsable: false, + children: [ + '/panel/getting_started', + '/panel/webserver_configuration', + '/panel/upgrading', + '/panel/configuration', + '/panel/troubleshooting', + ] + }, + { + title: 'Daemon', + collapsable: false, + children: [ + '/daemon/installing', + '/daemon/upgrading', + '/daemon/configuration', + '/daemon/kernel_modifications', + '/daemon/debian_8_docker', + '/daemon/standalone_sftp', + ] + }, + { + title: 'Tutorials', + collapsable: false, + children: [ + '/tutorials/mysql_setup.md', + '/tutorials/creating_ssl_certificates.md', + ], + }, + { + title: 'Development & Ops', + collapsable: true, + children: [ + '/ops/publish_release.md', + ], + }, + ], + }, }, postcss: { plugins: [ diff --git a/community/about.md b/community/about.md index fdfe5912..9e96ab12 100644 --- a/community/about.md +++ b/community/about.md @@ -1,5 +1,6 @@ -# Introduction -This is the community guide section of the site. +# About +This section of Pterodactyl's site is dedicated to more complex topics, tutorials, and features that we +feel are important to share with the community, but do not fit into the theme of our core documentation. -## -This is the area for community maintained guides that have been validated before being added. \ No newline at end of file +Here you'll find in-depth OS-specific installation guides, advanced network configurations, individual game +setup instructions, and so much more. diff --git a/community/install/daemon/ubuntu1804.md b/community/install/daemon/ubuntu1804.md deleted file mode 100644 index 2efc5dbd..00000000 --- a/community/install/daemon/ubuntu1804.md +++ /dev/null @@ -1,32 +0,0 @@ -# Install wings on Ubuntu 18.04 - -This guide covers the installation of the requirements for a daemon with SSL enabled. - -[[toc]] - -## Install Requirements - -The daemon requirements can be found [here](/daemon/installing.md#system-requirements) - -### General Requirements -```bash -apt install -y zip unzip tar make gcc g++ python -``` - -### Docker - -```bash -apt install -y docker.io - -systemctl enable docker -systemctl start docker -``` - -### nodejs - -```bash -apt install -y nodejs npm -``` - -## Installing the daemon -Follow the regular guide to install the [daemon](/daemon/installing.md#installing-daemon-software) \ No newline at end of file diff --git a/community/install/daemon/centos7.md b/community/installation-guides/daemon/centos7.md similarity index 50% rename from community/install/daemon/centos7.md rename to community/installation-guides/daemon/centos7.md index 8c8ea28a..408049fc 100644 --- a/community/install/daemon/centos7.md +++ b/community/installation-guides/daemon/centos7.md @@ -1,12 +1,15 @@ -# Install wings on CentOS 7 - -This guide covers the installation of the requirements for a daemon with SSL enabled. +# CentOS 7 +In this guide we will install Pterodactyl's Daemon (wings) — including all of it's dependencies — and configure it +to use a SSL connection. [[toc]] -## Install Requirements +::: tip +This guide is based off the [official installation documentation](/daemon/installing.md) but is tailored specifically for CentOS 7. +::: -The daemon requirements can be found [here](/daemon/installing.md#system-requirements) +## Install Requirements +We will first begin by installing all of the Daemon's [required](/daemon/installing.md#dependencies) dependencies. ### General Requirements ```bash @@ -26,15 +29,14 @@ systemctl enable docker systemctl start docker ``` -### nodejs +### Nodejs ```bash curl --silent --location https://rpm.nodesource.com/setup_8.x | bash - yum install -y nodejs ``` -### server ports - +### Server Ports ```bash firewall-cmd --add-port 8080/tcp --permanent firewall-cmd --add-port 2022/tcp --permanent @@ -42,5 +44,5 @@ firewall-cmd --permanent --zone=trusted --change-interface=docker0 firewall-cmd --reload ``` -## Installing the daemon -Follow the regular guide to install the [daemon](/daemon/installing.md#installing-daemon-software) \ No newline at end of file +## Installing the Daemon +Great, now all of the dependencies and firewall rules have been dealt with. From here follow the [official Daemon installation documentation](/daemon/installing.md#installing-daemon-software). diff --git a/community/install/daemon/debian9.md b/community/installation-guides/daemon/debian9.md similarity index 54% rename from community/install/daemon/debian9.md rename to community/installation-guides/daemon/debian9.md index bf417eae..ee73a93e 100644 --- a/community/install/daemon/debian9.md +++ b/community/installation-guides/daemon/debian9.md @@ -1,12 +1,15 @@ -# Install wings on Debian 9 - -This guide covers the installation of the requirements for a daemon with SSL enabled. +# Debian 9 +In this guide we will install Pterodactyl's Daemon (wings) — including all of it's dependencies — and configure it +to use a SSL connection. [[toc]] -## Install Requirements +::: tip +This guide is based off the [official installation documentation](/daemon/installing.md) but is tailored specifically for Debian 9. +::: -The daemon requirements can be found [here](/daemon/installing.md#system-requirements) +## Install Requirements +We will first begin by installing all of the Daemon's [required](/daemon/installing.md#dependencies) dependencies. ### General Requirements ```bash @@ -33,7 +36,7 @@ systemctl enable docker systemctl start docker ``` -### nodejs +### Nodejs ```bash ## Install nodejs repo @@ -43,5 +46,5 @@ curl -sL https://deb.nodesource.com/setup_8.x | bash - apt install -y nodejs ``` -## Installing the daemon -Follow the regular guide to install the [daemon](/daemon/installing.md#installing-daemon-software) \ No newline at end of file +## Installing the Daemon +Great, now all of the dependencies have been dealt with. From here follow the [official Daemon installation documentation](/daemon/installing.md#installing-daemon-software). diff --git a/community/installation-guides/daemon/ubuntu1804.md b/community/installation-guides/daemon/ubuntu1804.md new file mode 100644 index 00000000..121d5903 --- /dev/null +++ b/community/installation-guides/daemon/ubuntu1804.md @@ -0,0 +1,35 @@ +# Ubuntu 18.04 +In this guide we will install Pterodactyl's Daemon (wings) — including all of it's dependencies — and configure it +to use a SSL connection. + +[[toc]] + +::: tip +This guide is based off the [official installation documentation](/daemon/installing.md) but is tailored specifically for Ubuntu 18.04. +::: + +## Install Requirements +We will first begin by installing all of the Daemon's [required](/daemon/installing.md#dependencies) dependencies. + +### General Requirements +```bash +apt install -y zip unzip tar make gcc g++ python +``` + +### Docker + +```bash +apt install -y docker.io + +systemctl enable docker +systemctl start docker +``` + +### Nodejs + +```bash +apt install -y nodejs npm +``` + +## Installing the Daemon +Great, now all of the dependencies and firewall rules have been dealt with. From here follow the [official Daemon installation documentation](/daemon/installing.md#installing-daemon-software). diff --git a/community/install/panel/centos7.md b/community/installation-guides/panel/centos7.md similarity index 67% rename from community/install/panel/centos7.md rename to community/installation-guides/panel/centos7.md index 58992a8a..d8ab3331 100644 --- a/community/install/panel/centos7.md +++ b/community/installation-guides/panel/centos7.md @@ -1,15 +1,17 @@ -# Install pterodactyl on CentOS 7 - -This guide covers the installation of the requirements for a panel with SSL enabled. +# CentOS 7 +In this guide we will install Pterodactyl — including all of it's dependencies — and configure our webserver +to serve it using SSL. [[toc]] -## Install Requirements +::: tip +This guide is based off the [official installation documentation](/panel/getting_started.md) but is tailored specifically for CentOS 7. +::: -The panel requirements can be found [here](/panel/getting_started.md#dependencies) +## Install Requirements +We will first begin by installing all of Pterodactyl's [required](/panel/getting_started.md#dependencies) dependencies. ### MariaDB - ```bash ## Install Repos cat < /etc/yum.repos.d/mariadb.repo @@ -47,8 +49,7 @@ yum update -y yum install -y php72u-php php72u-common php72u-fpm php72u-cli php72u-json php72u-mysqlnd php72u-mcrypt php72u-gd php72u-mbstring php72u-pdo php72u-zip php72u-bcmath php72u-dom php72u-opcache ``` -### nginx - +### Nginx ```bash yum install -y nginx @@ -58,7 +59,6 @@ firewall-cmd --reload ``` ### Redis - ```bash yum install -y redis40u @@ -66,23 +66,22 @@ systemctl start redis systemctl enable redis ``` -### utilities +### Additional Utilities -#### certbot +#### Certbot ```bash yum install -y certbot ``` -#### composer +#### Composer ```bash curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer ``` ## Server Configuration - This following section covers the configuration of parts of the server to run the panel. -### MariaDB +### Configuring MariaDB The fastest way to set up mariadb is to use the `mysql_secure_installation` command and follow prompts ```bash @@ -110,11 +109,9 @@ All done! If you've completed all of the above steps, your MariaDB installation should now be secure. #### Adding MariaDB user -We have a tutorial in the tutorial section -[Setting up MySQL](/tutorials/mysql_setup.md) - -### PHP +To add your first user to the database, see our tutorial on [setting up MySQL](/tutorials/mysql_setup.md). +### Setup PHP Place the contents below in a file inside the `/etc/php-fpm.d` folder. The file can be named anything, but a good standard is `www-pterodactyl.conf`. This config will match the nginx config later in the guide. <<< @/.snippets/php-fpm/pterodactyl-centos.conf @@ -125,17 +122,15 @@ systemctl enable php-fpm systemctl start php-fpm ``` -### nginx +### Nginx +Please check our [tutorial](/tutorials/creating_ssl_certificates.md) on generating SSL certificates for more information. -follow the [tutorial](/tutorials/creating_ssl_certificates.md) on generating an SSL cert to use. - -#### ssl config +#### SSL Configuration <<< @/.snippets/webservers/nginx-centos.conf{5,11,26-27} -### Redis -The default Redis install is perfectly fine for the panel. +### Redis Setup +The default Redis install is perfectly fine for the panel. If you have Redis already in use you may want to look into +[running another Redis instance](https://community.pivotal.io/s/article/How-to-setup-and-run-multiple-Redis-server-instances-on-a-Linux-host). -If you have Redis already in use you may want to look into running another Redis instance similar to [this guide](https://community.pivotal.io/s/article/How-to-setup-and-run-multiple-Redis-server-instances-on-a-Linux-host) - -## Installing the panel -Follow the regular guide to install the [panel](/panel/getting_started.md#installation) +## Installing the Panel +Excellent, we now have all of the required dependencies installed and configured. From here, follow the [official Panel installation documentation](/panel/getting_started.md#installation). diff --git a/community/install/panel/debian9.md b/community/installation-guides/panel/debian9.md similarity index 61% rename from community/install/panel/debian9.md rename to community/installation-guides/panel/debian9.md index fa71e6e8..a74db9c7 100644 --- a/community/install/panel/debian9.md +++ b/community/installation-guides/panel/debian9.md @@ -1,15 +1,17 @@ -# Install pterodactyl on Debian 9 - -This guide covers the installation of the requirements for a panel with SSL enabled. +# Debian 9 +In this guide we will install Pterodactyl — including all of it's dependencies — and configure our webserver +to serve it using SSL. [[toc]] -## Install Requirements +::: tip +This guide is based off the [official installation documentation](/panel/getting_started.md) but is tailored specifically for Debian 9. +::: -The panel requirements can be found [here](/panel/getting_started.md#dependencies) +## Install Requirements +We will first begin by installing all of Pterodactyl's [required](/panel/getting_started.md#dependencies) dependencies. ### MariaDB - ```bash apt install -y software-properties-common dirmngr @@ -31,7 +33,6 @@ systemctl enable mariadb ``` ### PHP 7.2 - ```bash ## Install the PHP 7.2 repo for debian apt install -y ca-certificates apt-transport-https @@ -45,14 +46,12 @@ apt update apt install -y php7.2 php7.2-cli php7.2-gd php7.2-mysql php7.2-pdo php7.2-mbstring php7.2-tokenizer php7.2-bcmath php7.2-xml php7.2-fpm php7.2-curl php7.2-zip ``` -### nginx - +### Nginx ```bash apt install -y nginx ``` ### Redis - ```bash apt install -y redis-server @@ -60,23 +59,22 @@ systemctl start redis-server systemctl enable redis-server ``` -### utilities +### Additional Utilities -#### certbot +#### Certbot ```bash apt install -y certbot curl ``` -#### composer +#### Composer ```bash curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer ``` ## Server Configuration - This following section covers the configuration of parts of the server to run the panel. -### MariaDB +### Configuring MariaDB The fastest way to set up mariadb is to use the `mysql_secure_installation` command and follow prompts ```bash @@ -100,35 +98,30 @@ Extra databases that aren't needed Clears and sets all the changes made `Reload privilege tables now? [Y/n] Y` -All done! If you've completed all of the above steps, your MariaDB -installation should now be secure. +All done! If you've completed all of the above steps, your MariaDB installation should now be secure. #### Adding MariaDB user -We have a tutorial in the tutorial section -[Setting up MySQL](/tutorials/mysql_setup.md) +To add your first user to the database, see our tutorial on [setting up MySQL](/tutorials/mysql_setup.md). -### PHP +### Setup PHP +The default php-fpm configuration is fine to use and can be started and then enabled on the system using the +commands below. -The default php-fpm configuration is good to use. - -Start and enable php-fpm on the system. ```bash systemctl enable php7.2-fpm systemctl start php7.2-fpm ``` -### nginx +### Nginx +Please check our [tutorial](/tutorials/creating_ssl_certificates.md) on generating SSL certificates for more information. -follow the [tutorial](/tutorials/creating_ssl_certificates.md) on generating an SSL cert to use. - -#### ssl config +#### SSL Configuration <<< @/.snippets/webservers/nginx.conf{5,11,26-27} -### Redis -The default Redis install is perfectly fine for the panel. +### Redis Setup +The default Redis install is perfectly fine for the panel. If you have Redis already in use you may want to look into +[running another Redis instance](https://community.pivotal.io/s/article/How-to-setup-and-run-multiple-Redis-server-instances-on-a-Linux-host). -If you have Redis already in use you may want to look into running another Redis instance similar to [this guide](https://community.pivotal.io/s/article/How-to-setup-and-run-multiple-Redis-server-instances-on-a-Linux-host) - -## Installing the panel -Follow the regular guide to install the [panel](/panel/getting_started.md#installation) \ No newline at end of file +## Installing the Panel +Excellent, we now have all of the required dependencies installed and configured. From here, follow the [official Panel installation documentation](/panel/getting_started.md#installation). diff --git a/community/install/panel/ubuntu1804.md b/community/installation-guides/panel/ubuntu1804.md similarity index 54% rename from community/install/panel/ubuntu1804.md rename to community/installation-guides/panel/ubuntu1804.md index f43628cb..6ee8b2af 100644 --- a/community/install/panel/ubuntu1804.md +++ b/community/installation-guides/panel/ubuntu1804.md @@ -1,15 +1,17 @@ -# Install pterodactyl on Ubuntu 18.04 - -This guide covers the installation of the requirements for a panel with SSL enabled. +# Ubuntu 18.04 +In this guide we will install Pterodactyl — including all of it's dependencies — and configure our webserver +to serve it using SSL. [[toc]] -## Install Requirements +::: tip +This guide is based off the [official installation documentation](/panel/getting_started.md) but is tailored specifically for Ubuntu 18.04. +::: -The panel requirements can be found [here](/panel/getting_started.md#dependencies) +## Install Requirements +We will first begin by installing all of Pterodactyl's [required](/panel/getting_started.md#dependencies) dependencies. ### MariaDB - ```bash ## Get apt updates apt update -y @@ -32,7 +34,7 @@ apt update -y apt install -y php7.2 php7.2-cli php7.2-gd php7.2-mysql php7.2-pdo php7.2-mbstring php7.2-tokenizer php7.2-bcmath php7.2-xml php7.2-fpm php7.2-curl php7.2-zip ``` -### nginx +### Nginx ```bash apt install -y nginx @@ -47,23 +49,22 @@ systemctl start redis-server systemctl enable redis-server ``` -### utilities +### Additional Utilities -#### certbot +#### Certbot ```bash apt install -y certbot ``` -#### composer +#### Composer ```bash curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer ``` ## Server Configuration - This following section covers the configuration of parts of the server to run the panel. -### MariaDB +### Configuring MariaDB The fastest way to set up MariaDB is to use the `mysql_secure_installation` command and follow prompts ```bash @@ -87,35 +88,29 @@ Extra databases that aren't needed Clears and sets all the changes made `Reload privilege tables now? [Y/n] Y` -All done! If you've completed all of the above steps, your MariaDB -installation should now be secure. +All done! If you've completed all of the above steps, your MariaDB installation should now be secure. #### Adding MariaDB user -We have a tutorial in the tutorial section -[Setting up MySQL](/tutorials/mysql_setup.md) +To add your first user to the database, see our tutorial on [setting up MySQL](/tutorials/mysql_setup.md). -### PHP +### Setup PHP +The default php-fpm configuration is fine to use and can be started and then enabled on the system using the +commands below. -The default php-fpm configuration is good to use. - -Start and enable php-fpm on the system. ```bash systemctl enable php7.2-fpm systemctl start php7.2-fpm ``` -### nginx +### Nginx +Please check our [tutorial](/tutorials/creating_ssl_certificates.md) on generating SSL certificates for more information. -follow the [tutorial](/tutorials/creating_ssl_certificates.md) on generating an SSL cert to use. - -#### ssl config +#### SSL Configuration <<< @/.snippets/webservers/nginx.conf{5,11,26-27} +### Redis Setup +The default Redis install is perfectly fine for the panel. If you have Redis already in use you may want to look into +[running another Redis instance](https://community.pivotal.io/s/article/How-to-setup-and-run-multiple-Redis-server-instances-on-a-Linux-host). -### Redis -The default Redis install is perfectly fine for the panel. - -If you have Redis already in use you may want to look into running another Redis instance similar to [this guide](https://community.pivotal.io/s/article/How-to-setup-and-run-multiple-Redis-server-instances-on-a-Linux-host) - -## Installing the panel -Follow the regular guide to install the [panel](/panel/getting_started.md#installation) +## Installing the Panel +Excellent, we now have all of the required dependencies installed and configured. From here, follow the [official Panel installation documentation](/panel/getting_started.md#installation). diff --git a/community/minecraft/networks.md b/community/minecraft/networks.md index 41ab95d6..3dc92cfe 100644 --- a/community/minecraft/networks.md +++ b/community/minecraft/networks.md @@ -1,37 +1,42 @@ # Server Networks +This guide was written for Bungeecord, but should work fine for Waterfall and Hexacord servers. [[toc]] :::warning -This guide was written with BungeeCord in mind, but should work for Waterfall and Hexacord as well. For the setup described below, it is necessary that all servers are on the same node. ::: -## Setting up a BungeeCord network +## Setting up the Network +The ideal setup for this involves a separated internal network with only one access point — the BungeeCord server — +which is an easy configuration with Pterodactyl. In order to create a Bungeecord network you'll first need to add an +allocation to your Node that makes your Bungeecord server publicly accessible. This allocation should be for your +public IP address and the default port you wish to use — generally `25565`. -The ideal setup with BungeeCord is a seperated internal network with only one access point which is the BungeeCord server. Pterodactyl provides this with Docker. -In order to create a BungeeCord network you'll have to add an allocation with which the BungeeCord server should be reachable. Add an allocation with the IP address of the node and the desired port (e.g. 25565, the default Minecraft port) to your node first. -Then create a new BungeeCord server and use the allocation you just created. +## Adding Additional Servers +All other servers that are a part of the network should be created on local interfaces — meaning they are not publicly +accessible. Create new allocations on the localhost IP address `127.0.0.1` with some ports for the servers to use. +You can also enter a port range, e.g. `30000-30010` which will get you 11 ports. -### Adding servers to the BungeeCord network +Now create new servers and be sure to use your internal allocations — `127.0.0.1` — for each of them. To add the +servers to your network you'll use `172.18.0.1:` — or `127.0.0.1` which will automatically be resolved to your +Docker network interface IP — as the IP address in your configuration file. -All the other servers that should be part of the BungeeCord network don't require external ports. Create new allocations on the localhost IP address `127.0.0.1` with some ports for the servers to use. You can also enter a port range, e.g. `30000-30010` which will get you 11 ports. -Now create new servers and be sure to use `127.0.0.1` allocations for each of them. To add the servers to your BungeeCord network, use `172.18.0.1:` (not 127.0.0.1) as the IP addresses of the servers to add in your configuration file. +## In Conclusion +* Only the proxy server (Bungeecord/Hexacord/Waterfall) should be attached to your publically accessible IP address. +* You should _not_ make any modifications to IPTables. +* All of the servers behind the proxy are safe from direct _external_ connections, assuming you bind them to `127.0.0.1`. -## Notes +## UFW Firewall +If you are using a `ufw` firewall, it might be necessary to allow access to specific host ports. The following command +allows incoming requests to `172.18.0.1`, which is the IP of the actual host server within the docker network. Replace +`` with any port you want to be accessible. In this case use the port you assigned to the minecraft +server you want to add. -* **Only** the proxy (Waterfall / Hexagon / Bungee) has to be bound to an external IP. -* **No modifications to iptables should be done** -* all servers behind the proxy are safe. - -### UFW Firewall - -If you are using the ufw firewall, it might be necessary to allow access to specific host ports. The following command allows incoming requests to `172.18.0.1`, which is the IP of the actual host server within the docker network. Replace `` with any port you want to be accessible. In this case use the port you assigned to the minecraft server you want to add. +:::warning +The ports you open with this command will be accessible by any server _on the same node_. +::: ``` ufw allow in on pterodactyl0 to 172.18.0.1 port proto tcp ``` - -:::warning -The ports you open with this command will be accessible by any server on the same node. -::: \ No newline at end of file diff --git a/daemon/installing.md b/daemon/installing.md index ff59f488..02363cfa 100644 --- a/daemon/installing.md +++ b/daemon/installing.md @@ -125,7 +125,7 @@ set when creating the node. The next step is to download the software and unpack the archive. ``` bash -curl -L https://github.com/pterodactyl/daemon/releases/download/v0.6.8/daemon.tar.gz | tar --strip-components=1 -xzv +curl -L https://github.com/pterodactyl/daemon/releases/download/v0.6.10/daemon.tar.gz | tar --strip-components=1 -xzv ``` Finally, we need to install the dependencies that allow the Daemon to run properly. This command will most likely diff --git a/daemon/standalone_sftp.md b/daemon/standalone_sftp.md index 4609b227..57c70d77 100644 --- a/daemon/standalone_sftp.md +++ b/daemon/standalone_sftp.md @@ -34,7 +34,7 @@ Once you've done that, restarting the Daemon will apply the change and not boot To download the standalone server, execute the command below in your Daemon's base directory (generally `/srv/daemon`). ``` sh -curl -Lo sftp-server https://github.com/pterodactyl/sftp-server/releases/download/v1.0.2/sftp-server +curl -Lo sftp-server https://github.com/pterodactyl/sftp-server/releases/download/v1.0.3/sftp-server chmod +x sftp-server ``` diff --git a/daemon/upgrade/0.4_to_0.5.md b/daemon/upgrade/0.4_to_0.5.md index e0ab9c1c..1c9c166f 100644 --- a/daemon/upgrade/0.4_to_0.5.md +++ b/daemon/upgrade/0.4_to_0.5.md @@ -27,7 +27,7 @@ guide your Daemon is most likely located in `/srv/daemon`. Then, download and un command below. ``` bash -curl -L https://github.com/pterodactyl/daemon/releases/download/v0.5.6/daemon.tar.gz | tar --strip-components=1 -xzv +curl -L https://github.com/pterodactyl/daemon/releases/download/v0.5.7/daemon.tar.gz | tar --strip-components=1 -xzv ``` Then, update the core dependencies for the Daemon with the following command. diff --git a/daemon/upgrade/0.5.md b/daemon/upgrade/0.5.md index 627533fb..5b73f030 100644 --- a/daemon/upgrade/0.5.md +++ b/daemon/upgrade/0.5.md @@ -10,7 +10,7 @@ First, ensure you're in the Daemon directory, `/srv/daemon`, before continuing t that, run the command below to pull down the latest files and unpack them in the daemon directory. ``` bash -curl -L https://github.com/pterodactyl/daemon/releases/download/v0.5.6/daemon.tar.gz | tar --strip-components=1 -xzv +curl -L https://github.com/pterodactyl/daemon/releases/download/v0.5.7/daemon.tar.gz | tar --strip-components=1 -xzv ``` ## Update Components diff --git a/daemon/upgrade/0.5_to_0.6.md b/daemon/upgrade/0.5_to_0.6.md index 29d50cd7..6cde2ae1 100644 --- a/daemon/upgrade/0.5_to_0.6.md +++ b/daemon/upgrade/0.5_to_0.6.md @@ -29,7 +29,7 @@ systemctl stop wings ::: ``` bash -curl -L https://github.com/pterodactyl/daemon/releases/download/v0.6.8/daemon.tar.gz | tar --strip-components=1 -xzv +curl -L https://github.com/pterodactyl/daemon/releases/download/v0.6.10/daemon.tar.gz | tar --strip-components=1 -xzv ``` Then, update the core dependencies for the Daemon with the following command. diff --git a/daemon/upgrade/0.6.md b/daemon/upgrade/0.6.md index f655aadd..ef66a640 100644 --- a/daemon/upgrade/0.6.md +++ b/daemon/upgrade/0.6.md @@ -14,7 +14,7 @@ First, ensure you're in the Daemon directory, `/srv/daemon`, before continuing t that, run the command below to pull down the latest files and unpack them in the daemon directory. ``` bash -curl -L https://github.com/pterodactyl/daemon/releases/download/v0.6.8/daemon.tar.gz | tar --strip-components=1 -xzv +curl -L https://github.com/pterodactyl/daemon/releases/download/v0.6.10/daemon.tar.gz | tar --strip-components=1 -xzv ``` ## Update Components diff --git a/ops/publish_release.md b/ops/publish_release.md index 6b0b4fea..6a94d31d 100644 --- a/ops/publish_release.md +++ b/ops/publish_release.md @@ -11,13 +11,13 @@ day-to-day basis. ## Pick a Codename If this is going to be a major version release `0.X` or `1.X` (not `0.0.X`), you will need to have a codename picked out for the release. This should be some type of rhyme or otherwise creative name, ideally using some type of Pterodactyl -releated species name. +related species name. ## 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 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 preceeding `v`. For the Daemon, -you need to edit `package.json` and set the `version` field, again _without_ a preceeding `v`. +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`. Once you've created the branch and update the relevant file publish the branch to Github to begin the next steps. diff --git a/package.json b/package.json index 34ba5f22..3445a71d 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "dependencies": { "jquery": "^3.3.1", "slick-carousel": "^1.8.1", - "vuepress": "^0.14.3" + "vuepress": "^0.14.8" }, "scripts": { "build": "./node_modules/vuepress/bin/vuepress.js build", diff --git a/panel/configuration.md b/panel/configuration.md index 81b4cb54..3d2dc7ec 100644 --- a/panel/configuration.md +++ b/panel/configuration.md @@ -43,12 +43,12 @@ is because the internal logic the Panel is using to determine how links should b HTTP, and not over HTTPS. You will need to edit the `.env` file in the Panel's root directory to contain `TRUSTED_PROXIES=*` at minimum. We -highly suggest providing a specific IP address (or comma seperated list of IPs) rather than allowing `*`. For example, +highly suggest providing a specific IP address (or comma separated list of IPs) rather than allowing `*`. For example, if your proxy is running on the same machine as the server, chances are that something like `TRUSTED_PROXIES=127.0.0.1` will work for you. -#### Cloudflare Specific Configuration -If you're using Cloudflares Flexible SSL you should set `TRUSTED_PROXIES` to contain [their IP addresses](https://www.cloudflare.com/ips/). +### Cloudflare Specific Configuration +If you're using Cloudflare's Flexible SSL you should set `TRUSTED_PROXIES` to contain [their IP addresses](https://www.cloudflare.com/ips/). Below is an example of how to set this. ``` diff --git a/panel/troubleshooting.md b/panel/troubleshooting.md index 88f2dc42..6f600c4d 100644 --- a/panel/troubleshooting.md +++ b/panel/troubleshooting.md @@ -44,7 +44,7 @@ local.ERROR: ErrorException: file_put_contents(...): failed to open stream: Perm From this error we can determine that there was an error performing a [file_put_contents()](http://php.net/manual/en/function.file-put-contents.php) call, and the error was that we couldn't open the file because permissions were denied. Its okay if you don't understand the error at all, but it does help you get faster support if you're able to provide these logs, and at least find the source of the error. -Sometimes the errors are pretty strightforward and will tell you exactly what went wrong, such as a `ConnectionException` +Sometimes the errors are pretty straightforward and will tell you exactly what went wrong, such as a `ConnectionException` being thrown when the Panel can't connect to the Daemon. ### Utilizing GREP @@ -116,7 +116,7 @@ installation of the Panel. When restoring backups you should _always_ restore the `.env` file! ::: -Sometimes when using the Panel you'll unexpectely encounter a broken page, and upon checking the logs you'll see +Sometimes when using the Panel you'll unexpectedly encounter a broken page, and upon checking the logs you'll see an exception mentioning an invalid MAC when decrypting. This error is caused by mismatched `APP_KEY`s in your `.env` file when the data was encrypted versus decrypted. diff --git a/tutorials/creating_ssl_certificates.md b/tutorials/creating_ssl_certificates.md index 7035e6eb..d6aa4cdd 100644 --- a/tutorials/creating_ssl_certificates.md +++ b/tutorials/creating_ssl_certificates.md @@ -34,3 +34,23 @@ which provides more options, and is much more powerful than certbot. ``` text certbot renew ``` + +## Troubleshooting +If you get an `Insecure Connection` or related error when trying to access your panel, it is likely that the SSL certificate has expired. +This can be easily fixed by renewing the SSL certificate, although using the command `certbot renew` won't do the job. As it'll give a error like: `Error: Attempting to renew cert (domain) from /etc/letsencrypt/renew/domain.conf produced an unexpected error`. +This will happen especially if you're running NGINX instead of Apache. The solution for this is to stop NGINX, then renew the certificate, finally restart NGINX. + +Stop NGINX: +```bash +systemctl stop nginx +``` + +Renew the certificate: +```bash +certbot renew +``` + +Once the process has complete, you can restart the NGINX service: +```bash +systemctl start nginx +``` diff --git a/tutorials/mysql_setup.md b/tutorials/mysql_setup.md index 778f4f5b..958c61e1 100644 --- a/tutorials/mysql_setup.md +++ b/tutorials/mysql_setup.md @@ -25,7 +25,7 @@ to `somePassword`. ``` sql USE mysql; -# Remeber to change 'somePassword' below to be a unique password specific to this account. +# Remember to change 'somePassword' below to be a unique password specific to this account. CREATE USER 'pterodactyl'@'127.0.0.1' IDENTIFIED BY 'somePassword'; ``` diff --git a/yarn.lock b/yarn.lock index 48e3920e..4b8ea95c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3956,9 +3956,10 @@ min-document@^2.19.0: dependencies: dom-walk "^0.1.0" -mini-css-extract-plugin@^0.4.1: +mini-css-extract-plugin@0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.4.1.tgz#d2bcf77bb2596b8e4bd9257e43d3f9164c2e86cb" + integrity sha512-XWuB3G61Rtasq/gLe7cp5cuozehE6hN+E4sxCamRR/WDiHTg+f7ZIAS024r8UJQffY+e2gGELXQZgQoFDfNDCg== dependencies: "@webpack-contrib/schema-utils" "^1.0.0-beta.0" loader-utils "^1.1.0" @@ -6653,9 +6654,10 @@ vuepress-html-webpack-plugin@^3.2.0: toposort "^1.0.0" util.promisify "1.0.0" -vuepress@^0.14.3: - version "0.14.3" - resolved "https://registry.yarnpkg.com/vuepress/-/vuepress-0.14.3.tgz#ed20ab490967e5e4247577e9e2bd8b4506a3635f" +vuepress@^0.14.8: + version "0.14.8" + resolved "https://registry.yarnpkg.com/vuepress/-/vuepress-0.14.8.tgz#1e0a70a64c19e82e365eb7313b1ec88cc4ad7ab3" + integrity sha512-2BVubO3a4Nl8i/tWaO66iq2NRxxf9bh3QwDdoUuBTrhGtLgjv8mv4xrsgMpiPLXo1uk7bQY4hjZNvbYjCLCQkg== dependencies: "@babel/core" "7.0.0-beta.47" "@vue/babel-preset-app" "3.0.0-beta.11" @@ -6689,7 +6691,7 @@ vuepress@^0.14.3: markdown-it-container "^2.0.0" markdown-it-emoji "^1.4.0" markdown-it-table-of-contents "^0.4.0" - mini-css-extract-plugin "^0.4.1" + mini-css-extract-plugin "0.4.1" nprogress "^0.2.0" optimize-css-assets-webpack-plugin "^4.0.0" portfinder "^1.0.13"