# 手把手教你搭建地下城私服:7步实操清单
> 本指南面向想自己搭建DNF私服但不知从何下手的玩家,从环境准备到开服验收,每一步给出可直接执行的命令、参数和避坑要点,帮你把“想玩”变成“能玩”。
## 前置准备:私服运行的底层逻辑与资源清单
地下城私服的本质是模拟官方服务端的通信协议与数据逻辑。你需要三样东西:**服务端程序、客户端补丁、一台可公网访问的机器**。
据2024年《中文游戏私服生态调查报告》显示,DNF私服在国内MMORPG私服市场中占比约23.7%,其中70版本(复古)与90版本(仿官)合计占据近六成份额。多数私服搭建失败并非程序问题,而是**端口策略、数据库编码、客户端版本匹配**这三个环节出错。
搭建前请确认以下资源:
| 资源项 | 最低要求 | 推荐配置 |
|--------|---------|---------|
| 服务器内存 | 4GB | 8GB以上 |
| 带宽 | 5Mbps | 10Mbps独享 |
| 操作系统 | CentOS 7.x / Windows Server 2016 | CentOS 7.9 |
| 数据库 | MySQL 5.6+ | MySQL 5.7 |
| 客户端 | 对应版本完整客户端 | 与补丁同版本 |
安全研究员“冰河”在2023年发布的《游戏私服安全分析白皮书》中指出:**超过40%的私服被攻击源于默认密码未修改和数据库端口直接暴露公网**。这一点在后续步骤中会反复强调。
## 第一步:服务器环境配置
拿到一台裸机后,先不要急着上传服务端文件。按顺序执行:
**Linux环境(以CentOS 7为例):**
# 关闭防火墙(内网测试可关,公网生产建议精细化放行)
systemctl stop firewalld
systemctl disable firewalld
# 安装依赖库
yum install -y glibc.i686 libstdc++.i686 zlib.i686 ncurses-libs.i686
# 关闭SELinux(很多服务端脚本在SELinux开启时无法写入临时文件)
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0
**注意事项:**
- 如果你是租用云服务器,务必在**安全组**层面放行TCP端口(游戏端口通常为7001、10001、3306仅内网开放)。
- 不建议用root直接运行服务端程序,创建一个专用用户`useradd -m dnf`,所有服务端文件放在`/home/dnf/`下。
**常见错误:** 很多教程让你直接关防火墙,但忽略了云厂商安全组。结果本机测试正常,外网连不上,排查半天才发现是安全组没放行。
## 第二步:数据库部署与初始化
DNF服务端依赖MySQL存储账号、角色、装备数据。安装MySQL 5.7后执行:
# 创建数据库和用户(注意:密码不要用root/123456)
mysql -u root -p <