Pterodactyl Control Panel¶
在这篇文章中
信息
Pterodactyl 是一个**免费开源的游戏服务器管理面板**。它可以通过 Web 界面对 Minecraft、CS2、Rust 以及其他 50 多款游戏进行集中化服务器管理。
Pterodactyl 主要功能¶
Pterodactyl 是一个现代化的游戏服务器管理解决方案,结合了以下特性:
- 支持 50 多款游戏:提供现成的模板,用于快速安装热门游戏服务器。自动配置软件、依赖项和启动参数,支持游戏版本选择和自定义模板添加。
- 精确的资源管理:控制服务器之间的 RAM、CPU、磁盘空间和优先级分配。防止过载,按配额分配资源,并使用 SWAP 内存以确保稳定性。
- 可靠的自动备份:提供灵活的定时备份功能,支持数据选择(整个服务器或关键文件)。备份可以存储在本地或云端 (S3, FTP, GDrive),具备加密功能并支持即时恢复。
- 高效的多服务器能力:每个服务器都在隔离的 Docker 容器中运行。自动在节点间分配负载,分配无冲突的端口,并允许对相关服务器进行分组。
- 灵活的多用户访问:通过基于角色的模型(预设角色 + 自定义角色)管理权限,拥有 50 多种细粒度权限。支持临时访问、操作审计和双重身份验证 (2FA)。
- 实时管理控制台:通过带有交互式终端(类似于 SSH)的 Web 界面提供完全控制。包含彩色格式化、命令历史记录、快速操作按钮和事件通知。
- 实时统计监控:显示资源使用图表(CPU、RAM、磁盘、网络)和游戏指标(在线玩家、TPS、Ping 值)。允许创建自定义仪表板、配置警报并将数据导出为 CSV。
- 简化的 Mod/插件管理:提供内置商店用于自动安装 Mod、版本和依赖项管理。包含具有语法高亮和更新通知的可视化配置编辑器。
- 自动更新:确保系统不间断运行。按计划**更新游戏服务器**,具备测试模式并在出错时回滚。通过一条命令 (
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 配置:授权令牌 (Token)、Panel URL、Docker 设置。在安装 Wings 时创建 |
/var/lib/pterodactyl/volumes/ | 游戏服务器数据目录:世界文件、配置、插件。在安装 Wings 后创建 |
自动安装内容¶
Playbook 会自动安装并配置:
- Pterodactyl Panel - 带有 Web 界面的中央管理面板;
- MariaDB - 用于存储所有系统数据的数据库;
- Redis - 用于缓存和任务队列;
- NGINX - 与 Docker 容器协同工作的 Web 服务器,用于自动化 SSL 证书管理 (Certbot);
- PHP + PHP-FPM - 用于 Laravel 应用程序运行;
- Certbot - 用于自动获取 SSL 证书;
- Systemd services - pteroq (队列处理)、cron tasks (调度器)。
需要额外安装的内容¶
要运行游戏服务器,你需要:
- Wings - 在 Docker 容器中物理启动并管理游戏服务器的守护进程。
Wings 被安装在计划运行游戏服务器的每台机器(节点)上。这可以是安装了 Panel 的同一台服务器(“全能型”配置),也可以是独立的专用服务器(分布式架构)。
系统要求¶
对于 Panel (Control Panel)¶
最低要求:
- 处理器:2+ 核心;
- 内存:2 GB RAM(建议 4 GB 以确保稳定运行);
- 磁盘:20 GB SSD(建议 40+ GB 用于日志和备份);
- OS:Ubuntu 22.04 LTS (Jammy) - 为了实现自动安装,必须使用此版本。
软件(自动安装):
- PHP + PHP-FPM;
- MariaDB 10.6+;
- Redis 7.0+;
- NGINX;
- Composer 2;
- Certbot (用于 SSL);
- Docker (已预装在镜像中)。
网络要求:
- 已开放端口:80 (HTTP), 443 (HTTPS);
- 静态 IP 地址或域名;若要通过 Let's Encrypt 自动获取 SSL 证书,需要一个
hostkey.com域名的有效 FQDN; - 稳定的互联网连接。
对于 Node (运行游戏服务器的节点)¶
对于同时运行 5-10 个游戏服务器:
- 处理器:4+ 核心(高性能游戏建议使用 6-8 核);
- 内存:8 GB RAM(根据游戏需求,建议 12-16 GB);
- 磁盘:50 GB SSD(对于带有 Mod 的多服务器,建议 100+ GB);
- OS:Ubuntu 20.04/22.04, Debian 10/11, CentOS ⅞ (任何支持 Docker 的 Linux)。
- 软件:
- Docker (已预装在镜像中);
- Wings (需要安装)。
网络要求:
- 已开放端口:
- 8080 - Wings API (与 Panel 通信);
- 12333 - SSL 连接 Wings/Daemon;
- 2022 - SFTP (向游戏服务器上传文件);
- 25565-25665 - 游戏端口范围 (单独配置);
- 带宽良好的稳定互联网连接;
- 低延迟以获得流畅的游戏体验。
"All-in-One" 配置 (单台服务器运行 Panel + Wings)¶
对于测试或小型项目,你可以使用一台服务器:
- 处理器:4+ 核心;
- 内存:8 GB RAM (最低 6 GB);
- 磁盘:60 GB SSD (建议 100+ GB);
- OS:Ubuntu 22.04 LTS。
在此配置中,一台服务器运行以下内容:
- Pterodactyl Panel (Web 界面);
- Wings (服务器启动守护进程);
- 数据库和缓存;
- Docker 容器中的游戏服务器。
游戏资源建议
每个游戏服务器的大致需求:
| 游戏 | RAM | CPU | 磁盘 |
|---|---|---|---|
| Minecraft (Vanilla/Paper) | 2-4 GB | 2+ 核心 | 5-10 GB |
| Minecraft with mods (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 地址以及用于连接的登录名和密码。我们公司的客户可以通过 in the servers and API control panel — Invapi 管理硬件。
您可以在服务器控制面板的 Configuration >> Tags 选项卡中或通过邮件找到授权数据:
- Link: 在 webpanel 标签中;若要访问管理面板 (admin panel),请在主链接后添加
/admin; - Login:
admin; - Password: 服务器部署完成并准备好运行后,通过邮件发送到您的地址。
首次登录¶
- 打开 Web 浏览器并导航至您的 Pterodactyl 面板地址
-
点击
Login:
-
成功授权后,您将被带到面板主页。
-
若要访问管理面板 (admin panel),点击
按钮:
创建用户¶
- 在管理面板的左侧菜单中,点击 Users 部分名称;
-
点击右上角的
Create New按钮:
-
填写必填字段:
- Username: 用户名;
- Email: 用户邮箱地址;
- First Name: 名;
- Last Name: 姓;
- Password: 密码 (至少 8 个字符,必须包含大小写字母和数字);
- 如有需要,在 Administrator 行选择
Yes以授予管理员权限; -
点击
Create User:
创建 Location¶
什么是 Location
Location 是按地理位置或用途对节点 (Nodes) 进行的逻辑分组。用于组织服务器,例如:“EU”、“US”、“Asia”、“Production”、“Testing”。用户不会直接看到 Location;这是一个管理工具。
- 在左侧菜单中,选择 Locations;
-
点击右上角的
Create New按钮:
-
填写字段:
- Short Code: 短代码 (例如 "US1", "EU1");
- Description: 位置描述 (例如 "Data center in the USA");
-
点击
Create:
创建 Node¶
什么是 Node
Node 是一个物理或虚拟服务器,通过 Wings 在其上启动游戏服务器。每个 Node 都有自己的资源 (CPU、RAM、磁盘),并可以同时为多个游戏服务器提供服务。
创建 Node 前的准备工作¶
在创建 Node 之前,请确保:
- 服务器已安装 Docker (HOSTKEY 镜像中已预装);
- 您拥有该 Node 的 IP 地址或域名;
- 防火墙已开放 8080 (Wings API) 和 12333 (Wings/Daemon SSL 通信) 端口。
在 Panel 中创建 Node¶
-
在管理面板的左侧菜单中,选择 Nodes;
-
点击右上角的
Create New按钮:
-
填写 basic settings (基本设置):
- Name: 唯一的 Node 名称 (例如
hostkey-us-node1); - Location: 选择之前创建的 Location;
- Public: 如果该 Node 对用户可见,请勾选此框;
- FQDN: 指定面板域名 (例如
pterodactyl50514.hostkey.in) 或 IP 地址; - Communicate Over SSL: 如果 Panel 使用 HTTPS,请勾选此框;
- Behind Proxy: 如果 Node 不在代理服务器后,请保持禁用状态。
- Name: 唯一的 Node 名称 (例如
-
配置 resource settings (资源设置):
- Daemon Server File Directory:
/var/lib/pterodactyl/volumes(请勿更改); - Total Memory: 以 MB 为单位指定可用 RAM (例如,对于 6GB 的服务器,考虑到预留空间,填写
4608); - Memory Over-Allocation: 指定为
0(不进行内存超额分配); - Total Disk Space: 以 MB 为单位指定可用磁盘空间 (例如,对于 120GB 的磁盘,考虑到预留空间,填写
102400); - Disk Over-Allocation: 指定为
0(不进行磁盘超额分配); - Daemon Port:
8080(保持默认); - Daemon SFTP Port:
2022(保持默认)。

- Daemon Server File Directory:
-
点击
Create Node按钮。
使用 HTTPS 时的重要提示
如果 Panel 通过 HTTPS 运行,您必须在 FQDN 字段中指定 domain name (域名),而不是 IP 地址。启用 SSL 但指定 IP 地址会导致验证错误。
All-in-One 配置示例 (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
配置 Allocations¶
创建 Node 后,您需要配置 Allocations —— 这些是可分配给游戏服务器的 IP 地址和端口组合。
-
创建 Node 后,其页面会自动打开。导航至 Allocation 选项卡;
-
在 Assign New Allocations 部分 (右侧),填写字段:
- IP Address: 输入服务器 IP 地址;
- IP Alias: 指定描述 (例如
Main IP) 或留空; - Ports: 指定端口范围 (例如 Minecraft 服务器使用
25565-25570)。
-
点击绿色的
Submit按钮:
-
创建的 Allocations 将出现在 Existing Allocations 表格(左侧)中。每一行代表一个独立的 IP:port 组合,可以分配给游戏服务器。

备注
如果不配置 Allocations,您将无法在此 Node 上创建服务器。您需要至少添加一个带有端口的 IP 地址。
端口建议
- Minecraft: 25565-25570 (标准端口 25565);
- CS2/CS:GO: 27015-27020 (标准端口 27015);
- Rust: 28015-28020 (标准端口 28015);
- Valheim: 2456-2460 (标准端口 2456)。
安装 Wings¶
运行的关键步骤
创建 Node 并配置 Allocations 后,您必须在服务器上安装 Wings。如果没有 Wings,Node 将显示 Offline 状态且无法启动游戏服务器。
通过 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)。
通过 Auto-Deploy 配置 Wings (推荐)¶
-
在管理面板中,进入已创建 Node 的 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 > 您的 Node;
- 刷新页面 (F5);
- 右上角应显示绿色的 Online 状态指示器;
- 在 About 选项卡上,应显示资源信息 (CPU、RAM、Disk)。
如果 Node 显示 Online 状态
该 Node 已完全配置完毕,可以开始创建游戏服务器了!
故障排除¶
Node 显示 Offline 状态¶
检查 Wings 状态:
如果 Wings 未运行,请启动它:
检查错误日志:
常见问题:
-
Wings 无法连接到 Panel:
- 检查配置中的 Panel URL:
cat /etc/pterodactyl/config.yml | grep remote; - 确保 Panel 可访问:
curl -I https://your-domain.com.
- 检查配置中的 Panel URL:
-
8080 端口被防火墙拦截:
- 检查端口:
netstat -tulpn | grep 8080; - 开放端口:
ufw allow 8080/tcp.
- 检查端口:
-
SSL 问题:
- 如果 Panel 使用 HTTPS,Wings 也必须支持 SSL;
- 检查
/etc/pterodactyl/config.yml中的 SSL 设置。
手动配置 (备选方法)¶
如果 Auto-Deploy 不起作用,您可以手动配置 Wings:
- 在管理面板中,进入该 Node 的 Configuration 选项卡;
- 从左侧文本框复制配置文件内容;
-
在服务器上创建配置文件:
-
粘贴复制的配置并保存 (
Ctrl+X,然后Y,再按Enter); - 重启 Wings:
systemctl restart wings; - 检查状态:
systemctl status wings.
创建 Nest 并添加 Egg¶
创建 Nest¶
- 在左侧菜单中,选择 Nests 部分;
-
点击右上角的
Create New按钮: -
填写字段:
- Name: Nest 名称 (例如 "Minecraft");
- Description: Nest 描述;
-
点击
Save:
下载现成的 Egg¶
-
找到所需的游戏:
- 在 Game Eggs 部分,选择一个类别 (例如 Minecraft);
- 找到所需的服务器类型 (例如 Paper, Vanilla, Forge);
-
点击服务器名称以打开 GitHub 页面;
-
找到
egg-name.json文件 (例如egg-paper.json); -
点击该文件,然后点击右上角的
Raw按钮; -
保存文件 (
Ctrl+S或右键 >Save as)。
热门 Eggs
- Minecraft Paper: egg-paper.json;
- CS2: egg-counter--strike2.json;
- Rust: egg-rust.json;
- Valheim: egg-valheim.json.
将 Egg 导入 Panel¶
-
在管理面板中,进入 Nests 部分;
-
点击右上角的
Import Egg按钮:
-
点击
Choose File并选择下载的.json文件; -
点击
Import:
Egg 将连同所有设置、Docker 镜像和变量一起被导入。
验证导入的 Egg¶
-
在 Egg 列表中,找到已导入的项目 (例如
Paper); -
点击它以查看设置;
-
确保以下内容已填写:
- Docker Images: 可用镜像列表;
- Install Script: 服务器安装脚本;
- Variables: 环境变量 (版本、设置)。


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

Allocation Management (分配管理):
- Node: 选择已创建的 Node;
- Default Allocation: 从列表中选择 IP 地址:端口;
- Additional Allocations: 留空。
Application Feature Limits (应用功能限制):
- Database Limit:
0; - Allocation Limit:
0; - Backup Limit:
0.
Resource Management (资源管理):

- CPU Limit:
0(无限制); - Memory:
2048MiB (起始为 2GB); - Swap:
0MiB; - Disk Space:
5120MiB (5GB); - Block IO Weight:
500; - Enable OOM Killer: 保持禁用。
Nest Configuration (Nest 配置):

- 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 替换为您自己的):
如果响应显示"online": true —— 则服务器正在运行且玩家可以访问。 连接地址:
备注
关于 Pterodactyl 主要设置的详细信息请参阅 开发者文档。
通过 API 订购 Pterodactyl 服务器¶
要使用 API 安装此软件,请遵循 这些说明。