Skip to content

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
  • 密码:在软件部署后服务器准备就绪时通过电子邮件发送至您的地址。

首次登录

  1. 打开 Web 浏览器并导航到您的 Pterodactyl 面板地址
  2. 点击 Login

  3. 成功授权后,您将进入主面板页面。

  4. 要访问管理面板,点击 按钮:

创建用户

  1. 在管理面板的左侧菜单中,点击 Users 部分名称;
  2. 点击右上角的 Create New 按钮:

  3. 填写必填字段:

    • Username:用户名;
    • Email:用户电子邮件地址;
    • First Name:名字;
    • Last Name:姓氏;
    • Password:密码(最少 8 个字符,必须包含不同大小写的字母和数字);
  4. 如有必要,在 Administrator 行中选择 Yes 以授予管理员权限;
  5. 点击 Create User

创建位置

什么是位置

位置是按地理位置或用途对节点进行的逻辑分组。用于组织服务器,例如:“EU”、“US”、“Asia”、“Production”、“Testing”。用户不会直接看到位置;这是一个管理工具。

  1. 在左侧菜单中,选择 Locations
  2. 点击右上角的 Create New 按钮:

  3. 填写字段:

    • Short Code:位置短代码(例如,“US1”、“EU1”);
    • Description:位置描述(例如,“位于美国的机房”);
  4. 点击 Create

创建节点

什么是节点

节点是通过 Wings 启动游戏服务器的物理或虚拟服务器。每个节点都有自己的资源(CPU、RAM、磁盘),可以同时为多个游戏服务器提供服务。

创建节点前的准备

在创建节点之前,请确保:

  • 服务器上已安装 Docker(HOSTKEY 镜像中预装);
  • 您拥有节点的 IP 地址或域名;
  • 防火墙中将开放端口 8080 (Wings API) 和 2022 (SFTP)。

在 Panel 中创建节点

  1. 在管理面板的左侧菜单中,选择 Nodes

  2. 点击右上角的 Create New 按钮:

  3. 填写**基本设置**:

    • Name:唯一的节点名称(例如,hostkey-us-node1);
    • Location:选择之前创建的位置;
    • Public:如果节点应对用户可见,请勾选复选框;
    • FQDN:指定面板域名(例如,pterodactyl50514.hostkey.in)或 IP 地址;
    • Communicate Over SSL:如果 Panel 使用 HTTPS,请勾选复选框;
    • Behind Proxy:如果节点不在代理后面,请保持禁用。
  4. 配置**资源设置**:

    • 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 Port8080(保留默认值);
    • Daemon SFTP Port2022(保留默认值)。

  5. 点击 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 地址和端口组合。

  1. 创建节点后,其页面将自动打开。导航到 Allocation 选项卡;

  2. Assign New Allocations 部分(右侧),填写字段:

    • IP Address:输入服务器 IP 地址;
    • IP Alias:指定描述(例如,Main IP)或留空;
    • Ports:指定端口范围(例如,25565-25570 用于 Minecraft 服务器)。
  3. 点击绿色的 Submit 按钮:

  4. 创建的分配将出现在 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 连接到服务器并执行命令:

创建配置目录:

mkdir -p /etc/pterodactyl
下载 Wings:

curl -L -o /usr/local/bin/wings "https://github.com/pterodactyl/wings/releases/latest/download/wings_linux_amd64"
授予执行权限:

chmod u+x /usr/local/bin/wings
验证安装:

wings version

应显示 Wings 版本(例如,wings vv1.12.1)。

通过自动部署配置 Wings(推荐)

  1. 在管理面板中,进入已创建节点的 Configuration 选项卡;

  2. Auto-Deploy 部分(右侧),点击 Generate Token 按钮:

  3. 复制生成的命令。它看起来像这样:

        cd /etc/pterodactyl && wings configure --panel-url https://your-domain.com --token TOKEN --node 1
    

  4. 在服务器上执行复制的命令:

        cd /etc/pterodactyl && wings configure --panel-url https://pterodactyl50514.hostkey.in --token TOKEN --node 1
    

    应出现消息:Successfully configured wings.

  5. 验证创建的配置:

        cat /etc/pterodactyl/config.yml
    

创建 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 配置

systemctl daemon-reload
启用自动启动并启动 Wings

systemctl enable --now wings
检查状态

systemctl status wings

状态应显示 Active: active (running)

运行检查

检查 Wings 日志:

journalctl -u wings -n 50

日志应包含以下消息:

  • fetching list of servers from API - Wings 已连接到 Panel;
  • configuring internal webserver - Wings Web 服务器已启动;
  • sftp server listening for connections - SFTP 服务器正在工作。

验证服务器目录创建:

ls -la /var/lib/pterodactyl/volumes/

在管理面板中检查状态

  1. 打开管理面板:https://your-domain.com/admin
  2. 导航到:Admin > Nodes > 您的节点;
  3. 刷新页面 (F5);
  4. 右上角应显示绿色的 Online 状态指示器;
  5. About 选项卡上,应显示资源信息(CPU、RAM、磁盘)。

