当前位置:
文章详情

关于用 Docker 免费搭建 DNF 台服这件事

2021-12-13 19:30:45 444点赞 2394收藏 347评论

前言

事情是这样的,前段时间在值得买看到了一篇如何搭建 DNF 台服的文章,看了之后心中的勇士之魂蠢蠢欲动,于是自己的搭了一个玩玩。但是搭建 DNF 台服是有系统限制的,只有在 centOS 上能用,而且还有版本限制,网上大多都是使用 centOS 5.8 系统,我实测 cetnOS 6.11 也行。但这两个系统已经廉颇老矣,特别是 cetnOS 5.8,官方早已停止维护,各大云服务厂商甚至都不会提供这个系统,就算能安装,更新源文件也麻烦。

就在这个时候,突然就想到还有 Docker 这么好用的玩意,上 Docker Hub 一搜,果然有镜像,马不停蹄的搭了一个试试。顺便分享一下教程。

这篇文章就可以帮助你在任何支持 Docker 的机器上搭建一个免费的 DNF 台服。本文需要用到 SSH 命令行操作,可能会劝退一部分人,但我还是建议你看完,纯命令行的搭建难度也不是很高,如果你用群晖之类的 Linux 系统的 NAS 完全可以用纯 UI 界面搭建。

需要准备的东西

建议可以先开始下载,一边下载一边看教程。

理论上所有能够运行 Docker 的 Linux 系统都能安装(WINDOWS 没测试过),包括那些 NAS 系统,比如:群晖 DSM、威联通 QNAP、UNRAID、TrueNAS 等等。这里我用 Ubuntu 2104 虚拟机来演示。

SSH 登陆

打开 PUTTY,输入服务器的 IP 和用户名密码的参数,点击登陆。

输入 IP 地址输入 IP 地址

依次输入用户名和密码

关于用 Docker 免费搭建 DNF 台服这件事

更新以及安装 Docker

连接到服务器第一件事获取 root 权限和更新一下软件源。

  • sudo -i

  • apt update

先安装一个 Docker,下面用到官方的脚本进行安装。

  • curl -sSL <https://get.docker.com/> | sh

  • docker --version #如果有版本信息反馈表示安装成功

安装成功后的反馈安装成功后的反馈

设置 SWAP 虚拟内存

因为这个 DNF 台服容器非常消耗内存,作者推荐设置 8G SWAP 虚拟内存,所以我们这就来设置一下。如果你的机器已经大于 8G 内存,可以跳过这一步。

先输入下面命令

  • swapon --show

Ubuntu 默认创建的 SWAPUbuntu 默认创建的 SWAP

从返回的命令可以看到现在系统内已经有 4G SWAP,存储在 /swap.img 文件里,显然只有 4G 是不够的,我们要把它删了重新新建一个。

删除 SWAP

  • swapoff -v /swap.img

删除 fastab 文件最后一行 swap 的配置文件下,命令如下:

  • nano /etc/fstab

删除最后一行所有内容删除最后一行所有内容

删除完后按 Crtl + X 推出,Y 保存,回车确定。

  • rm /swap.img

这里就已经成功把 SWAP 卸载。

创建 SWAP

下面创建一个文件并设置为 swap。

  • fallocate -l 8G /swapfile

  • chmod 600 /swapfile

  • mkswap /swapfile

  • swapon /swapfile

  • nano /etc/fstab

在最后一行粘贴以下内容,然后按 Crtl + X ,再按 Y ,再按回车。

/swapfile swap swap defaults 0 0

把上面的代码粘贴到最后一行把上面的代码粘贴到最后一行

最后输入命令看一下返回信息,如果和我下面一样就表示成功了。

  • swapon --show

最下面的返回结果已经显示 8G最下面的返回结果已经显示 8G

创建数据库

首先创建一个文件夹用于存放数据库和日志等文件。

  • mkdir /dnf

把镜像拉回到本地并初始化数据库 (下面一整段复制粘贴到终端)。

docker run --rm -v /dnf/log:/home/neople/game/log -v /dnf/mysql:/var/lib/mysql -v /dnf/data:/data 1995chen/dnf:stable /bin/bash /home/template/init/init.sh

这里如果显示出这个数据库正在启动的界面就代表成功了,这里会在前台跑一个生成数据库的脚本,并不是卡住了,要耐心等大概 10 分钟就行了。

容器创建成功,数据库正在启动容器创建成功,数据库正在启动

显示这个界面就代表初始化已经完成了(主要看最后三行)。初始化完成后容器会自动删除。

