dnf架设吧 关注:439贴子:2,876
  • 10回复贴,共1

Docker架设DNF

只看楼主收藏回复

1.首先准备一台Linux机器,最好是服务器,因为服务器IP不会变,如果会从路由器设置电脑的固定IP,那也就无所谓了,服务器的优势主要就是大家不在一起也能一起玩游戏
2.这里我准备的是Centos 7,因为要安装docker,Centos 6以下的版本要升级内核,太麻烦了,所以我们选择Centos 7以上,Ubuntu系统可以选择16.04以上都是可以的,只要能成功安装docker,对了我选的是64位,大家最好都64位吧
3.服务器配置 1核2G1M带宽,很便宜的配置了,我在淘宝买的,注册一个新的腾讯云账号,淘宝买只要66一年,大家自行研究
4.安装docker,运行以下命令
先升级yum源
yum update -y
下载docker安装脚本
curl -fsSL https://get.docker.com -o get-docker.sh
运行安装docker的脚本
sudo sh get-docker.sh
启动docker
systemctl enable docker
systemctl start docker
5.关闭防火墙
systemctl disable firewalld
systemctl stop firewalld
systemctl disable firewalld.service
systemctl stop firewalld.service
6.关闭selinux
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
这个是关闭selinux的详细文档
https://jingyan.baidu.com/article/7e4409537177d32fc0e2efe9.html
最好永久关闭吧,然后重启服务器
7.创建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
8.判断docker是否安装成功
docker ps
出现以下结果就是成功了
[root@master data]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9.拉取镜像
docker pull 1995chen/dnf:85.1
10.启动
在根下创建一个文件夹
mkdir -p /data
启动
docker run -d -e IP=你的外网IP -v /data/root:/root -v /data/neople:/home/neople --net=host --privileged=true --memory=8g --oom-kill-disable --shm-size=8g 1995chen/dnf:85.1
11.判断是否出现5国
cd /data/neople/game/log/siroco11/
然后里面会有类似Log20201103.init的文件,我写这个帖子的时候刚好是11月03,所以大家自己对号入座
tail -f Log20201103.init
会出现下面结果
[04:05:01] - GuildLevelUp : 0
[04:05:01] - GuildSkillUp : 0
[04:05:01] - GuildBreak : 0
[04:05:01] - CreateCharacter : 0
[04:05:01] - LoginChannel : 0
[04:05:01] Mobile Auth End
[04:05:01] [!] Service Restrict List ...
[04:05:01] Security Restrict Begin
[04:05:01] - RestrictBegin : 1
[04:05:01] - DropRate : 0
[04:05:01] Security Restrict End
[04:05:01] GeoIP Allow Country Code : CN
[04:05:01] GeoIP Allow Country Code : HK
[04:05:01] GeoIP Allow Country Code : KR
[04:05:01] GeoIP Allow Country Code : MO
[04:05:01] GeoIP Allow Country Code : TW
[04:05:10] [!] Connect To Monitor Server ...
[04:05:10] [!] Connect To Guild Server ...
说明成功了
12.判断进程是否存在
ps -ef |grep df_
会出现下面结果
[root@master siroco11]# ps -ef |grep df_
root 12024 11918 0 11:37 ? 00:00:01 ./df_stun_r start
root 12089 11918 0 11:37 ? 00:01:12 ./df_community_r community start
root 12090 11918 36 11:37 ? 01:57:47 ./df_coserver_r coserver start
root 12091 11918 3 11:37 ? 00:10:42 ./df_statics_r stat_siroco start
root 12092 11918 0 11:37 ? 00:00:01 ./df_relay_r relay_200 start
root 12104 11918 6 11:37 ? 00:21:25 ./df_dbmw_r dbmw_mnt_siroco start
root 12105 11918 6 11:37 ? 00:21:24 ./df_dbmw_r dbmw_gld_siroco start
root 12106 11918 6 11:37 ? 00:21:25 ./df_manager_r manager start
root 12107 11918 3 11:37 ? 00:10:44 ./df_dbmw_r dbmw_stat_siroco start
root 12108 11918 6 11:37 ? 00:21:25 ./df_monitor_r mnt_siroco start
root 12109 11918 3 11:37 ? 00:10:49 ./df_channel_r channel start
root 12110 11918 6 11:37 ? 00:21:25 ./df_guild_r gld_siroco start
root 12111 11918 3 11:37 ? 00:11:27 ./df_bridge_r bridge start
root 12183 11934 6 11:38 ? 00:22:04 ./df_game_r siroco11 start
root 12212 11934 6 11:38 ? 00:22:03 ./df_game_r siroco52 start
root 30721 27899 0 16:57 pts/0 00:00:00 grep --color=auto df_
有df_game_r代表没毛病,老铁可以连接客户端登录了
13.服务挂了怎么启动
这个简单,先运行docker ps -a查看docker容器的id
[root@master siroco11]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f37360fd1c76 1995chen/dnf:85.1 "/bin/bash /docker-e…" 6 hours ago Up 5 hours suspicious_spence
[root@master siroco11]#
在这里f37360fd1c76就是容器的id,我们只需要运行
docker restart f37360fd1c76就可以了
14.电脑IP变了怎么办
这真是个伤心的事,因为如果你需要连接mysql,把d_taiwan数据库下的db_connect 表里的db_ip字段全部改成正确的ip才行,但这个肯定是不够的,你还需要运行下面命令
sed -i "s/你上次指定的IP/你这次的IP/g" `find /data/neople -type f -name "*.cfg"`
sed -i "s/你上次指定的IP/你这次的IP/g" `find /data/neople -type f -name "*.tbl"`
很难受吧,所以大家路由器啥的配置好,IP最好不要变。
15.我是Windows电脑怎么办
真的很抱歉,docker在windows下不能开启宿主机网络host模式,浪费了很多时间看这个文档,话说我为啥不把这个放在最前面,,,,windows还是用虚拟机吧,那也更快,更方便。祝大家游戏愉快
16.别问我为啥还有第16条
我们用的网关是DnfGateServer,没错,就是大家最常用的那款登录器。主要是用那个统一网关管理器生成登录器。配置都在/data下的root目录里,里面有Config.ini有网关的所有配置。如果是在不会这个就不要找我啦,因为真的比较复杂,前人积累的东西太多,不是一天两天能讲完的,是在不行就私信我吧,我直接发你们一个客户端,和我一起玩吧,买一个服务器就架设这个服务,整个区没人,我也希望有更多的人在里面完,PK!去实现那些曾经未曾做的事。
17.后续会放出客户端的地址供大家下载


IP属地:上海1楼2020-11-03 18:11回复
    卧槽 用docker假设, 你也是够优秀了 , 但是等级补丁和pvf更新是不是有点麻烦啊 , 吧等级补丁和 pvf挂载到宿主机会不会更好啊 , 大佬?


    IP属地:湖北2楼2020-12-09 12:20
    收起回复
      启动后mysql没有启动,找不到mysql进程该如何处理?


      IP属地:福建4楼2021-02-01 09:41
      收起回复
        楼主可以帮忙搭建一个吗?


        IP属地:广东5楼2022-01-07 05:06
        回复
          牛逼!~


          IP属地:广东6楼2024-10-30 19:26
          回复
            似乎docker链接失效了


            IP属地:广东7楼2024-10-30 19:28
            回复