Cloudflare 全球边缘加速分发 · 无 Git 依赖

DNF90 极速一键部署与运维管理

自动环境适配 · 独立数据库容器 · 中文管理面板 · 更新前备份与启动健康检查

一键安装入口
生产就绪
curl -sSL https://YOUR-HOST | bash

💡 在目标 Linux 服务器(Debian / Ubuntu / Rocky 等)root 终端中直接粘贴执行即可。脚本自动安装 Docker、初始化运行目录并引导配置。

专属服务管理控制台 (dnf90-admin.sh)
中文向导 · 15项集成运维

部署成功后,系统会在 /root/dnf90-admin.sh 和项目脚本目录下常驻可视化管理入口,直接运行即可打开专属向导面板:

/root/dnf90-admin.sh
root@server:~# /root/dnf90-admin.sh
==================================================
DNF90 服务管理控制台 (管理向导)
==================================================
【服务运行控制】
1) 启动服务(启动服务端与网关,开放登录)
2) 停止服务(暂停玩家登录与游戏服务)
3) 重启服务(重新加载容器环境与网关)
4) 查看状态(检查各容器实时运行状态)
【资源与版本更新】
5) 更新服务版本(自动备份,重建所选容器并检查健康)
6) 仅拉取新镜像(预下载镜像,暂不重启服务)
7) 重载游戏资源(重启游戏服务,玩家断线)
【数据库备份容灾】
8) 备份游戏数据(全量导出 .sql.gz 带 SHA-256)
9) 恢复游戏数据(从备份还原,带校验与安全保护)
【排错体检与维护】
10) 查看运行日志(实时跟随或翻查历史日志)
11) 全系统环境体检(配置、Docker、必要文件综合诊断)
12) 端口监听与网络诊断(检查对外端口与登录地址) [NEW]
13) GM 管理凭据同步(校验网关与服务端通信 Token) [NEW]
14) 查看版本与镜像 Tag
15) 清理历史过期日志(释放磁盘存储空间) [NEW]
0) 退出
==================================================
请选择 [4]: _
服务端平滑更新说明
无损升级 · 资产零丢失

玩家账号、角色数据库(runtime/database/)、密钥和 PVF 保存在宿主机,普通镜像更新保留这些文件。更新前仍需备份;覆盖安装会清理旧运行数据,数据库迁移也可能影响旧版本兼容性。

方案 A 再次执行一键命令(小白推荐,全自动识别环境)

当发布端发布新版本后,直接在服务器上再次运行初始一键指令:

curl -sSL https://YOUR-HOST | bash

智能检测识别:向导检测到已有安装时,会自动弹出选项:
[1] 保留现有安装并更新(默认推荐):拉取最新镜像平滑重建容器,完整保留数据库、配置和 PVF;
[2] 备份后覆盖安装:自动先将当前数据库导出备份,随后清空重装;
[3] 退出。

方案 B 命令行更新(支持指定版本)

使用 dnf90-admin.sh update 更新所选服务。更新前默认导出数据库,启动后等待健康检查,通过后保存版本 Tag;服务端更新会断开玩家并中断副本,请安排维护时间。

更新服务端和网关到最新版本(数据库不重启,更新前导出 SQL 备份):
/root/dnf90-admin.sh update all latest
仅更新网关(游戏服务端与数据库不重启;网关登录、管理和下载会短暂中断):
/root/dnf90-admin.sh update gateway latest
更新前自动导出数据库

默认导出 SQL 压缩包和 SHA-256 校验文件到 backups/;导出失败会中止更新。不完整导出会清理,不覆盖已有同名备份。数据库备份不包含 PVF、配置和网关下载包,请单独备份这些文件。

健康检查后保存版本

所选容器通过健康检查后,才保存 .env 中的版本 Tag。若启动失败,容器可能已更换镜像,配置仍保留旧 Tag;请查看日志,脚本不会自动回滚镜像或数据库。

版本快速回滚支持

需要退回旧镜像时,可指定实际存在的旧 Tag,例如 update all <旧版本Tag>。这只更换镜像,不撤销数据库结构或数据变化;请先确认旧版兼容性,数据库恢复需另行执行。

游戏资源 (PVF) 与频道配置重载
需要重启游戏服务
🎒 更新 Script.pvf 文件

更新客户端补丁、道具装备或技能模型时,将新的 Script.pvf 上传覆盖到宿主机路径:

/opt/dnf90/runtime/server/data/dnf/Script.pvf

