Pterodactyl Panel 简介
Pterodactyl 是一款开源的游戏服务器管理面板,可用来托管和管理 Minecraft、Rust、Source 引擎游戏、语音服务器以及各类机器人。每个服务器都运行在独立的 Docker 容器中,由 Wings 守护进程负责调度,您则通过网页界面统一管理控制台、文件、备份、用户账户和资源限制。
本方案会在一台 Linux VPS 上装好面板(PHP、Nginx、MariaDB、Redis)、phpMyAdmin、Docker 和 Wings。安装脚本还会创建名为 "main" 的位置(location)、与 Wings 关联的 "Node-1" 节点,以及 25565 到 25590 的端口分配,因此您不需要额外配置,就可以直接创建第一个游戏服务器。
下单前有一点需要了解:Let's Encrypt 的 HTTPS 证书必须绑定域名。安装脚本要求您填写域名和邮箱,并且该域名的 A 记录必须已经指向这台服务器。具体步骤见下方的快速上手。
用 Pterodactyl Panel 可以做什么
功能完整的 Web 面板
面板由 Nginx 和 PHP-FPM 提供服务,数据库使用 MariaDB,缓存、会话和任务队列使用 Redis。systemd 服务 pteroq 负责在后台处理队列。
预装 Wings 与 Docker
Docker 和 Wings 守护进程均已安装,节点配置由面板生成并写入 /etc/pterodactyl/config.yml。配置有效时,Wings 会作为 systemd 服务自动启动。
已创建好的本地节点
系统已注册 Node-1 节点,分配约 80% 的内存和 /var 所在磁盘空间,使用 8080(Wings)和 2022(SFTP)端口,并分配了 25565 到 25590 的端口。
自动配置 Let's Encrypt HTTPS
脚本通过 certbot 为您的域名申请证书。续期钩子会在每次续期后重新加载 Nginx 并重启 Wings。
同域名下的 phpMyAdmin
phpMyAdmin 位于 /phpmyadmin 路径下,使用独立账户,密码随机生成。查看面板数据库或游戏服务器的数据库都很方便。
安装时自动生成登录凭据
面板管理员账户和 phpMyAdmin 账户都会获得随机密码,并写入 /tmp/credentials.txt(权限 600)。面板的遥测功能已关闭。
Pterodactyl Panel 快速上手
从下单到上线,只需几分钟。
- 1
下单并勾选应用
选择位于巴黎或法兰克福的 Linux VPS,在“Applications”选项卡中勾选 Pterodactyl Panel。系统建议选 Ubuntu 22.04、Ubuntu 24.04 或 Debian 12;如果打算运行游戏服务器,建议配置 4 GB 内存。
- 2
连接服务器并解析域名
服务器交付后,先在域名注册商处(可参考 /web-domains)为您的子域名添加一条指向 SERVER_IP 的 A 记录,然后通过 SSH 登录。
Bashssh root@SERVER_IP - 3
填写域名并运行安装脚本
只要 DOMAIN 和 LE_EMAIL 还是示例值,/opt/install-pterodactyl.sh 就会停止执行。请修改这两项并重新运行脚本,然后查看登录凭据(用户为 admin),再打开 https://YOUR_DOMAIN。整个过程通常需要几分钟,如果 DNS 生效较慢,时间会更长。
Bashnano /opt/install-pterodactyl.sh bash /opt/install-pterodactyl.sh cat /tmp/credentials.txt - 4
上线前完成安全加固
把 /tmp/credentials.txt 复制到服务器之外保存,修改 admin 密码,然后启用防火墙,放行 SSH、HTTP(S)、Wings(8080)、SFTP(2022)以及您的游戏端口。别忘了为数据库和 /var/lib/pterodactyl/volumes 安排定期备份。
Bashcp /tmp/credentials.txt /root/credentials.txt apt-get install -y ufw ufw allow 22/tcp && ufw allow 80/tcp && ufw allow 443/tcp ufw allow 8080/tcp && ufw allow 2022/tcp && ufw allow 25565:25590/tcp ufw enable
Pterodactyl Panel 的使用场景
搭建 Minecraft 服务器托管
在容器中创建多个相互隔离的服务器,为每个服务器单独设置内存和磁盘上限,并让每位玩家或客户只能访问自己的那一个。
玩家社区或战队服务器
把游戏服务器和 Discord 机器人集中到同一个界面里管理。子用户无需 SSH 权限,就能启动、停止服务器或编辑文件。
游戏服务器转售
小型团队可以向客户出租游戏服务器,每位客户都有自己的面板账户、控制台和 SFTP 访问权限。
大规模部署前的测试环境
先在一台 VPS 上试用面板、egg 和资源限制,等负载上来后,再增加 Wings 节点,或升级到[游戏专用服务器](/serveur-dedie-gaming)。
Pterodactyl Panel 常见问题
是的。Let's Encrypt 证书是按域名签发的,Wings 节点也以该域名登记。运行脚本之前,请先添加一条指向 VPS IP 的 A 记录。您可以在[域名](/web-domains)页面注册域名。
深入了解 Pterodactyl Panel
脚本需要您完成什么
脚本由 cloud-init 在首次启动时运行。如果 DOMAIN 和 LE_EMAIL 没有修改,它会输出提示并停止,除基础软件包外不会安装其他内容。此时只需编辑该文件,再用 bash /opt/install-pterodactyl.sh 重新运行即可。
脚本开始运行后,最多会等待约 10 分钟,直到您域名的 DNS 解析到服务器的公网 IP,然后尝试五次申请证书,因此 80 端口必须能从外部访问。脚本还要求 PHP 8.1 或更高版本,适用于 Ubuntu 22.04、Ubuntu 24.04 和 Debian 12。在其他系统版本上,如果 PHP 版本过低,脚本会直接停止。
脚本是为全新服务器编写的。请避免在已经成功安装过面板的机器上再次运行。
各项内容的位置
- 面板:/var/www/pterodactyl(配置文件 .env 位于根目录)
- Nginx 配置:/etc/nginx/sites-available/pterodactyl.conf
- Wings 配置:/etc/pterodactyl/config.yml
- 游戏服务器数据:/var/lib/pterodactyl/volumes
- 服务:
pteroq、wings、nginx、mariadb、redis-server、docker
/tmp/credentials.txt 可能在重启后消失,因为 /tmp 有时会被清空。请在首次登录时就把它复制出来。
备份
需要备份三样东西:面板的 MariaDB 数据库(名为 panel)、面板的 .env 文件(其中包含应用密钥),以及游戏数据卷目录。每天执行一次 mysqldump,再把这些路径复制到外部存储,基本就够用了。
Bashmysqldump panel > /root/panel-$(date +%F).sql cp /var/www/pterodactyl/.env /root/pterodactyl.env
phpMyAdmin 与防火墙
pma_admin 账户拥有 MariaDB 的全部权限。如果您不需要长期使用 phpMyAdmin,可以在 Nginx 配置中按 IP 限制访问,或者删除链接 /var/www/pterodactyl/public/phpmyadmin。
由 Docker 发布的游戏端口可能绕过 ufw 规则。配置完成后,请从外部实际检查哪些端口在响应。如果需要防范流量型攻击,可以了解我们的 VPS anti-DDoS。