如果节点显示在线状态

节点已完全配置并准备好创建游戏服务器!

故障排除

节点显示离线状态

检查 Wings 状态:

systemctl status wings

如果 Wings 未运行,请启动它:

systemctl start wings

检查日志中的错误:

journalctl -u wings -n 100

常见问题:

  1. Wings 无法连接到 Panel

    • 检查配置中的面板 URL:cat /etc/pterodactyl/config.yml | grep remote
    • 确保 Panel 可访问:curl -I https://your-domain.com
  2. 端口 8080 被防火墙阻止

    • 检查端口:netstat -tulpn | grep 8080
    • 开放端口:ufw allow 8080/tcp
  3. SSL 问题

    • 如果 Panel 使用 HTTPS,Wings 也必须使用 SSL 工作;
    • 检查 /etc/pterodactyl/config.yml 中的 SSL 设置。

手动配置(替代方法)

如果自动部署不起作用,您可以手动配置 Wings:

  1. 在管理面板中,进入节点的 Configuration 选项卡;
  2. 从左侧文本字段复制配置文件内容;
  3. 在服务器上,创建配置文件:

    nano /etc/pterodactyl/config.yml
    

  4. 粘贴复制的配置并保存(Ctrl+X,然后 Y,然后 Enter);

  5. 重启 Wings:systemctl restart wings
  6. 检查状态:systemctl status wings

创建巢并添加蛋

创建巢

  1. 在左侧菜单中,选择 Nests 部分;
  2. 点击右上角的 Create New 按钮:

  3. 填写字段:

    • Name:巢名称(例如,“Minecraft”);
    • Description:巢描述;
  4. 点击 Save

下载现成的蛋

  1. 打开网站 https://pelican-eggs.github.io/

  2. 找到所需的游戏:

    • Game Eggs 部分,选择一个类别(例如,Minecraft);
    • 找到所需的服务器类型(例如,Paper、Vanilla、Forge);
  3. 点击服务器名称以打开 GitHub 页面;

  4. 找到 egg-name.json 文件(例如,egg-paper.json);

  5. 点击文件,然后点击右上角的 Raw 按钮;

  6. 保存文件(Ctrl+S 或右键点击 > Save as)。

流行的蛋

将蛋导入面板

  1. 在管理面板中,进入 Nests 部分;

  2. 点击右上角的 Import Egg 按钮:

  3. 点击 Choose File 并选择下载的 .json 文件;

  4. 点击 Import

蛋将连同所有设置、Docker 镜像和变量一起导入。

验证导入的蛋

  1. 在蛋列表中,找到导入的那个(例如,Paper);

  2. 点击它以查看设置;

  3. 确保填写了以下内容:

    • Docker Images:可用镜像列表;
    • Install Script:服务器安装脚本;
    • Variables:环境变量(版本、设置)。

创建服务器

  1. 在左侧菜单中,选择 Servers

  2. 点击右上角的 Create New 按钮:

  3. 填写创建表单:

核心详细信息:

  • Server Name:服务器名称(例如,Test Minecraft Server);
  • Server Owner:从列表中选择所有者用户;
  • Server Description:描述(可选);
  • Start Server when Installed:保持复选框启用。

分配管理:

  • Node:选择创建的节点;
  • Default Allocation:从列表中选择 IP 地址:端口;
  • Additional Allocations:留空。

应用程序功能限制:

  • Database Limit0
  • Allocation Limit0
  • Backup Limit0

资源管理:

  • CPU Limit0(无限制);
  • Memory2048 MiB(2GB 以启动);
  • Swap0 MiB;
  • Disk Space5120 MiB(5GB);
  • Block IO Weight500
  • Enable OOM Killer:保持禁用。

巢配置:

  • NestMinecraft
  • EggPaper(不是 Sponge!);
  • Docker ImageJava 21
  • Service Variables:保留默认值。

  • 点击页面底部的 Create Server

  • 等待安装完成(状态 Installing 将变为 Offline):

启动和配置服务器

  1. 安装后,从列表中打开服务器(Admin > Servers):

  2. 进入用户面板(不带 /admin),以服务器所有者身份登录;

  3. 点击 Start 按钮:

  4. 首次启动时,将出现许可证接受窗口:

  5. 点击 I Accept 以接受 Minecraft EULA;

  6. 等待服务器启动(状态将变为 Running):

性能检查

在浏览器中打开(将 IP 替换为您的 IP):

https://api.mcsrvstat.us/3/<IP address>:25565
如果响应显示 "online": true - 服务器正在工作并且玩家可以访问。

连接地址:

<IP address>:25565

备注

Pterodactyl 主要设置的详细信息包含 在开发者文档中

通过 API 订购 Pterodactyl 服务器

question_mark
Is there anything I can help you with?
question_mark
AI Assistant ×