完整上传后执行重载指令。它会先检查文件和 Compose,再重启游戏服务并等待健康检查;在线玩家会断线,进行中的副本会中断,网关和数据库不重启:

/root/dnf90-admin.sh reload-pvf
⚙️ 修改频道配置 channel_info.etc

用于配置频道名称、线路划分、公开 IP 与经验倍率:

/opt/dnf90/runtime/server/data/dnf/channel_info.etc

修改完成后重启游戏服务加载配置(在线玩家会断线):

/root/dnf90-admin.sh reload-pvf
重载前检查与失败排查

默认部署目录为 /opt/dnf90;自定义安装请使用实际目录。上传时建议先使用临时文件名,完成后再替换 Script.pvf;两次哈希一致只能检查短时间内文件未变化,不能证明上传完整或 PVF 格式正确。

/root/dnf90-admin.sh reload-pvf --check

仅检查不会重启。正式重载默认等待健康检查最多 240 秒,可用 reload-pvf --timeout 300 调整(10~900 秒)。文件缺失、为空或检查期间变化会中止;启动失败不会误报恢复,也不会自动回滚资源。

/root/dnf90-admin.sh logs server --tail 100

启动失败时检查日志中的 PVF 解析、读取权限和数据库连接错误,修复后重新重载。服务端命令不会自动更新玩家客户端 PVF;涉及客户端的数据需同步并重启游戏。代码中写死的机制参数不会随 PVF 改变。

常用运维指令速查清单
CLI 命令速查
启动全部服务 启动
启动 MariaDB、游戏服务端及网关容器
/root/dnf90-admin.sh start
停止全部服务 停止
优雅停止各服务容器,安全落盘数据库
/root/dnf90-admin.sh stop
重启全部服务 重启
按依赖顺序重启服务端和网关容器
/root/dnf90-admin.sh restart
查看运行状态 状态
查看容器与健康检查状态;实际登录、频道和组队仍需客户端验证
/root/dnf90-admin.sh status
重启加载 PVF 与频道 玩家断线
检查文件后仅重启游戏服务,等待健康检查;玩家断线,副本中断
/root/dnf90-admin.sh reload-pvf
全组件版本更新 升级
默认备份数据库,重建所选服务并等待健康检查;服务端更新会断开玩家
/root/dnf90-admin.sh update all latest
仅更新网关组件 升级
单独更新网关,游戏服务和数据库不重启
/root/dnf90-admin.sh update gateway latest
预下载新版镜像 预下载
提前在后台拉取镜像,完全不重启任何服务
/root/dnf90-admin.sh pull all latest
全量导出数据库 备份
导出完整 .sql.gz 压缩备份并计算 SHA256
/root/dnf90-admin.sh backup
还原数据库备份 恢复
恢复前自动备份当前库,校验哈希防损坏
/root/dnf90-admin.sh restore BACKUP.sql.gz
实时追踪服务端日志 日志
实时查看服务端输出(按 Ctrl+C 退出)
/root/dnf90-admin.sh logs server -f
查看网关日志 日志
翻查网关最新 200 行输出,定位鉴权与网络
/root/dnf90-admin.sh logs gateway --tail 200
一键全系统体检 体检
检测配置完整度、Docker状态、磁盘及密码
/root/dnf90-admin.sh doctor
端口监听诊断 网络
排查 7000/13306/18111 等关键网络端口
/root/dnf90-admin.sh ports
GM 管理口鉴权同步 安全
校验并同步网关与服务端的内部 GM Token
/root/dnf90-admin.sh admin-sync
清理历史过期日志 磁盘
安全清理超过 7 天的历史日志与压缩包
/root/dnf90-admin.sh clean-logs
主机配置建议
  • 架构:Linux amd64 (x86_64)
  • 推荐系统:Debian 12 / Ubuntu 22.04+ / Rocky Linux 9
  • 硬件配置:建议 4 核 CPU / 8GB 内存以上(最低 2 核 4G)
  • 网络模式:Host 网络模式(支持游戏动态端口分配与 UDP 组队中继)
  • 安全架构:管理口绑定 127.0.0.1,不对公网开放,防扫描爆破
自动化处理流程
1

环境与依赖就绪

自动检测/安装 Docker & Compose,校验安装器完整性。

2

参数交互向导

自动探测公网 IP,交互生成网关管理密码与数据库凭证。

3

上传 PVF 启动

放入 Script.pvf 后一键启动服务端并完成健康检查。