群晖Nas+docker 搭建dnf

一:前期准备:需要上传到nas or 云服务器的文件
注意:需要把等级补丁以及想玩的版本的script_pvf文件拷贝到此目录下

1.将文章末尾的连接工具资源压缩包解压之后进入文件夹里面的:把这个直接传到服务器里

image-1680009272185

2.图中2个压缩文件是mysql数据库以及dnf的服务端的save镜像。也可以不通过还原镜像直接pull也可以。

此文主要是讲还原镜像的做法。

如果可以直接pull镜像只需要修改yaml文件然后执行即可

1.需要修改的是mysql密码,默认是八个8,如果在对外记得修改,这个密码也是后面gm后台管理工具连接的密码
  - MYSQL_ROOT_PASSWORD=你的密码
2.修改成你自己的ip
- PUBLIC_IP=127.0.0.1
3.我自己的群晖nas默认不支持对cpu的限制,需要删除或者注释
# cpus: 1.0

3.然后准备dnfserver/data里面的内容,需要服务端等级补丁你自己选一个文件夹里面的df_game_r复制到data里面然后覆盖。第二个是将下载的所有的客户端里面选择一个客户端的Script.pvf复制到此文件夹即可。

image-1680009296150

我以璀璨86起源城镇版为例:如下图

image-1680009318700

4.以上准备工作就结束了,上传这个到nas或者服务器即可

二:开始搭建。

0.如果是ubuntu docker 搭建,一般的自用云服务内存一般比较小,需要自己设置虚拟内存

终端输入htop可以查看对应的虚拟内存

#这是创建虚拟内存的命令  这个会创建出10000兆的虚拟内存,9.多G,一行一行的复制执行。
dd if=/dev/zero of=/var/swap.1 bs=1M count=10000
mkswap /var/swap.1
swapon /var/swap.1
sed -i '$a /var/swap.1 swap swap default 0 0' /etc/fstab

我查看我的nas,默认已经有12的虚拟内存了,我就不执行上诉命令了。

1.可以下载对应的资料load镜像或者直接用命令pull对应的镜像

进入对应的服务器的自己上传的文件夹目录下,这是载入镜像的命令。

image-1680009272185

docker load -i dnfserver.tar 
docker load -i dnfmysql.tar   
docker-compose up -d dnfmysql  # 启动数据库

docker-compose logs -f --tail=1000 dnfmysql  # 查看数据库启动日志
# 如果终端显示了这个就说明数据库还原成功了,但是有一点,这个只是说明数据库初始化成功了,但是并不一定数据还原成功了。由于我的nas是机械硬盘,还原的有点慢,所以你可以通过工具来连接判断是否还原成功了。本人经验当在执行对应的还原脚本的时候,外面工具是无法连接的。
mysqld: ready for connections.

#由于对应的yaml文件里面谢了自动重启重试,所以就算数据库数据没有还原成功,server也会一直重试,机械硬盘可以多等等。
docker-compose up -d dnfserver  启动服务端
docker-compose logs -f --tail=1000 dnfserver  # 这个是查看控制台日志
# 服务端的日志在 dnfserver/log/siroco11 这个目录里
tail -f dnfserver/log/siroco11/Log20230319.log   # 这个是可以动态查看日志的命令
注意事项

1.云服务执行的时候有权限的时候,会自动创建挂载的文件夹。但是nas不会自动创建,可以手动创建对应的挂载的目录。可以根据终端提示创建。

2.如果报错如下,这是数据库没有还原完整,如果不行,可以删除数据库重复上诉操作。错误原因是因为server初始化的时候使用game这个用户去初始化的。没有这个用户不行。(如果手动创建,要设置所有的权限,建议删除重新操作一遍。)

image-1680009395688

完整数据库如下:GMtools与huazhi都是后台gm工具生成的,这个没有关系。

image-1680009414754

以上已经把服务端部署完毕。

二:客户端制作

1.打开后台管理工具,用工具连接自己的数据库,

image-1680009449209

2.ip填写自己的ip,数据库账号game默认是不可以连接的,改为root,密码默认是88888888就是yaml文件默认配置的。对外网的话,记得修改yaml文件的密码以及对应的public_ip。

image-1680009471626

3.登陆成功之后,主要做2步,一步是生成授权文件以及对对应的pvf的加密

image-1680009495122

4.生成的授权文件会自动打开对应的目录,文件名是HzTCP.dll,

image-1680009519224

5.然后进入开关管理设置注册送的点券之类的,修改完毕之后记得点击保存本页内容,不然不会生效

6.点击登陆器设置。对pvf加密,点击修改本页内容,然后点击PVF加密然后选择之前的对应的script_pvf 。执行完成之后也会自动跳到对应的目录,讲授权文件与此文件复制到你你想要的对应的客户端目录下。

7.解压你选择的客户端目录之后,将此目录下面的所有的除了文件夹以外的文件全部删除。,然后将对应的花枝3.41目录下的配套客户端解压到你的客户端里面,重复的文件选择全部覆盖。或者你解压配套客户端然后复制并覆盖你选择的客户端。(如果你选择的客户端你不删除除了文件夹之外的文件,可能会连接到别人的服务器。)

image-1680009543212
然后正常注册账号登陆即可
image-1680009656172

资源地址:链接: https://pan.baidu.com/s/13GgW8Qy1v23cv_nK_JndKg 提取码: pvgi 复制这段内容后打开百度网盘手机App,操作更方便哦

连接工具里面解压之后,主要是服务端资源在此。