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

  1. version: "2"
  2. services:
  3. wow60-database:
  4. image: registry.cn-shenzhen.aliyuncs.com/olivercj/wow60-database:0.1
  5. container_name: wow60-database
  6. command:
  7. - /run.sh
  8. ports:
  9. - 3306:3306/tcp
  10. networks:
  11. - wow60-net
  12. wow60-realmd:
  13. image: registry.cn-shenzhen.aliyuncs.com/olivercj/wow60-realmd:0.2
  14. command:
  15. - /data/run.sh
  16. ports:
  17. - 3724:3724/tcp
  18. depends_on:
  19. - wow60-database
  20. networks:
  21. - wow60-net
  22. wow60-world-0:
  23. image: registry.cn-shenzhen.aliyuncs.com/olivercj/wow60-world:0.2
  24. command:
  25. - /data/run.sh
  26. ports:
  27. - 8085:8085/tcp
  28. depends_on:
  29. - wow60-realmd
  30. networks:
  31. - wow60-net
  32.  
  33. networks:
  34. wow60-net:
  35. external: true

3.创建网络

  1. docker network create wow60-net

4.启动

  1. docker-compose -f docker-composer.yml up -d

5.完成

6.注意

1).wow60-world容器中的世界服务很大几率自动启动失败,需要手动启动

  1. 启动: nohup /data/mangos/bin/mangosd -c /data/mangos/etc/mangosd.conf >/data/nohup.log >& &
  2.  
  3. 关闭:/data/mangos/bin/mangosd -s stop

2).wow60-database镜像建议依赖此镜像再重新build一个镜像,避免数据丢失

3).如果想要搭建多个世界服务器,我将在后面搭建过程中进行说明。

4).验证服务器一般情况一台就够了,可以支持多个世界服务

5).镜像基于centos制作,可启动容器后,登入容器进行操作

  1. docker exec -it container_name /bin/bash

6).如果对镜像有修改,可保存修改

  1. 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,则直接改成

  1. 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.启动容器后,用数据库管理软件进入容器数据库,默认账号信息如下:

  1. host:127.0.0.1
  2. port:
  3. username:root
  4. 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. javascript中DOM集锦(二)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  2. 实例化vue之前赋值html元素导致事件失效

    先实例化Vue对象,再操作其他对象,Vue对象声明时会渲染html容器内的所有元素, 会导致元素事件失效或dom元素重新创建,所以涉及html元素的对象都要在实例化Vue之后执行. 下面是简要的例子, ...

  3. python之串口操作

    1.安装pyserial linux上直接安装: #python2 sudo pip install pyserial #或者python3 sudo pip3 install pyserial Wi ...

  4. java web jsp学习笔记--概述-常用语法,指令,动作元素,隐式对象,域对象

     JSP学习笔记 1.什么是jsp JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术.JSP/Servlet规范.JS ...

  5. Java web 入门知识 及HTTP协议详解

     Java  web  入门知识 及HTTP协议详解 WEB入门 WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. Internet上供外界访问的Web资 ...

  6. Java面向对象 集合(中)

     Java面向对象 集合(中) 知识概要:                   (1)泛型的体系概念 (2)泛型的特点 (3)自定义泛型类 泛型的体系概念           泛型:JDK1.5版 ...

  7. [js高手之路]封装运动框架实战左右与上下滑动的焦点轮播图

    在这篇文章[js高手之路]打造通用的匀速运动框架中,封装了一个匀速运动框架,我们在这个框架的基础之上,加上缓冲运动效果,然后用运动框架来做幻灯片(上下,左右),效果如下: 1 2 3 4 5 // 0 ...

  8. PHP windowns安装扩展包

    1.  php_msgpack.dll php.ini 添加  extension=php_msgpack.dll 下载dll: http://pecl.php.net/package/msgpack ...

  9. 【JAVA零基础入门系列】Day10 Java中的数组

    什么是数组?顾名思义,就是数据的组合,把一些相同类型的数放到一组里去. 那为什么要用数组呢?比如需要统计全班同学的成绩的时候,如果给班上50个同学的成绩信息都命名一个变量进行存储,显然不方便,而且在做 ...

  10. 使用EF对已存在的数据库进行模块化数据迁移

    注:本文面向的是已经对EF的迁移功能有所了解,知道如何在控制台下进行相关命令输入的读者 问题 最近公司项目架构使用ABP进行整改,顺带想用EF的自动迁移代替了以前的手工脚本. 为什么要替代? 请看下图 ...