这几天看到暴雪准备开放怀旧服的新闻,突然想到几年前用大芒果window一键服务端自己搭建过服务,就想着在Linux环境下重新编译一套,毕竟Linux作为服务端,性能和稳定性都会高一些,于是在mac虚拟机中安了个centos7,按照官方文档搞了一套。
虚拟中搭建完成之后,想着不如在docker中做几个镜像,到时一键启动就可以搭建完成一套服务端,多么轻松。
经过几天的努力,完成了60级镜像和70级镜像的制作,由于镜像有些大,目前只把60级镜像推送到了阿里云,有兴趣的朋友可以pull下来玩玩,当然客户端需要自己准备了,下面给出镜像地址和操作说明,后面再针对此次搭建过程作一些记录。
60级验证服务器镜像:https://dev.aliyun.com/detail.html?spm=5176.1972343.2.2.otKSdx&repoId=86540
60级世界服务器镜像:https://dev.aliyun.com/detail.html?spm=5176.1972343.2.6.otKSdx&repoId=86588
60级数据库镜像:https://dev.aliyun.com/detail.html?spm=5176.1972343.2.18.otKSdx&repoId=86688
说明:
1.拉取镜像。
2.编写docker-compose.yml
version: "2" services: wow60-database: image: registry.cn-shenzhen.aliyuncs.com/olivercj/wow60-database:0.1 container_name: wow60-database command: - /run.sh ports: - 3306:3306/tcp networks: - wow60-net wow60-realmd: image: registry.cn-shenzhen.aliyuncs.com/olivercj/wow60-realmd:0.2 command: - /data/run.sh ports: - 3724:3724/tcp depends_on: - wow60-database networks: - wow60-net wow60-world-0: image: registry.cn-shenzhen.aliyuncs.com/olivercj/wow60-world:0.2 command: - /data/run.sh ports: - 8085:8085/tcp depends_on: - wow60-realmd networks: - wow60-net networks: wow60-net: external: true
3.创建网络
docker network create wow60-net
4.启动
docker-compose -f docker-composer.yml up -d
5.完成
6.注意
1).wow60-world容器中的世界服务很大几率自动启动失败,需要手动启动
启动: nohup /data/mangos/bin/mangosd -c /data/mangos/etc/mangosd.conf >/data/nohup.log 2>&1 & 关闭:/data/mangos/bin/mangosd -s stop
2).wow60-database镜像建议依赖此镜像再重新build一个镜像,避免数据丢失
3).如果想要搭建多个世界服务器,我将在后面搭建过程中进行说明。
4).验证服务器一般情况一台就够了,可以支持多个世界服务
5).镜像基于centos制作,可启动容器后,登入容器进行操作
docker exec -it container_name /bin/bash
6).如果对镜像有修改,可保存修改
docker commit container_name image_name:image_version
客户端说明:
1. 60级客户端下载地址:http://www.nfuwow.com/Simple/detail/artid/75.html,基本上1.12.1的客户端都通用,建议下载中文纯净版
2. 修改realmlist.wtf,如果是本机docker,则直接改成
Set realmlist 127.0.0.1
3. 删除WTF文件夹
4.点击WOW.EXE进入游戏
汉化说明:
1.汉化数据库:https://github.com/keyshuwen/wow_db_chinese/tree/DB-Zero(1.12.3)
2.启动容器后,用数据库管理软件进入容器数据库,默认账号信息如下:
host:127.0.0.1 port:3306 username:root password:123456
3.按照汉化数据库SQL手动导入,建议导入之前检查一下或者做一下数据备份
4.后面我会提交一份汉化后的数据库镜像
5.数据库更新完成后,需要删除客户端cache/WDB文件夹,重新进入游戏即可