服务器大本营

 找回密码
 我要入营

QQ登录

只需一步,快速开始

查看: 8|回复: 0

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程

[复制链接]

10万

敬重

1077

主题

207

精华

管理员

积分
10980

启航之章进阶之印里程之碑突破之证飞跃之星蜕变之勋卓越之路龙年行大运

QQ
发表于 4 小时前 | 显示全部楼层 |阅读模式

我要入营,结交更多好友,开启更多功能,轻松玩转服务器大本营!

您需要 登录 才可以下载或查看,没有账号?我要入营

x

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程


写在开头
翼龙面板,英文全名Pterodactyl,译为“翼龙”,以下文章均简称为翼龙面板。

翼龙面板是使用PHP7、Nodejs和Go构建的开源游戏服务器管理面板。在设计时考虑到安全性,在隔离的Docker容器中运行所有游戏服务器,同时向管理员和用户提供美观直观的UI。同时提供API和WHMCS接口,管理员可以轻松的对接各类销售系统,以实现自动开通或者另外的管理功能。

官方网站
官网首页:https://pterodactyl.io/
官方安装教程:https://pterodactyl.io/project/introduction.html
本篇文章将依据官方安装教程,分别安装前端和后端,从Azure后台创建服务器开始,全面详解面板的安装。

创建服务器
进入驰网控制面板,在左侧功能栏中单击“订购产品”,跳转驰网产品页后,找到“驰网弹性云”,选择合适的服务器配置和系统(本教程演示的是CentOS 7.6)下单开通云服务器实例。

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程


CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程


实例开通后会生成实例IP、用户名和密码,控制台都能看到,整理记下我们需要用到这些远程连接服务器,服务器游戏端口默认全开,备案域名需要在后台添加域名过白使用

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程


CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程


至此服务器创建全部完成

前端部署
web环境的部署
前端界面主要用于管理服务器和与用户交互使用,需要使用到Web服务器,这里我们使用宝塔快速部署环境。

宝塔Linux面板是提升运维效率的服务器管理软件,支持一键LAMP/LNMP/集群/监控/网站/FTP/数据库/JAVA等100多项服务器管理功能。

使用堡塔/PuTTY远程连接Linux服务器,如下图,主机填入实例IP,SSH端口默认22,确认后open连接。

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程


CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程


如下图所示输入用户名:root,回车,根据提示输入密码,输入密码时密码是不会显示在屏幕上的,输入完成后回车即可。

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程


登录成功后提权到管理员,安装基础软件
  1. [root@pterodactyl ~]# sudo -i
复制代码
  1. [root@pterodactyl ~]# yum -y install bash-completion tmux epel-release
复制代码

安装完成后使用tmux新开一个窗口,防止安装过程中中断导致程序退出。
  1. [root@pterodactyl ~]# tmux
复制代码

输入宝塔安装命令,开始安装宝塔
  1. [root@pterodactyl ~]# yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
复制代码
这里会询问是否需要安装,输入y,开始安装,整个过程大约需要一分钟,全部自动完成,不需要人工干预。

安装完成,将会显示面板地址、账号密码,自己保存一下,后面会用到,然后我们关闭防火墙

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程


  1. [root@pterodactyl ~]# systemctl disable --now firewalld.service
  2. Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
  3. Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
复制代码
使用上面安装完成的信息,在浏览器中打开网页登录宝塔面板,开始部署web环境

首次登录需要同意用户协议

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程


进入面板后会弹出安装套件弹窗,请选择下面的版本,然后点击一键安装,等待安装完成,大概需要3-5分钟。

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程


CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程


进入宝塔侧边栏软件商店,点击php设置,修改配置

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程


搜索disable_function,清空被禁用的函数

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程


进入安装扩展,安装fileinfo和opcache扩展

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程


点击网站,创建一个站点,域名需要自己解析

