这几天看到暴雪准备开放怀旧服的新闻,突然想到几年前用大芒果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 >& &

关闭:/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:
username:root
password:

3.按照汉化数据库SQL手动导入,建议导入之前检查一下或者做一下数据备份

4.后面我会提交一份汉化后的数据库镜像

5.数据库更新完成后,需要删除客户端cache/WDB文件夹,重新进入游戏即可

docker下编译mangoszero WOW60级服务端(一)的更多相关文章

  1. docker下编译mangoszero WOW60级服务端(二)

    开始搭建基于docker的mangoszero WOW服务端,我自己的操作系统是mac os,其他平台操作可以等价替换 1.准备工作 (1) 安装docker,参考docker官方文档,https:/ ...

  2. docker下编译mangoszero WOW60级服务端(三)

    开始构建WOW服务端通用镜像 第二篇文章中准备工作环节已经从github拉取了mangosd源代码,这里我们就可以直接开始编写dockerfile并进行编译 (1) 进入mangos/wow60/ma ...

  3. [UE4]如何编译部署独立专用服务端(Standalone Dedicated Server)

    这是论坛上对UE服务端功能的回答,意思是UE4提供了网游服务端所具备的特性,包括位移修正.物理碰撞检测.这些特性不是UE4才加入,早期UE版本就有了. https://answers.unrealen ...

  4. Centos下使用gitosis配置管理git服务端(转载)

    From:http://www.cnblogs.com/ahauzyy/archive/2013/04/08/3043384.html 说明:由于条件有限,我这里使用的是同一台centos的,但教程内 ...

  5. TCP下的套接字服务端实现并发 作业题

    # 服务端 import socket from threading import Thread """ 服务端 1.要有固定的IP和PORT 2.24小时不间断提供服务 ...

  6. 【修改端口号】linux下修改apache,nginx服务端口号

    一.linux下修改apache端口号 yum安装后,apache配置文件: /etc/httpd/conf/httpd.conf 找到apache目录下的 httpd.conf, 使用vi 打开,找 ...

  7. linux下修改apache,nginx服务端口号

    一.linux下修改apache端口号 yum安装后,apache配置文件: /etc/httpd/conf/httpd.conf 找到apache目录下的 httpd.conf, 使用vi 打开,找 ...

  8. ubuntu 14.04 下 安装samba 及SSH 服务端的方法

    之前说了 FTP服务器的搭建:http://www.cnblogs.com/bcsflilong/p/4200139.html 今天说一下samba 和ssh服务器的搭建. 先说samba 吧. 在u ...

  9. ubuntu下编译源码级QT

    注意必须好好看官方文档: http://qt-project.org/doc/qt-5/linux.html 包括编译Qt库依赖的包等等. 编译过程中发现以下错误: All the OpenGL fu ...

随机推荐

  1. SpringBoot初体验

    1.elipse中创建Springboot项目并启动 具体创建步骤请参考:Eclipse中创建新的Spring Boot项目 2.项目的属性配置 a.首先我们在项目的resources目录下appli ...

  2. FPGA在其他领域的应用(三)

    广播领域: 专业的A/V(音频/视频),和演播室行业正在经历着激动人心的变化,例如,UHD/8K (超高清)视频.多平台内容交付.IP网络传输和云计算.2016里约奥运会使用4K分辨率视频播放,而日本 ...

  3. C-图文上边对齐

    1.效果 1.1 样式设置 2 效果  2.1 样式

  4. Linux vi 退出&保存/不保存

    无论是否退出 vi,均可保存所做的工作.按 ESC 键,确定 vi 是否处于命令模式. 操作   键入 保存,但不退出vi                          :w 保存并退出vi    ...

  5. python之HTMLParser解析HTML文档

    HTMLParser是Python自带的模块,使用简单,能够很容易的实现HTML文件的分析.本文主要简单讲一下HTMLParser的用法. 使用时需要定义一个从类HTMLParser继承的类,重定义函 ...

  6. wxPython中按钮、文本控件的简单运用

    本节学习图形用户界面 ------------------------ 本节介绍如何创建python程序的图形用户界面(GUI),也就是那些带有按钮和文本框的窗口.这里介绍wxPython : 下载地 ...

  7. Linq常见操作示例

    static void DeferredQuery() { var names = new List<string> { "Nino", "Alberto&q ...

  8. C#利用String类的IndexOf、LastIndexOf、Substring截取字符串

    一.String.IndexOf String.IndexOf 方法 (Char, Int32, Int32)报告指定字符在此实例中的第一个匹配项的索引(从0开始).搜索从指定字符位置开始,并检查指定 ...

  9. win10 uwp 无法附加到CoreCLR

    本文说的是在vs调试无法附加到CoreCLR.拒绝访问.已经如何去解决,可能带有一定的主观性和局限性,说的东西可能不对或者不符合每个人的预期.如果觉得我有讲的不对的,就多多包含,或者直接关掉这篇文章, ...

  10. LINUX 笔记-VIM常用命令整理

    1.进入insert模式 o:当前行后 O:当前行前 r:替换当前字符 R:替换当前字符直到ESC 2.删除命令 #dw:删除#个word d^:删除至行尾 d$:删除至行首 3. u:撤消 ctrl ...