目 录CONTENT

文章目录

docker部署DOF教程文档

康
2024-09-14 / 0 评论 / 1 点赞 / 68 阅读 / 0 字 / 正在检测是否收录...
温馨提示:
本文最后更新于2024-09-14,若内容或图片失效,请留言反馈。 文章部分素材源于网络,若您发现文中素材侵犯您权益,请联系我。我会及时核实处理,尊重知识产权,愿与大家共创健康有序的网络环境。

-全套DNF服务端部署教程-

文档仅供参考,有不对的地方欢迎批评指正,不懂的可以留言询问。

服务器推荐

https://www.rainyun.com/MzQ3Mzc3_

0.下载并安装Xterminal

https://www.xterminal.cn/

PS:个人感觉这个软件挺不错的,其他命令行输入的时候会太长被删减

1.先升级yum源

yum update -y

2.安装1Panel面板(小白推荐)

RedHat / CentOS

curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sh quick_start.sh

Ubuntu

curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh

Debian

curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && bash quick_start.sh

3.配置docker镜像加速

配置加速地址:

https://spp-docker.asia
https://wc-docker.asia
https://k-docker.asia
https://hj-docker.asia
https://lq-docker.asia

3.关闭防火墙

# 关闭宿主机防火墙
# Centos5-6
service iptables stop
chkconfig iptables off
# Centos7
systemctl disable firewalld
systemctl stop firewalld
systemctl disable firewalld.service
systemctl stop firewalld.service
# ubuntu
sudo ufw disable

4.关闭SELINUX

sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

5.创建swap(如果内存足够可以直接忽略)

/bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=8000
mkswap /var/swap.1
swapon /var/swap.1
sed -i '$a /var/swap.1 swap swap default 0 0' /etc/fstab

查看操作系统是否打开swap的使用(如果内存足够可以直接忽略) sudo vim /etc/sysctl.conf 将vm.swappiness的值修改为100(优先使用swap),没有该配置就加上

Linux下设置swappiness参数来配置内存使用到多少才开始使用swap分区(转) - EasonJim - 博客园

vm.swappiness = 100

6.拉取镜像

docker pull 1995chen/dnf:stable

docker pull 1995chen/dnf:centos6-2.1.2
docker pull 1995chen/dnf:stable
docker pull 1995chen/dnf:centos5-2.1.2
docker pull 1995chen/dnf:centos6-2.1.2
如何您需要使用centos7作为基础镜像的特殊需求,可以使用:
docker pull 1995chen/dnf:centos7-2.1.2
所有镜像版本列表请参考[记得点赞三连,帮助更多的人了解该镜像]:
https://hub.docker.com/repository/docker/1995chen/dnf

7.创建一个目录用于持久化存储 服务端的日志、pvf、数据库文件

mkdir -p /dnf

8.初始化数据(第一次时间较长,可能会超过10分钟请耐心等待)

初始化数据库以及基础数据文件

该初始化容器是个一次性任务,跑完会在dnf目录下创建初始化文件,程序运行完成后自动退出,不会留下任务容器残留如果要重新初始化数据,则需要删除data目录下的 data、mysql、 log三个文件夹, 重新运行该初始化命令,注意:如果目录没有清空是不会执行任何操作的

docker run \
-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

9.启动服务

PUBLIC_IP=xxxxx为公网IP地址,如果在局域网部署则用局域网IP地址,按实际需要替换xxxxx为ip

GM_ACCOUNT为登录器用户名,建议替换(可以随便定义)

GM_PASSWORD为登录器密码,建议替换(可以随便定义)

DNF_DB_ROOT_PASSWORD为mysql root密码,容器启动是root密码会跟随该环境变量的变化自动更新

docker run -d -e PUBLIC_IP=xxxxx -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 --name=dnf 1995chen/dnf:stable

10.确实是否启动成功

1.查看日志 log,log名字为当天日期

├── siroco11

│ ├── Log20211203-09.history

│ ├── Log20211203.cri

│ ├── Log20211203.debug

│ ├── Log20211203.error

│ ├── Log20211203.init

│ ├── Log20211203.log

│ ├── Log20211203.money

│ └── Log20211203.snap

└── siroco52

├── Log20211203-09.history

├── Log20211203.cri

├── Log20211203.debug

├── Log20211203.error

├── Log20211203.init

├── Log20211203.log

├── Log20211203.money

└── Log20211203.snap

查看Logxxxx.init文件,五国的初始化日志都在这里

成功出现五国后,日志文件大概如下,五国初始化时间大概1分钟左右,请耐心等待

 [root@centos-02 siroco11]# tail -f Log20211203.init
 [09:40:23]    - RestrictBegin : 1
 [09:40:23]    - DropRate : 0
 [09:40:23]    Security Restrict End
 [09:40:23] GeoIP Allow Country Code : CN
 [09:40:23] GeoIP Allow Country Code : HK
 [09:40:23] GeoIP Allow Country Code : KR
 [09:40:23] GeoIP Allow Country Code : MO
 [09:40:23] GeoIP Allow Country Code : TW
 [09:40:32] [!] Connect To Guild Server ...
 [09:40:32] [!] Connect To Monitor Server ...

2.查看进程

在确保日志都正常的情况下,需要查看进程进一步确定程序正常启动

ps -ef |grep df_game

如上结果df_game_r进程是存在的,代表成功.如果不成功可以重启服务

11.重启服务

docker restart dnf

12.默认的网关信息

网关端口: 881
通讯密钥: 763WXRBW3PFTC3IXPFWH
登录器版本: 20180307
登录器端口: 7600
GM账户: gm_user
GM密码: gm_pass

Z.架设完成常用命令

docker stop dnf #关掉 DNF 容器

docker start dnf #打开 DNF 容器

docker restart dnf #重启 DNF容器

X.问题排查

查看处理器架构命令(必须使用X86架构)

arch

https://docs.qq.com/doc/DUm5RbnVLU25OVkpa

1
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin
  3. QQ打赏

    qrcode qq

评论区