Pterodactyl 控制面板¶
在这篇文章中
信息
Pterodactyl 是一个**免费开源的游戏服务器管理面板**。它通过 Web 界面实现了对 Minecraft、CS2、Rust 等 50 多种游戏服务器的集中管理。
Pterodactyl 主要功能¶
Pterodactyl 是一个现代化的游戏服务器管理解决方案,结合了以下功能:
- 支持 50+ 种游戏: 提供现成的模板以快速安装流行的游戏服务器。自动配置软件、依赖项和启动参数,支持游戏版本选择和自定义模板添加。
- 精确的资源管理: 控制 RAM、CPU、磁盘空间以及服务器之间的优先级分配。防止过载,按配额分配资源,并使用 SWAP 内存以确保稳定性。
- 可靠的自动备份: 确保灵活的定时备份,支持数据选择(整个服务器或关键文件)。将备份存储在本地或云端(S3、FTP、GDrive),支持加密和即时恢复。
- 高效的多服务器能力: 每个服务器都在隔离的 Docker 容器中运行。自动跨节点分配负载,无冲突地分配端口,并允许将相关服务器分组。
- 灵活的多用户访问: 通过基于角色的模型(预设 + 自定义角色)管理权限,拥有 50+ 种细粒度权限。支持临时访问、操作审计和双因素认证。
- 实时管理控制台: 通过 Web 界面提供完全控制,包含交互式终端(类似 SSH)。包括颜色格式化、命令历史、快速操作按钮和事件通知。
- 实时统计监控: 显示资源使用图表(CPU、RAM、磁盘、网络)和游戏指标(在线玩家、TPS、延迟)。允许创建自定义仪表板、配置警报并将数据导出为 CSV。
- 简化的模组/插件管理: 提供内置商店以自动安装模组,管理版本和依赖项。包含带有语法高亮和更新通知的可视化配置编辑器。
- 自动更新: 确保系统不间断运行。按计划更新游戏服务器,支持测试模式和错误回滚。一键更新控制面板(
php artisan p:upgrade),检查兼容性并迁移数据库而不丢失数据。自动更新 Wings 守护进程,保持与不同 Linux 发行版的兼容性。
部署功能¶
| ID | 软件名称 | 兼容操作系统 | 虚拟机 | 物理机 | vGPU | GPU | 最低CPU(核) | 最低内存(GB) | 最低硬盘(GB) | 自定义域名 | 是否启用 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 326 | Pterodactyl | Ubuntu 22.04 | + | + | + | + | 1 | 1 | - | 否 | 订购 |
主要系统组件:¶
| 组件 | 用途 |
|---|---|
| Panel | Web 管理界面 (PHP/Laravel)。提供管理面板和用户界面以进行服务器管理 |
| Wings | 物理游戏服务器启动守护进程 (Go)。单独安装在将运行游戏服务器的机器上 |
| Database | MariaDB,用于存储配置、用户、服务器和设置 |
| Docker | 容器化平台,Wings 运行和游戏服务器隔离所必需 |
配置文件¶
| 路径 | 用途 |
|---|---|
/var/www/pterodactyl/.env | 主要 Panel 设置:数据库连接、Redis、APP_URL、APP_KEY |
/var/www/pterodactyl/storage/logs/laravel.log | Panel 运行日志(应用程序错误、请求) |
/var/log/nginx/pterodactyl.app-error.log | Panel 的 NGINX Web 服务器日志 |
/etc/pterodactyl/config.yml | Wings 配置:授权令牌、Panel URL、Docker 设置。在安装 Wings 时创建 |
/var/lib/pterodactyl/volumes/ | 游戏服务器数据目录:世界文件、配置、插件。在安装 Wings 后创建 |
自动安装的内容¶
Playbook 会自动安装和配置:
- Pterodactyl Panel - 带有 Web 界面的中央管理面板;
- MariaDB - 用于存储所有系统数据的数据库;
- Redis - 用于缓存和任务队列;
- NGINX - 用于提供 Panel 服务的 Web 服务器;
- PHP 8.3 + PHP-FPM - 用于 Laravel 应用程序运行;
- Certbot - 用于自动获取 SSL 证书;
- Systemd 服务 - pteroq(队列处理)、cron 任务(调度器)。
需要额外安装的内容¶
要运行游戏服务器,您需要:
- Wings - 在 Docker 容器中物理启动和管理游戏服务器的守护进程
Wings 安装在计划运行游戏服务器的每台机器(节点)上。这可以是安装 Panel 的同一台服务器(“一体化”配置),也可以是单独的专用服务器(分布式架构)。
系统要求¶
对于 Panel(控制面板)¶
最低要求:
- 处理器: 2+ 核心;
- 内存: 2 GB RAM(建议 4 GB 以稳定运行);
- 磁盘: 20 GB SSD(建议 40+ GB 用于日志和备份);
- 操作系统: Ubuntu 22.04 LTS (Jammy) - 严格为此版本 以进行自动安装。
软件(自动安装):
- PHP 8.3 + PHP-FPM;
- MariaDB 10.6+;
- Redis 7.0+;
- NGINX;
- Composer 2;
- Certbot(用于 SSL);
- Docker(镜像中预装)。
网络要求:
- 开放端口:80 (HTTP),443 (HTTPS);
- 静态 IP 地址或域名(用于 SSL 证书);
- 稳定的互联网连接。
对于节点(带有游戏服务器的节点)¶
对于 5-10 个同时运行的游戏服务器:
- 处理器: 4+ 核心(对于要求高的游戏建议 6-8 核心);
- 内存: 8 GB RAM(根据游戏建议 12-16 GB);
- 磁盘: 50 GB SSD(对于带有模组的多个服务器建议 100+ GB);
- 操作系统: Ubuntu 20.04/22.04, Debian 10/11, CentOS ⅞(任何支持 Docker 的 Linux)。
- 软件:
- Docker(镜像中预装);
- Wings(需要安装)。
网络要求:
- 开放端口:
- 8080 - Wings API(与 Panel 通信);
- 2022 - SFTP(上传文件到游戏服务器);
- 25565-25665 - 游戏端口范围(单独配置);
- 带宽良好的稳定互联网连接;
- 低延迟以提供舒适的游戏体验。
“一体化”配置(Panel + Wings 在同一台服务器上)¶
对于测试或小型项目,您可以使用一台服务器:
- 处理器: 4+ 核心;
- 内存: 8 GB RAM(最低 6 GB);
- 磁盘: 60 GB SSD(建议 100+ GB);
- 操作系统: Ubuntu 22.04 LTS。
在此配置中,一台服务器运行:
- Pterodactyl Panel(Web 界面);
- Wings(服务器启动守护进程);
- 数据库和缓存;
- Docker 容器中的游戏服务器。
游戏资源建议
每个游戏服务器的近似要求:
| 游戏 | RAM | CPU | 磁盘 |
|---|---|---|---|
| Minecraft (Vanilla/Paper) | 2-4 GB | 2+ 核心 | 5-10 GB |
| 带模组的 Minecraft (Forge/Fabric) | 4-8 GB | 4+ 核心 | 10-20 GB |
| CS2 / CS:GO | 4-6 GB | 4+ 核心 | 15-20 GB |
| Rust | 8-12 GB | 4+ 核心 | 20-30 GB |
| ARK: Survival Evolved | 8-16 GB | 6+ 核心 | 30-50 GB |
| Terraria | 1-2 GB | 2+ 核心 | 2-5 GB |
| Valheim | 4-6 GB | 4+ 核心 | 5-10 GB |
Pterodactyl 部署后的入门指南¶
支付订单后,您将收到一封发送至注册邮箱的通知,告知您的服务器已准备就绪。其中将包含 VPS IP 地址以及用于连接的登录名和密码。我们的客户可以在 服务器和 API 控制面板 — Invapi 中管理硬件。
可以在服务器控制面板的 Configuration >> Tags 选项卡或电子邮件中找到的授权数据如下:
- 链接:在 webpanel 标签中。要访问管理面板,请在主链接后添加
/admin; - 登录名:
admin; - 密码:在软件部署后服务器准备就绪时通过电子邮件发送至您的地址。
首次登录¶
- 打开 Web 浏览器并导航到您的 Pterodactyl 面板地址
-
点击
Login:
-
成功授权后,您将进入主面板页面。
-
要访问管理面板,点击
按钮:
创建用户¶
- 在管理面板的左侧菜单中,点击 Users 部分名称;
-
点击右上角的
Create New按钮:
-
填写必填字段:
- Username:用户名;
- Email:用户电子邮件地址;
- First Name:名字;
- Last Name:姓氏;
- Password:密码(最少 8 个字符,必须包含不同大小写的字母和数字);
- 如有必要,在 Administrator 行中选择
Yes以授予管理员权限; -
点击
Create User:
创建位置¶
什么是位置
位置是按地理位置或用途对节点进行的逻辑分组。用于组织服务器,例如:“EU”、“US”、“Asia”、“Production”、“Testing”。用户不会直接看到位置;这是一个管理工具。
- 在左侧菜单中,选择 Locations;
-
点击右上角的
Create New按钮:
-
填写字段:
- Short Code:位置短代码(例如,“US1”、“EU1”);
- Description:位置描述(例如,“位于美国的机房”);
-
点击
Create:
创建节点¶
什么是节点
节点是通过 Wings 启动游戏服务器的物理或虚拟服务器。每个节点都有自己的资源(CPU、RAM、磁盘),可以同时为多个游戏服务器提供服务。
创建节点前的准备¶
在创建节点之前,请确保:
- 服务器上已安装 Docker(HOSTKEY 镜像中预装);
- 您拥有节点的 IP 地址或域名;
- 防火墙中将开放端口 8080 (Wings API) 和 2022 (SFTP)。
在 Panel 中创建节点¶
-
在管理面板的左侧菜单中,选择 Nodes;
-
点击右上角的
Create New按钮:
-
填写**基本设置**:
- Name:唯一的节点名称(例如,
hostkey-us-node1); - Location:选择之前创建的位置;
- Public:如果节点应对用户可见,请勾选复选框;
- FQDN:指定面板域名(例如,
pterodactyl50514.hostkey.in)或 IP 地址; - Communicate Over SSL:如果 Panel 使用 HTTPS,请勾选复选框;
- Behind Proxy:如果节点不在代理后面,请保持禁用。
- Name:唯一的节点名称(例如,
-
配置**资源设置**:
- Daemon Server File Directory:
/var/lib/pterodactyl/volumes(不要更改); - Total Memory:指定可用 RAM(以 MB 为单位)(例如,
4608用于 6GB 服务器,考虑预留); - Memory Over-Allocation:指定
0(无超额分配); - Total Disk Space:指定可用磁盘空间(以 MB 为单位)(例如,
102400用于 120GB 磁盘,考虑预留); - Disk Over-Allocation:指定
0(无超额分配); - Daemon Port:
8080(保留默认值); - Daemon SFTP Port:
2022(保留默认值)。

- Daemon Server File Directory:
-
点击
Create Node按钮。
使用 HTTPS 时的重要事项
如果 Panel 通过 HTTPS 运行,您必须在 FQDN 字段中指定**域名**,而不是 IP 地址。启用 SSL 时指定 IP 地址将导致验证错误。
一体化配置设置示例 (4 vCore / 6GB RAM / 120GB SSD)
Name: hostkey-us-node1
Location: US1
Public: ☑
FQDN: pterodactyl50514.hostkey.in
Communicate Over SSL: ☑
Behind Proxy: ☐
Total Memory: 4608 MB (为系统预留 1.5GB)
Memory Over-Allocation: 0
Total Disk Space: 102400 MB (为系统预留 20GB)
Disk Over-Allocation: 0
配置分配¶
创建节点后,您需要配置分配——这些是可用于分配给游戏服务器的 IP 地址和端口组合。
-
创建节点后,其页面将自动打开。导航到 Allocation 选项卡;
-
在 Assign New Allocations 部分(右侧),填写字段:
- IP Address:输入服务器 IP 地址;
- IP Alias:指定描述(例如,
Main IP)或留空; - Ports:指定端口范围(例如,
25565-25570用于 Minecraft 服务器)。
-
点击绿色的
Submit按钮:
-
创建的分配将出现在 Existing Allocations 表中(左侧)。每一行代表一个可以分配给游戏服务器的单独 IP:端口组合。

备注
如果不配置分配,您将无法在此节点上创建服务器。您需要添加至少一个带有端口的 IP 地址。
端口建议
- Minecraft:25565-25570(标准端口 25565);
- CS2/CS:GO:27015-27020(标准端口 27015);
- Rust:28015-28020(标准端口 28015);
- Valheim:2456-2460(标准端口 2456)。
安装 Wings¶
对运行至关重要
创建节点并配置分配后,您必须在服务器上安装 Wings。没有 Wings,节点将显示离线状态,并且无法启动游戏服务器。
通过 SSH 连接到服务器并执行命令:
创建配置目录:
下载 Wings:curl -L -o /usr/local/bin/wings "https://github.com/pterodactyl/wings/releases/latest/download/wings_linux_amd64"
应显示 Wings 版本(例如,wings vv1.12.1)。
通过自动部署配置 Wings(推荐)¶
-
在管理面板中,进入已创建节点的 Configuration 选项卡;
-
在 Auto-Deploy 部分(右侧),点击
Generate Token按钮:
-
复制生成的命令。它看起来像这样:
-
在服务器上执行复制的命令:
cd /etc/pterodactyl && wings configure --panel-url https://pterodactyl50514.hostkey.in --token TOKEN --node 1应出现消息:
Successfully configured wings. -
验证创建的配置:
创建 systemd 服务¶
为自动启动 Wings 创建 systemd 服务:
cat > /etc/systemd/system/wings.service <<'EOF'
[Unit]
Description=Pterodactyl Wings Daemon
After=docker.service
Requires=docker.service
PartOf=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=180
StartLimitBurst=30
RestartSec=5s
[Install]
WantedBy=multi-user.target
EOF
启动 Wings¶
重新加载 systemd 配置
启用自动启动并启动 Wings 检查状态状态应显示 Active: active (running)。
运行检查¶
检查 Wings 日志:
日志应包含以下消息:
fetching list of servers from API- Wings 已连接到 Panel;configuring internal webserver- Wings Web 服务器已启动;sftp server listening for connections- SFTP 服务器正在工作。
验证服务器目录创建:
在管理面板中检查状态¶
- 打开管理面板:
https://your-domain.com/admin; - 导航到:Admin > Nodes > 您的节点;
- 刷新页面 (F5);
- 右上角应显示绿色的 Online 状态指示器;
- 在 About 选项卡上,应显示资源信息(CPU、RAM、磁盘)。
如果节点显示在线状态
节点已完全配置并准备好创建游戏服务器!
故障排除¶
节点显示离线状态¶
检查 Wings 状态:
如果 Wings 未运行,请启动它:
检查日志中的错误:
常见问题:
-
Wings 无法连接到 Panel:
- 检查配置中的面板 URL:
cat /etc/pterodactyl/config.yml | grep remote; - 确保 Panel 可访问:
curl -I https://your-domain.com。
- 检查配置中的面板 URL:
-
端口 8080 被防火墙阻止:
- 检查端口:
netstat -tulpn | grep 8080; - 开放端口:
ufw allow 8080/tcp。
- 检查端口:
-
SSL 问题:
- 如果 Panel 使用 HTTPS,Wings 也必须使用 SSL 工作;
- 检查
/etc/pterodactyl/config.yml中的 SSL 设置。
手动配置(替代方法)¶
如果自动部署不起作用,您可以手动配置 Wings:
- 在管理面板中,进入节点的 Configuration 选项卡;
- 从左侧文本字段复制配置文件内容;
-
在服务器上,创建配置文件:
-
粘贴复制的配置并保存(
Ctrl+X,然后Y,然后Enter); - 重启 Wings:
systemctl restart wings; - 检查状态:
systemctl status wings。
创建巢并添加蛋¶
创建巢¶
- 在左侧菜单中,选择 Nests 部分;
-
点击右上角的
Create New按钮: -
填写字段:
- Name:巢名称(例如,“Minecraft”);
- Description:巢描述;
-
点击
Save:
下载现成的蛋¶
-
找到所需的游戏:
- 在 Game Eggs 部分,选择一个类别(例如,Minecraft);
- 找到所需的服务器类型(例如,Paper、Vanilla、Forge);
-
点击服务器名称以打开 GitHub 页面;
-
找到
egg-name.json文件(例如,egg-paper.json); -
点击文件,然后点击右上角的
Raw按钮; -
保存文件(
Ctrl+S或右键点击 >Save as)。
流行的蛋
- Minecraft Paper:egg-paper.json;
- CS2:egg-counter--strike2.json;
- Rust:egg-rust.json;
- Valheim:egg-valheim.json。
将蛋导入面板¶
-
在管理面板中,进入 Nests 部分;
-
点击右上角的
Import Egg按钮:
-
点击
Choose File并选择下载的.json文件; -
点击
Import:
蛋将连同所有设置、Docker 镜像和变量一起导入。
验证导入的蛋¶
-
在蛋列表中,找到导入的那个(例如,
Paper); -
点击它以查看设置;
-
确保填写了以下内容:
- Docker Images:可用镜像列表;
- Install Script:服务器安装脚本;
- Variables:环境变量(版本、设置)。


创建服务器¶
-
在左侧菜单中,选择 Servers;
-
点击右上角的
Create New按钮:
-
填写创建表单:
核心详细信息:
- Server Name:服务器名称(例如,
Test Minecraft Server); - Server Owner:从列表中选择所有者用户;
- Server Description:描述(可选);
- Start Server when Installed:保持复选框启用。

分配管理:
- Node:选择创建的节点;
- Default Allocation:从列表中选择 IP 地址:端口;
- Additional Allocations:留空。
应用程序功能限制:
- Database Limit:
0; - Allocation Limit:
0; - Backup Limit:
0。
资源管理:

- CPU Limit:
0(无限制); - Memory:
2048MiB(2GB 以启动); - Swap:
0MiB; - Disk Space:
5120MiB(5GB); - Block IO Weight:
500; - Enable OOM Killer:保持禁用。
巢配置:

- Nest:
Minecraft; - Egg:
Paper(不是 Sponge!); - Docker Image:
Java 21; -
Service Variables:保留默认值。
-
点击页面底部的
Create Server; -
等待安装完成(状态 Installing 将变为 Offline):
启动和配置服务器¶
-
安装后,从列表中打开服务器(Admin > Servers):

-
进入用户面板(不带
/admin),以服务器所有者身份登录; -
点击
Start按钮:
-
首次启动时,将出现许可证接受窗口:

-
点击
I Accept以接受 Minecraft EULA; -
等待服务器启动(状态将变为 Running):

性能检查¶
在浏览器中打开(将 IP 替换为您的 IP):
如果响应显示"online": true - 服务器正在工作并且玩家可以访问。 连接地址:
备注
Pterodactyl 主要设置的详细信息包含 在开发者文档中。