数据库创建成功数据库创建成功

搭建服务器端

接下来第二步就是重新启动容器并加上其他一些必要的参数。命令我放到下面,如果前面你的文件路径设置和我完全一样,下面这些命令直接复制粘贴,如果修改了位置,那下面的三个 -v 参数前面的路径请替换成自己设置的路径。

docker run -d --name=dnf -e PUBLIC_IP=192.168.5.235 -e DNF_DB_ROOT_PASSWORD=88888888 -e GM_ACCOUNT=gm_user -e GM_PASSWORD=gm_pass -v /dnf/log:/home/neople/game/log -v /dnf/mysql:/var/lib/mysql -v /dnf/data:/data -p 3000:3306/tcp -p 7600:7600/tcp -p 881:881/tcp -p 20303:20303/tcp -p 20303:20303/udp -p 20403:20403/tcp -p 20403:20403/udp -p 40403:40403/tcp -p 40403:40403/udp -p 7000:7000/tcp -p 7000:7000/udp -p 7001:7001/tcp -p 7001:7001/udp -p 7200:7200/tcp -p 7200:7200/udp -p 10011:10011/tcp -p 31100:31100/tcp -p 30303:30303/tcp -p 30303:30303/udp -p 30403:30403/tcp -p 30403:30403/udp -p 10052:10052/tcp -p 20011:20011/tcp -p 20203:20203/tcp -p 20203:20203/udp -p 30703:30703/udp -p 11011:11011/udp -p 2311-2313:2311-2313/udp -p 30503:30503/udp -p 11052:11052/udp --cpus=1 --memory=1g --memory-swap=-1 --shm-size=8g --restart always 1995chen/dnf:stable

PUBLIC_IP 等号后面填你服务器的公网 IP,我已经在命令行上用粗字标注了,如果你是局域网内搭建的,可以和我一样填内网 IP。(这个一定要改)

-e 参数可以自行设置数据库账号密码

-v 参数可以自行设置数据库等位置

输入完命令之后会有一个反馈提示。

关于用 Docker 免费搭建 DNF 台服这件事

我们先用命令查看容器有没有在后台运行,如果有返回结果表示容器在后台运行。

  • docker ps

可以看到容器在后台运行中可以看到容器在后台运行中

稍稍等候两到三分钟后,输入下面的命令查看日志。

  • grep -rHi 'GeoIP Allow Country Code' /dnf/log

如果没有返回信息稍等片刻再输入一次试试,直到有反馈信息为止。看到这里有返回了地区信息,就代表服务端已经搭建并启动成功了。

出现多个区域代码表示服务器成功搭建并启动出现多个区域代码表示服务器成功搭建并启动

客户端设置

离成功就差最后一步了。现在的操作就要回到我们熟悉的桌面操作了。下载并解压文章前面给的网关文件。

打开前面下载的统一网关,点到第二项,把你的服务器地址填上,如果你上面没有修改 Docker 参数的话,可以直接抄我的作业(IP 除外)。确保服务器防火墙放行了对应端口和所有参数都填好了以后点击一下连接。

复制下面参数按照截图填到对应的位置复制下面参数按照截图填到对应的位置

  • 通讯密钥: 763WXRBW3PFTC3IXPFWH

  • 登录器端口: 7600

  • 网关端口:881

  • GM账户: gm_user

  • GM密码: gm_pass

  • 登陆器版本:20180307

如果没有返回错误信息就代表连接网关成功,接下来就是生成启动器。

点到第一页,把版本号、IP 地址、密钥等参数填到对应的地方,点击增加,再点击生成,然后程序就会帮你生成一个独一无二的登陆器,把登陆器复制到 DNF 台服客户端的根目录。

同上同上

再点击最后一页,依次“获取当前密码→生成随机密码→应用当前密码”,再点击打开文件,把解压文件里面的 Script.pvf 文件选上,然后点击应用,得到一个新的 Script.pvf 文件,把这个文件放回 DNF 台服客户端内即可。

关于用 Docker 免费搭建 DNF 台服这件事

打开客户端目录中的统一启动器,如果没有报错,证明正常连上服务器,点击右下的账号注册,信息随便填,账号和密码记住就好。

登陆器主界面登陆器主界面

注册账号注册账号

输入刚创建的账号和密码稍等片刻就可以看到耳熟能详的掉线 BGM 了

熟悉的界面熟悉的界面

创建角色创建角色

正常游玩正常游玩

