diff --git a/README.md b/README.md
index aeadf3a..afb034a 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
Installing Pterodactyl in just a few minutes!
Please note this script is meant to be used on fresh installations only. You must run it as root.
-`bash <(curl -sSL https://raw.githubusercontent.com/tommytran732/Pterodactyl-Script/master/install.sh)`
+`bash <(curl -sSL https://raw.githubusercontent.com/tommytran732/Pterodactyl-Script/pterodactyl-1.0/install.sh)`
Visit my forum: https://revenact.io
Telegram group: https://t.me/revenact
diff --git a/install.sh b/install.sh
index 99e1978..18eed8e 100644
--- a/install.sh
+++ b/install.sh
@@ -159,18 +159,15 @@ install_options(){
output "[1] Install the panel."
output "[2] Install the daemon."
output "[3] Install the panel and daemon."
- output "[4] Install the standalone SFTP server."
- output "[5] Upgrade 0.7.x panel to 0.7.18."
- output "[6] Upgrade 0.6.x daemon to 0.6.13."
- output "[7] Upgrade the panel to 0.7.18 and daemon to 0.6.13"
- output "[8] Upgrade the standalone SFTP server to 1.0.5."
- output "[9] Make Pterodactyl compatible with the mobile app (only use this after you have installed the panel - check out https://pterodactyl.cloud for more information)."
- output "[10] Update mobile compatibility."
- output "[11] Install or update to phpMyAdmin 5.0.2 (only use this after you have installed the panel)."
- output "[12] Install a standalone database host (only for use on daemon-only installations)."
- output "[13] Change Pterodactyl theme."
- output "[14] Emergency MariaDB root password reset."
- output "[15] Emergency database host information reset."
+ output "[4] Upgrade 1.0.0-rc.x RC panel to 1.0.0-rc.6."
+ output "[5] Upgrade 1.0.0-rc.x daemon to 1.0.0-rc.6."
+ output "[6] Upgrade the panel to 1.0.0-rc.x and daemon to 1.0.0-rc.6"
+ output "[7] Make Pterodactyl compatible with the mobile app (only use this after you have installed the panel - check out https://pterodactyl.cloud for more information)."
+ output "[8] Update mobile compatibility."
+ output "[9] Install or update to phpMyAdmin 5.0.2 (only use this after you have installed the panel)."
+ output "[10] Install a standalone database host (only for use on daemon-only installations)."
+ output "[11] Emergency MariaDB root password reset."
+ output "[12] Emergency database host information reset."
read choice
case $choice in
1 ) installoption=1
@@ -183,39 +180,30 @@ install_options(){
output "You have selected panel and daemon installation."
;;
4 ) installoption=4
- output "You have selected to install the standalone SFTP server."
- ;;
- 5 ) installoption=5
output "You have selected to upgrade the panel."
;;
- 6 ) installoption=6
+ 5 ) installoption=5
output "You have selected to upgrade the daemon."
;;
- 7 ) installoption=7
+ 6 ) installoption=6
output "You have selected to upgrade both the panel and daemon."
;;
- 8 ) installoption=8
- output "You have selected to upgrade the standalone SFTP."
- ;;
- 9 ) installoption=9
+ 7 ) installoption=7
output "You have activated mobile app compatibility."
;;
- 10 ) installoption=10
+ 8 ) installoption=8
output "You have selected to update the mobile app compatibility."
;;
- 11 ) installoption=11
+ 9 ) installoption=9
output "You have selected to install or update phpMyAdmin."
;;
- 12 ) installoption=12
+ 10 ) installoption=10
output "You have selected to install a Database host."
;;
- 13 ) installoption=13
- output "You have selected to change Pterodactyl's theme."
- ;;
- 14 ) installoption=14
+ 11 ) installoption=11
output "You have selected MariaDB root password reset."
;;
- 15 ) installoption=15
+ 12 ) installoption=12
output "You have selected Database Host information reset."
;;
* ) output "You did not enter a valid selection."
@@ -238,62 +226,6 @@ webserver_options() {
* ) output "You did not enter a valid selection."
webserver_options
esac
-}
-
-theme_options() {
- output "Would you like to install one of Fonix's themes?"
- output "[1] No."
- output "[2] Super Pink and Fluffy."
- output "[3] Tango Twist."
- output "[4] Blue Brick."
- output "[5] Minecraft Madness."
- output "[6] Lime Stitch."
- output "[7] Red Ape."
- output "[8] BlackEnd Space."
- output "[9] Nothing But Graphite."
- output ""
- output "You can find out about Fonix's themes here: https://github.com/TheFonix/Pterodactyl-Themes"
- read choice
- case $choice in
- 1 ) themeoption=1
- output "You have selected to install the vanilla Pterodactyl theme."
- output ""
- ;;
- 2 ) themeoption=2
- output "You have selected to install Fonix's Super Pink and Fluffy theme."
- output ""
- ;;
- 3 ) themeoption=3
- output "You have selected to install Fonix's Tango Twist theme."
- output ""
- ;;
- 4 ) themeoption=4
- output "You have selected to install Fonix's Blue Brick theme."
- output ""
- ;;
- 5 ) themeoption=5
- output "You have selected to install Fonix's Minecraft Madness theme."
- output ""
- ;;
- 6 ) themeoption=6
- output "You have selected to install Fonix's Lime Stitch theme."
- output ""
- ;;
- 7 ) themeoption=7
- output "You have selected to install Fonix's Red Ape theme."
- output ""
- ;;
- 8 ) themeoption=8
- output "You have selected to install Fonix's BlackEnd Space theme."
- output ""
- ;;
- 9 ) themeoption=9
- output "You have selected to install Fonix's Nothing But Graphite theme."
- output ""
- ;;
- * ) output "You did not enter a valid selection."
- theme_options
- esac
}
required_infos() {
@@ -321,32 +253,6 @@ dns_check(){
fi
}
-theme() {
- output "Theme installation initialized..."
- cd /var/www/pterodactyl
- if [ "$themeoption" = "1" ]; then
- output "Keeping Pterodactyl's vanilla theme."
- elif [ "$themeoption" = "2" ]; then
- curl https://raw.githubusercontent.com/TheFonix/Pterodactyl-Themes/master/MasterThemes/PinkAnFluffy/build.sh | sh
- elif [ "$themeoption" = "3" ]; then
- curl https://raw.githubusercontent.com/TheFonix/Pterodactyl-Themes/master/MasterThemes/TangoTwist/build.sh | sh
- elif [ "$themeoption" = "4" ]; then
- curl https://raw.githubusercontent.com/TheFonix/Pterodactyl-Themes/master/MasterThemes/BlueBrick/build.sh | sh
- elif [ "$themeoption" = "5" ]; then
- curl https://raw.githubusercontent.com/TheFonix/Pterodactyl-Themes/master/MasterThemes/MinecraftMadness/build.sh | sh
- elif [ "$themeoption" = "6" ]; then
- curl https://raw.githubusercontent.com/TheFonix/Pterodactyl-Themes/master/MasterThemes/LimeStitch/build.sh | sh
- elif [ "$themeoption" = "7" ]; then
- curl https://raw.githubusercontent.com/TheFonix/Pterodactyl-Themes/master/MasterThemes/RedApe/build.sh | sh
- elif [ "$themeoption" = "8" ]; then
- curl https://raw.githubusercontent.com/TheFonix/Pterodactyl-Themes/master/MasterThemes/BlackEndSpace/build.sh | sh
- elif [ "$themeoption" = "9" ]; then
- curl https://raw.githubusercontent.com/TheFonix/Pterodactyl-Themes/master/MasterThemes/NothingButGraphite/build.sh | sh
- fi
- php artisan view:clear
- php artisan cache:clear
-}
-
repositories_setup(){
output "Configuring your repositories..."
if [ "$lsb_dist" = "ubuntu" ] || [ "$lsb_dist" = "debian" ]; then
@@ -394,14 +300,14 @@ repositories_setup(){
fi
dnf -y install dnf-plugins-core python2 libsemanage-devel
dnf config-manager --set-enabled remi
- dnf -y module enable php:remi-7.3
+ dnf -y module enable php:remi-7.4
dnf -y module enable nginx:mainline/common
dnf -y module enable mariadb:14/server
elif [ "$lsb_dist" = "centos" ] && [ "$dist_version" = "8" ]; then
dnf -y install epel-release boost-program-options
dnf -y install http://rpms.remirepo.net/enterprise/remi-release-8.rpm
dnf config-manager --set-enabled remi
- dnf -y module enable php:remi-7.3
+ dnf -y module enable php:remi-7.4
dnf -y module enable nginx:mainline/common
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
dnf config-manager --set-enabled mariadb
@@ -436,7 +342,7 @@ EOF
dnf -y install boost-program-options
dnf -y install http://rpms.remirepo.net/enterprise/remi-release-8.rpm
dnf config-manager --set-enabled remi
- dnf -y module enable php:remi-7.3
+ dnf -y module enable php:remi-7.4
dnf -y module enable nginx:mainline/common
curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
dnf config-manager --set-enabled mariadb
@@ -454,9 +360,9 @@ install_dependencies(){
output "Installing dependencies..."
if [ "$lsb_dist" = "ubuntu" ] || [ "$lsb_dist" = "debian" ]; then
if [ "$webserver" = "1" ]; then
- apt-get -y install php7.3 php7.3-cli php7.3-gd php7.3-mysql php7.3-pdo php7.3-mbstring php7.3-tokenizer php7.3-bcmath php7.3-xml php7.3-fpm php7.3-curl php7.3-zip curl tar unzip git redis-server nginx git wget expect
+ apt-get -y install php7.4 php7.4-{cli,gd,mysql,pdo,mbstring,tokenizer,bcmath,xml,fpm,curl,zip} curl tar unzip git redis-server nginx git wget expect
elif [ "$webserver" = "2" ]; then
- apt-get -y install php7.3 php7.3-cli php7.3-gd php7.3-mysql php7.3-pdo php7.3-mbstring php7.3-tokenizer php7.3-bcmath php7.3-xml php7.3-fpm php7.3-curl php7.3-zip curl tar unzip git redis-server apache2 libapache2-mod-php7.3 redis-server git wget expect
+ apt-get -y install php7.4 php7.4-{cli,gd,mysql,pdo,mbstring,tokenizer,bcmath,xml,fpm,curl,zip} curl tar unzip git redis-server apache2 libapache2-mod-php7.4 redis-server git wget expect
fi
sh -c "DEBIAN_FRONTEND=noninteractive apt-get install -y --allow-unauthenticated mariadb-server"
elif [ "$lsb_dist" = "centos" ] && [ "$dist_version" = "7" ]; then
@@ -473,7 +379,7 @@ install_dependencies(){
else
dnf -y install MariaDB-server
fi
- dnf -y module install php:remi-7.3
+ dnf -y module install php:remi-7.4
if [ "$webserver" = "1" ]; then
dnf -y install redis nginx git policycoreutils-python-utils unzip wget expect jq php-mysql php-zip php-bcmath tar
elif [ "$webserver" = "2" ]; then
@@ -485,8 +391,8 @@ install_dependencies(){
if [ "$lsb_dist" = "ubuntu" ] || [ "$lsb_dist" = "debian" ]; then
systemctl enable redis-server
service redis-server start
- systemctl enable php7.3-fpm
- service php7.3-fpm start
+ systemctl enable php7.4-fpm
+ service php7.4-fpm start
elif [ "$lsb_dist" = "fedora" ] || [ "$lsb_dist" = "centos" ] || [ "$lsb_dist" = "rhel" ]; then
systemctl enable redis
service redis start
@@ -558,7 +464,7 @@ install_pterodactyl() {
output "Downloading Pterodactyl..."
mkdir -p /var/www/pterodactyl
cd /var/www/pterodactyl
- curl -Lo panel.tar.gz https://github.com/pterodactyl/panel/releases/download/v0.7.18/panel.tar.gz
+ curl -Lo panel.tar.gz https://github.com/pterodactyl/panel/releases/download/v1.0.0-rc.6/panel.tar.gz
tar --strip-components=1 -xzvf panel.tar.gz
chmod -R 755 storage/* bootstrap/cache/
@@ -641,7 +547,7 @@ EOF
upgrade_pterodactyl(){
cd /var/www/pterodactyl
php artisan down
- curl -L https://github.com/pterodactyl/panel/releases/download/v0.7.18/panel.tar.gz | tar --strip-components=1 -xzv
+ curl -Lo panel.tar.gz https://github.com/pterodactyl/panel/releases/download/v1.0.0-rc.6/panel.tar.gz | tar --strip-components=1 -xzv
chmod -R 755 storage/* bootstrap/cache
composer install --no-dev --optimize-autoloader
php artisan view:clear
@@ -656,7 +562,7 @@ upgrade_pterodactyl(){
semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/pterodactyl/storage(/.*)?"
restorecon -R /var/www/pterodactyl
fi
- output "Your panel has successfully been updated to version 0.7.18."
+ output "Your panel has successfully been updated to version 1.0.0-rc.6."
php artisan up
php artisan queue:restart
}
@@ -726,7 +632,7 @@ server {
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
- fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
+ fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param PHP_VALUE "upload_max_filesize = 100M \n post_max_size=100M";
@@ -942,7 +848,6 @@ setup_pterodactyl(){
install_pterodactyl
ssl_certs
webserver_config
- theme
}
install_daemon() {
@@ -965,55 +870,24 @@ install_daemon() {
systemctl enable docker
output "Enabling SWAP support for Docker & installing NodeJS..."
sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="[^"]*/& swapaccount=1/' /etc/default/grub
- if [ "$lsb_dist" = "ubuntu" ] || [ "$lsb_dist" = "debian" ]; then
- update-grub
- curl -sL https://deb.nodesource.com/setup_12.x | sudo bash -
- if [ "$lsb_dist" = "ubuntu" ] && [ "$dist_version" = "20.04" ]; then
- apt -y install nodejs make gcc g++
- npm install node-gyp
- elif [ "$lsb_dist" = "debian" ] && [ "$dist_version" = "10" ]; then
- apt -y install nodejs make gcc g++
- else
- apt -y install nodejs make gcc g++ node-gyp
- fi
- apt-get -y update
- apt-get -y upgrade
- apt-get -y autoremove
- apt-get -y autoclean
- elif [ "$lsb_dist" = "fedora" ] || [ "$lsb_dist" = "centos" ]; then
- grub2-mkconfig -o "$(readlink /etc/grub2.conf)"
- if [ "$lsb_dist" = "fedora" ]; then
- dnf -y module install nodejs:12/minimal
- dnf install -y tar unzip make gcc gcc-c++ python2
- elif [ "$lsb_dist" = "centos" ] && [ "$dist_version" = "8" ]; then
- dnf -y module install nodejs:12/minimal
- dnf install -y tar unzip make gcc gcc-c++ python2
- elif [ "$lsb_dist" = "centos" ] && [ "$dist_version" = "7" ]; then
- curl --silent --location https://rpm.nodesource.com/setup_12.x | sudo bash -
- yum -y install nodejs tar unzip make gcc-c++ node-gyp
- fi
- yum -y upgrade
- yum -y autoremove
- yum -y clean packages
- fi
output "Installing the Pterodactyl daemon..."
- mkdir -p /srv/daemon /srv/daemon-data
- cd /srv/daemon
- curl -L https://github.com/pterodactyl/daemon/releases/download/v0.6.13/daemon.tar.gz | tar --strip-components=1 -xzv
- npm install --only=production --no-audit --unsafe-perm
+ mkdir -p /etc/pterodactyl
+ curl -L -o /usr/local/bin/wings https://github.com/pterodactyl/wings/releases/download/v1.0.0-rc.6/wings_linux_amd64
+ chmod u+x /usr/local/bin/wings
bash -c 'cat > /etc/systemd/system/wings.service' <<-'EOF'
[Unit]
Description=Pterodactyl Wings Daemon
After=docker.service
+
[Service]
User=root
-#Group=some_group
-WorkingDirectory=/srv/daemon
+WorkingDirectory=/etc/pterodactyl
LimitNOFILE=4096
PIDFile=/var/run/wings/daemon.pid
-ExecStart=/usr/bin/node /srv/daemon/src/index.js
+ExecStart=/usr/local/bin/wings
Restart=on-failure
StartLimitInterval=600
+
[Install]
WantedBy=multi-user.target
EOF
@@ -1029,70 +903,13 @@ EOF
}
upgrade_daemon(){
- cd /srv/daemon
- service wings stop
- curl -L https://github.com/pterodactyl/daemon/releases/download/v0.6.13/daemon.tar.gz | tar --strip-components=1 -xzv
- npm install -g npm
- npm install --only=production --no-audit --unsafe-perm
+ curl -L -o /usr/local/bin/wings https://github.com/pterodactyl/wings/releases/download/v1.0.0-rc.6/wings_linux_amd64
+ chmod u+x /usr/local/bin/wings
service wings restart
- output "Your daemon has been updated to version 0.6.13."
+ output "Your daemon has been updated to version 1.0.0-rc.6."
output "npm has been updated to the latest version."
}
-install_standalone_sftp(){
- os_check
- if [ "$lsb_dist" = "ubuntu" ] || [ "$lsb_dist" = "debian" ]; then
- apt-get -y install jq
- elif [ "$lsb_dist" = "fedora" ] || [ "$lsb_dist" = "centos" ]; then
- yum -y install jq
- fi
- if [ ! -f /srv/daemon/config/core.json ]; then
- warn "YOU MUST CONFIGURE YOUR DAEMON PROPERLY BEFORE INSTALLING THE STANDALONE SFTP SERVER!"
- exit 11
- fi
- cd /srv/daemon
- if [ $(cat /srv/daemon/config/core.json | jq -r '.sftp.enabled') == "null" ]; then
- output "Updating config to enable sftp-server..."
- cat /srv/daemon/config/core.json | jq '.sftp.enabled |= false' > /tmp/core
- cat /tmp/core > /srv/daemon/config/core.json
- rm -rf /tmp/core
- elif [ $(cat /srv/daemon/config/core.json | jq -r '.sftp.enabled') == "false" ]; then
- output "Config already set up for Golang SFTP server."
- else
- output "You may have purposely set the SFTP to true which will cause this to fail."
- fi
- service wings restart
- output "Installing standalone SFTP server..."
- curl -Lo sftp-server https://github.com/pterodactyl/sftp-server/releases/download/v1.0.5/sftp-server
- chmod +x sftp-server
- bash -c 'cat > /etc/systemd/system/pterosftp.service' <<-'EOF'
-[Unit]
-Description=Pterodactyl Standalone SFTP Server
-After=wings.service
-[Service]
-User=root
-WorkingDirectory=/srv/daemon
-LimitNOFILE=4096
-PIDFile=/var/run/wings/sftp.pid
-ExecStart=/srv/daemon/sftp-server
-Restart=on-failure
-StartLimitInterval=600
-[Install]
-WantedBy=multi-user.target
-EOF
- systemctl enable pterosftp
- service pterosftp restart
-}
-
-upgrade_standalone_sftp(){
- output "Turning off the standalone SFTP server..."
- service pterosftp stop
- curl -Lo sftp-server https://github.com/pterodactyl/sftp-server/releases/download/v1.0.5/sftp-server
- chmod +x sftp-server
- service pterosftp start
- output "Your standalone SFTP server has successfully been updated to v1.0.5."
-}
-
install_mobile(){
cd /var/www/pterodactyl
composer config repositories.cloud composer https://packages.pterodactyl.cloud
@@ -1438,7 +1255,6 @@ preflight
install_options
case $installoption in
1) webserver_options
- theme_options
repositories_setup
required_infos
firewall
@@ -1453,7 +1269,6 @@ case $installoption in
broadcast
;;
3) webserver_options
- theme_options
repositories_setup
required_infos
firewall
@@ -1461,38 +1276,24 @@ case $installoption in
install_daemon
broadcast
;;
- 4) install_standalone_sftp
+ 4) upgrade_pterodactyl
;;
- 5) theme_options
- upgrade_pterodactyl
- theme
+ 5) upgrade_daemon
;;
- 6) upgrade_daemon
- ;;
- 7) theme_options
- upgrade_pterodactyl
- theme
+ 6) upgrade_pterodactyl
upgrade_daemon
;;
- 8) upgrade_standalone_sftp
+ 7) install_mobile
;;
- 9) install_mobile
+ 8) upgrade_mobile
;;
- 10) upgrade_mobile
+ 9) install_phpmyadmin
;;
- 11) install_phpmyadmin
- ;;
- 12) repositories_setup
+ 10) repositories_setup
install_database
;;
- 13) theme_options
- if [ "$themeoption" = "1" ]; then
- upgrade_pterodactyl
- fi
- theme
+ 11) curl -sSL https://raw.githubusercontent.com/tommytran732/MariaDB-Root-Password-Reset/master/mariadb-104.sh | sudo bash
;;
- 14) curl -sSL https://raw.githubusercontent.com/tommytran732/MariaDB-Root-Password-Reset/master/mariadb-104.sh | sudo bash
- ;;
- 15) database_host_reset
+ 12) database_host_reset
;;
esac