作为一个怀旧党,博主继承了巨蟹座的所有属性:宅(恋家)和怀旧。其实八零后的小伙伴们多多少少都有一些怀旧小情节,特别是大学的时光,总让人难以忘怀,翘课、恋爱、泡吧。。。每当想起大学的时光,就想起了和舍友们一起打魔兽世界的情景。那时的魔兽世界60级封顶,插件还不完善,对艾泽拉斯世界完全陌生的我们只能看着NPC对话做任务,地图全靠腿一点点探,在摸索的道路上也收获了很多友谊,大家都是那么的单纯、互助、陶醉。后来陆续开放的:TBC、大灾变、熊猫人等资料片版本,种族、职业、专业、技能也多了很多,玩法虽多了,但那种简单快乐的感觉已经没有了。
直到今天,可以说没有任何一款游戏可以取代魔兽世界(60年代)在博主心中的地位。暴雪似乎也明白玩家们的心思,开放了60和70的怀旧服,但博主认为这只是昙花一现。首先,老玩家们年龄集中在80后,现在都已拖家带口,每天参加工会活动是不可能的,而坑爹的月卡更是让人倒胃口。不如自己架个私服,约几个当年的小伙伴一起玩玩,重温经典,岂不美哉!
啰嗦了这么多,下面博主就来介绍一下魔兽世界Docker私服的搭建方法,之所以选择Docker,是因为它部署方便,X86架构的Linux就能跑,节省了NAS宝贵的硬件资源。
前期准备
服务器:X86架构,64位CPU,1G以上内存,Linux系统,博主用的是群晖,图形化省心省力(人懒)。
公网IP:这个无解,想多人一起嗨的话是必须,打电话给运营商要(移动和长城就别想了),实在要不到搞内网穿透。
开工
安装Docker
curl -fsSL https://get.docker.com -o get-docker.sh sh get-docker.sh --mirror Aliyun
拉Docker镜像
docker pull solipsist01/mangoszero
下载1.12.1 (5875)中文版客户端(5个多GB太大了,博客传不了,只能自己找了),解压(此处以/data/mangos/wow目录为例)
创建Docker容器(可参照容器说明)
端口:80(账户管理页面)8085(游戏服务)3724(登录认证)3443(远程管理)
两个IP地址填你的外网IP或者域名(别忘了在路由器上做端口映射)
“/data/mangos/wow”是刚才解压的客户端目录
“/data/mangos/config”是配置文件目录,创建一个,容器启动以后生成的配置文件都会自动保存在里面。
其余不变
docker run \ --name=mangos \ -d \ -p 80:80 \ -p 8085:8085 \ -p 3724:3724 \ -p 3443:3443 \ -e PUID=0 -e PGID=0 \ -e WAN_IP_ADDRESS=192.168.1.210 \ -e DOCKER_HOST_IP=192.168.1.210 \ -e MYSQL_ROOT_PASSWORD=mangos \ -e TZ=Asia/Shanghai \ -v /data/mangos/wow:/wow \ -v /data/mangos/config:/config \ --restart always \ solipsist01/mangoszero
进入容器
docker exec -it mangos /bin/sh
初始化数据库(两个自动脚本,先安装后升级)
/install/InstallDatabases.sh /install/UpdateDatabases.sh
初始化地图(自动脚本,从刚才解压的客户端里抓取地图文件,最终会存储在/data/mangos/config/wowfiles目录下,过程较慢耐心等待。。。)
/install/InstallWowfiles.sh
修改配置文件(此时/data/config/wowconfig目录下已生成三个文件console.conf、mangosd.conf、realmd.conf)
“console.conf”和“mangosd.conf”这两个分别是调试服务配置文件和游戏服务配置文件。
首先调整两个配置文件中的日志输出级别(0代表最小输出),否则大量的无用日志会导致命令输入困难和磁盘爆满。
LogLevel = 0 LogFileLevel = 0
重启容器
docker restart mangos
创建游戏账号(可以浏览器访问80端口的账号管理页面来初始化游戏账号管理平台并创建账号,跟着提示走就行。这里博主介绍一下命令行管理方式)
进入容器并启动调试模式
docker exec -it mangos /mangos/mangosd -c /config/wowconfig/console.conf
创建账号及密码(usernane写自己的账号名称,userpassword写明文密码)
account create username userpassword
提升账号权限(3为GM权限,这里建议创建两个账号,一个GM账号一个普通账号,普通账号用来玩游戏,无需运行此命令提权)
account set gmlevel usernane 3
到此为止一个纯净的原汁原味的60年代私服就建好了,接下来要做的就是用客户端登录开始游戏了。
将刚才解压的1.12.1客户端文件夹wow从服务器拷贝到玩游戏的电脑上,修改游戏客户端目录下的文件“realmlist.wtf”,将后面的地址改为你服务器的公网IP或域名。
set realmlist 192.168.1.210
下载插件(大脚1.12.1)解压至游戏客户端目录,接下来运行游戏登入刚才创建好的账号畅游艾泽拉斯世界吧。
来,和联盟的英雄们合个影。
补充
有人可能会发现游戏内的文字一部分是中文一部分是英文,这是因为客户端是中文版,所以除了菜单按钮以外,其它任务文字、NPC对话、物品名称属性等都是英文,谁让这Docker镜像是歪果仁开发的呢。这里需要通过汉化数据库来解决。博主将自己搞好的导出成SQL脚本给大家,可能存在汉化不完全或者错误现象,各位如果找到更好的汉化SQL脚本请告知博主上传,造福大家嘛。
下载数据库脚本“locales.sql”到“/data/mangos/config”目录
进入容器
docker exec -it mangos /bin/sh
登入MySQL数据库(用户名root密码mangos)
mysql -uroot -pmangos
切换到mangos0库,导入SQL脚本。
use mangos0; source /config/locales.sql;
还有,前文提到的“mangosd.conf”配置文件除了日志属性和服务器属性外还有大量的游戏属性可供修改,如初始等级、经验倍数、技能点数、掉落几率、怪物属性。。。等等,每项配置都附有详细的注释说明,由于配置项目太多博主就不一一解释了,英文差的可以到国内的大芒果论坛找中文注释、GM命令、装备代码等。
祝各位WOWer玩的开心!
参考
60年代数据库:http://cn.60wdb.com/
大芒果论坛:http://www.mangoscn.com/
大芒果标准配置:http://www.mangoscn.com/archiver/?tid-21317.html
Windows平台香草私服:https://www.ac-web.org/forums/showthread.php?230227-Light-s-Hope-Vanilla-Repack
猎人百科全书:http://www.nfuwow.com/strategy/detail/artid/824.html
吴理魔兽四格漫画:https://www.u17.com/comic/2832.html
请问能提供下详细教程吗?这些Docker命令在哪里执行?群晖的Docker应该怎么样的步骤操作。客户端应该解压在群晖的哪里?谢谢!