容器默认会随着系统开启而打开,如果容器进程被杀或者启动失败,可以用下面的命令:

  • docker stop dnf #关掉 DNF 容器

  • docker start dnf #打开 DNF 容器

  • docker restart dnf #重启 DNF 容器

至此,Docker 搭建 DNF 台服是成功了, 感谢镜像作者提供了另一种搭建方法,摆脱了 CentOS 系统的束缚,其他 Linux 系统也可以用 Docker 灵活搭建。容器还有其他可自定义选项,更加详细的文档请访问作者的 Github 中查看,有搭建方面的问题也可以留言或者去作者的群里面询问一下。

总的来说 Docker 对比虚拟机搭建还是有着不少优势的,Docker 不怎么挑系统,对硬件的使用率也要高于虚拟机。而且就向开头所说,如果你用的群晖、威联通等带 Docker UI 的 NAS 系统,搭一个这样的私服也非常简单方便。如果服务器、NAS 这些你都没有,那你还能用 WIN10 自带的 WSL 子系统搭建,反正路子很广,多花一点点时间学习,不比去淘宝花钱买一个好?

关于用 Docker 免费搭建 DNF 台服这件事

最后希望大家都能搭建成功,复兴阿拉德大陆的重任就交给你们了。

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起

Nintendo 任天堂 switch游戏卡《双人成行》 主机游戏

Nintendo 任天堂 switch游戏卡《双人成行》 主机游戏

172元起

Nintendo 任天堂 NS游戏卡带 海外版《塞尔达传说2 王国之泪》

Nintendo 任天堂 NS游戏卡带 海外版《塞尔达传说2 王国之泪》

239元起

SONY 索尼 现货港版索尼包邮 PS5游戏 龙之信条2 龙族 Dragon's Dogma 2中文

SONY 索尼 现货港版索尼包邮 PS5游戏 龙之信条2 龙族 Dragon's Dogma 2中文

300元起

Nintendo 任天堂 海外版 Switch体感游戏套装 《健身环大冒险》中文

Nintendo 任天堂 海外版 Switch体感游戏套装 《健身环大冒险》中文

278元起

Nintendo 任天堂 Switch游戏卡带《超级马里奥 派对》日版 中文

Nintendo 任天堂 Switch游戏卡带《超级马里奥 派对》日版 中文

233元起

Nintendo 任天堂 Switch游戏卡带 NS 八方旅人2 歧路旅人2 八方2 中文

Nintendo 任天堂 Switch游戏卡带 NS 八方旅人2 歧路旅人2 八方2 中文

197元起

Nintendo 任天堂 Switch游戏《皮克敏4》

Nintendo 任天堂 Switch游戏《皮克敏4》

233元起

Nintendo Switch游戏卡带 《星之卡比 探索发现》 中文版

Nintendo Switch游戏卡带 《星之卡比 探索发现》 中文版

259元起

SONY 索尼 PS5游戏《最终幻想7重生》

SONY 索尼 PS5游戏《最终幻想7重生》

390元起

Nintendo 任天堂 Switch NS游戏卡带 海外版《超级马力欧 奥德赛》

Nintendo 任天堂 Switch NS游戏卡带 海外版《超级马力欧 奥德赛》

225元起

Nintendo 任天堂 国行 Switch游戏主机 续航增强版 红蓝+《健身环大冒险》主机套装

Nintendo 任天堂 国行 Switch游戏主机 续航增强版 红蓝+《健身环大冒险》主机套装

2298元起

Nintendo 任天堂 Switch游戏卡带 《斯普拉遁3》(喷射战士3)中文

Nintendo 任天堂 Switch游戏卡带 《斯普拉遁3》(喷射战士3)中文

236元起

Nintendo 任天堂 Switch游戏卡带 《异度之刃3》

Nintendo 任天堂 Switch游戏卡带 《异度之刃3》

151元起

Nintendo 任天堂 Switch 游戏《星之卡比 Wii豪华版》

Nintendo 任天堂 Switch 游戏《星之卡比 Wii豪华版》

233元起

505 Games 《Ghostrunner 幽灵行者》

505 Games 《Ghostrunner 幽灵行者》

暂无报价

Nintendo 任天堂 Switch游戏NS卡带 碧姬公主表演时刻!碧琪公主 中文版

Nintendo 任天堂 Switch游戏NS卡带 碧姬公主表演时刻!碧琪公主 中文版

213元起
347评论

  • 精彩
  • 最新
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章

Hikarunara

Ta还没有介绍自己

发文累计被2443人收藏

关注 打赏
作者其他文章
最新文章 热门文章
2.3K
扫一下,分享更方便,购买更轻松