docker下编译mangoszero WOW60级服务端

Posted 程序猿的自留地

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker下编译mangoszero WOW60级服务端相关的知识,希望对你有一定的参考价值。

这几天看到暴雪准备开放怀旧服的新闻,突然想到几年前用大芒果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文件夹,重新进入游戏即可

以上是关于docker下编译mangoszero WOW60级服务端的主要内容,如果未能解决你的问题,请参考以下文章

如何在"特殊"的网络环境下编译 Docker

Docker环境下编译android源码|编译可运行xposed

技术分享|在Ubuntu下编译安装GreatSQL

配置Windows下编译运行C/C++过程

debian下编译安装poco

在VS2013下编译的C ++代码无法在VS2015下编译