面板程序的安装
使用SSH,进入网站根目录,开始安装前端。
  1. cd /www/wwwroot/panel/
  2. # 下载前端文件并解压
  3. curl -Lo panel.tar.gz https://github.com/pterodactyl/panel/releases/download/v0.7.16/panel.tar.gz
  4. tar --strip-components=1 -xzvf panel.tar.gz
  5. chmod -R 755 storage/* bootstrap/cache/
复制代码
安装完成后,创建.env配置文件
  1. cp .env.example .env
复制代码

安装composer扩展,然后生成站点key
  1. composer install --no-dev --optimize-autoloader

  2. # Only run the command below if you are installing this Panel for
  3. # the first time and do not have any Pterodactyl Panel data in the database.
  4. php artisan key:generate --force
复制代码

进入宝塔面板-站点设置,开始配置SSL和运行目录

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程


CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程


CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程


设置完成后,返回SSH,开始进一步配置
  1. [root@pterodactyl panel]# php artisan p:environment:setup

  2. // 从面板导出的egg的作者邮箱,这里选择默认,直接回车即可

  3. Egg Author Email [unknown@unknown.com]:
  4. >                                                

  5. // 这里填写面板的URL,发邮件时会用到,请务必加上https://或http://
  6. Application URL [http://localhost]:
  7. > https://panel.docker.wuxicloud.cn

  8. // 这里填写使用的时区,直接填写Asia/Shanghai,代表中国时区                                                                                       

  9. Application Timezone [America/New_York]:
  10. > Asia/Shanghai

  11. // 缓存驱动,选择默认
  12. Cache Driver [Filesystem]:
  13.   [redis    ] Redis (recommended)
  14.   [memcached] Memcached
  15.   [file     ] Filesystem
  16. >

  17. // Session驱动,选择默认
  18. Session Driver [MySQL Database]:
  19.   [redis    ] Redis (recommended)
  20.   [memcached] Memcached
  21.   [database ] MySQL Database
  22.   [file     ] Filesystem
  23.   [cookie   ] Cookie
  24. >

  25. // 队列驱动,选择默认
  26. Queue Driver [MySQL Database]:
  27.   [redis   ] Redis (recommended)
  28.   [database] MySQL Database
  29.   [sync    ] Sync
  30. >

  31. // 是否开启基于UI的配置编辑器,选择默认
  32. Enable UI based settings editor? (yes/no) [yes]:
  33. >
复制代码
  1. [root@pterodactyl panel]# php artisan p:environment:database            
  2. // MYSQL数据库IP地址,选择默认
  3. Database Host [127.0.0.1]:
  4. >

  5. // MYSQL数据库端口,选择默认
  6. Database Port [3306]:
  7. >
  8. // 数据库名称,输入创建站点时的数据库名称
  9. Database Name [panel]:
  10. > panel_docker_wux                                 

  11. // 数据库用户名,输入创建站点时的数据库用户名,一般与名称一致
  12. Database Username [pterodactyl]:
  13. > panel_docker_wux

  14. //数据库密码,输入创建站点时的数据库的密码,这里输入密码不会有任何显示
  15. Database Password:
  16. >
复制代码

配置完成后,可选配置发信,如果有SMTP服务器,可以在这里配置
  1. php artisan p:environment:mail
复制代码

接着开始安装数据表,输入以下命令
  1. php artisan migrate --seed

  2. // 提示到这个地方需要输入yes然后回车
  3. Do you really wish to run this command? (yes/no) [no]:
  4. > yes
复制代码

安装完成后,开始创建初始用户
  1. [root@pterodactyl panel]# php artisan p:user:make

  2. // 用户是否为管理员,选择yes
  3. Is this user an administrator? (yes/no) [no]:
  4. > yes

  5. // 用户邮箱地址,自行输入
  6. Email Address:
  7. >

  8. // 用户名
  9. Username:
  10. > admin

  11. // 姓
  12. First Name:
  13. >

  14. // 名
  15. Last Name:
  16. >

  17. // 用户密码,需要至少8位
  18. Password:
  19. >
复制代码

然后为整个站点设置所有者
  1. [root@pterodactyl panel]# chown -R www:www ./*
复制代码

设置完成后,编辑.env文件,加上一句,关闭谷歌验证,否则国内无法登录面板
  1. RECAPTCHA_ENABLED=false
复制代码

任务和服务的添加
接着开始添加cron任务
  1. [root@pterodactyl panel]# crontab -e
  2. # 加入一行
  3. * * * * * php /www/wwwroot/panel/artisan schedule:run >> /dev/null 2>&1
复制代码

cron任务添加完成后,需要创建服务,以支持队列功能。
  1. vim /etc/systemd/system/pteroq.service

  2. # Pterodactyl Queue Worker File
  3. # ----------------------------------

  4. [Unit]
  5. Description=Pterodactyl Queue Worker

  6. [Service]
  7. # On some systems the user and group might be different.
  8. # Some systems use `apache` or `nginx` as the user and group.
  9. User=www
  10. Group=www
  11. Restart=always
  12. ExecStart=/usr/bin/php /www/wwwroot/panel/artisan queue:work --queue=high,standard,low --sleep=3 --tries=3

  13. [Install]
  14. WantedBy=multi-user.target
复制代码

创建完成后,设置开机启动并且启动服务
  1. [root@pterodactyl panel]# systemctl enable --now pteroq.service
  2. Created symlink from /etc/systemd/system/multi-user.target.wants/pteroq.service to /etc/systemd/system/pteroq.service.
复制代码
至此,前端部分安装完成,下一步我们将安装后端

后端部署
前端部署完成后,我们将在这台服务器上继续安装,部署后端,以实现对接。

docker的安装
需要确定的是,容器架构是无法安装docker的,所以你需要一台kvm或者类似虚拟化的服务器来安装docker。

进入用户目录,输入命令一键安装docker,整个过程需要1-2分钟
  1. [root@pterodactyl ~]# cd  ~
  2. [root@pterodactyl ~]# curl -sSL https://get.docker.com/ | CHANNEL=stable bash
复制代码

安装完成后我们需要启动docker服务
  1. systemctl enable --now docker.service
复制代码
至此,docker部分安装完成

nodejs的安装
这里使用nodejs脚本,安装nodejs源,注意nodejs版本需要10
https://github.com/nodesource/distributions/blob/master/README.md

  1. curl -sL https://rpm.nodesource.com/setup_10.x | bash -
  2. yum -y install nodejs
复制代码

后端的安装
首先创建目录,用于存放程序和服务器数据,创建后进入daemon目录,开始安装后端
  1. mkdir -p /srv/daemon /srv/daemon-data
  2. cd /srv/daemon
复制代码
  1. # 一键下载代码并解压
  2. curl -L https://github.com/pterodactyl/daemon/releases/download/v0.6.12/daemon.tar.gz | tar --strip-components=1 -xzv
  3. # 安装npm包
  4. npm install --only=production --unsafe-perm
复制代码
至此,后端安装完成

前后端的对接
进入后台,点击右上角设置图标,进去管理员面板

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程


点击locations,创建一个区域

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程


填入短码和说明,然后创建,短码用于识别区域

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程


创建完成后,选择左侧的nodes,开始创建节点

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程


填写完成后,点击create,接着点击生成token,一键部署配置

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程


把获得的命令复制到服务器中执行,程序将自动配置

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程


部署完成后,编辑配置,修改证书地址
  1. [root@pterodactyl daemon]# vim config/core.json

  2. "certificate": "/etc/letsencrypt/live/panel.docker.wuxicloud.cn/fullchain.pem",
  3.             "key": "/etc/letsencrypt/live/panel.docker.wuxicloud.cn/privkey.pem"
  4. #将其修改为宝塔中的地址
  5.             "enabled": true,
  6.             "certificate": "/www/server/panel/vhost/cert/panel.docker.wuxicloud.cn/fullchain.pem",
  7.             "key": "/www/server/panel/vhost/cert/panel.docker.wuxicloud.cn/privkey.pem"
  8.         }
复制代码

修改完成,手动启动后端测试
  1. [root@pterodactyl daemon]# npm start

  2. > pteronode@0.6.12 start /srv/daemon
  3. > node src/index.js | node_modules/bunyan/bin/bunyan -o short

  4. 08:28:55.414Z  INFO wings: + ------------------------------------ +
  5. 08:28:55.416Z  INFO wings: | Running Pterodactyl Daemon v0.6.12    |
  6. 08:28:55.417Z  INFO wings: |        https://pterodactyl.io        |
  7. 08:28:55.417Z  INFO wings: |  Copyright 2015 - 2019 Dane Everitt  |
  8. 08:28:55.417Z  INFO wings: + ------------------------------------ +
  9. 08:28:55.417Z  INFO wings: Loading modules, this could take a few seconds.
  10. 08:28:55.835Z  INFO wings: Modules loaded, starting Pterodactyl Daemon...
  11. 08:28:55.872Z  INFO wings: Creating keypair to use for SFTP connections.
  12. 08:28:57.570Z  INFO wings: Configuring user pterodactyl (id: 996) as the owner of all server files.
  13. 08:28:57.573Z  INFO wings: Configuring timezone file location...
  14. 08:28:57.574Z  INFO wings: Checking container networking environment...
  15. 08:28:57.584Z  WARN wings: No isolated network interface for containers was detected, creating one now.
  16. 08:29:12.774Z  INFO wings: Successfully created new network (pterodactyl_nw) on pterodactyl0 for isolated containers.
  17. 08:29:12.774Z  INFO wings: Ensuring correct network interface for containers...
  18. 08:29:12.784Z  INFO wings: Networking gateway detected as 172.18.0.1 for interface: pterodactyl0.
  19. 08:29:12.786Z  INFO wings: Contacting panel to retrieve a list of currrent Eggs available to the node.
  20. 08:29:12.889Z  INFO wings: Checking existing eggs against Panel response...
  21. 08:29:13.163Z  INFO wings: Beginning server initialization process.
  22. 08:29:13.165Z  INFO wings: Configuring websocket for daemon stats...
  23. 08:29:13.166Z  INFO wings: Configuring internal SFTP server...
  24. 08:29:13.186Z  INFO wings: Pterodactyl Daemon is up-to-date!
  25. 08:29:13.187Z  INFO wings: Pterodactyl Daemon is now listening for secure connections on 0.0.0.0:8080
复制代码

发现已经可以正常运行,接着我们创建服务,使其保持后台运行
  1. [root@pterodactyl daemon]# vim /etc/systemd/system/wings.service
  2. [Unit]
  3. Description=Pterodactyl Wings Daemon
  4. After=docker.service

  5. [Service]
  6. User=root
  7. #Group=some_group
  8. WorkingDirectory=/srv/daemon
  9. LimitNOFILE=4096
  10. PIDFile=/var/run/wings/daemon.pid
  11. ExecStart=/usr/bin/node /srv/daemon/src/index.js
  12. Restart=on-failure
  13. StartLimitInterval=600

  14. [Install]
  15. WantedBy=multi-user.target
复制代码

接着启动服务,并配置开机启动
  1. [root@pterodactyl daemon]# systemctl enable --now wings.service
  2. Created symlink from /etc/systemd/system/multi-user.target.wants/wings.service to /etc/systemd/system/wings.service.
复制代码

查看about页面,可以发现后端已经成功连上

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程

CentOS7系统下搭建pterodactyl翼龙游戏面板详细教程


至此,后端部分已经安装完成,接着需要配置egg,创建服务器。

写在结尾
文章通过截图形式,基本说明了翼龙面板的前端后端搭建,以及前后端的对接,但深层次的一些命令仍然需要用户自己学习,这样才能做到解决问题和排错。

感谢您的阅读,服务器大本营-技术文章内容集合站,助您成为更专业的服务器管理员!


一入IDC深似海,从此你我是良人!
您需要登录后才可以回帖 登录 | 我要入营

本版积分规则

点击直接加入[服务器大本营QQ频道]
滴!摸鱼时间到~
Loading...

QQ|Archiver|手机版|网站地图|服务器大本营 ( 赣ICP备2021009089号 )

GMT+8, 2026-7-11 20:36 , Processed in 0.060970 second(s), 28 queries , Gzip On.

Powered by 服务器大本营

© 2021-2023 联系飞飞

快速回复 返回顶部 返回列表