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文件夹,重新进入游戏即可

时间: 2024-09-30 17:07:32

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

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

开始搭建基于docker的mangoszero WOW服务端,我自己的操作系统是mac os,其他平台操作可以等价替换 1.准备工作 (1) 安装docker,参考docker官方文档,https://www.docker.com,有各种平台的安装教程,mac下可以直接 brew install caskroom/cask/docker (2) 拉取docker官方centos镜像,可使用阿里云hub,https://dev.aliyun.com/detail.html?spm=5176.197

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

一.linux下修改apache端口号 yum安装后,apache配置文件: /etc/httpd/conf/httpd.conf 找到apache目录下的 httpd.conf, 使用vi 打开,找到 port=80 这一行, 把80改成在此服务器上没有用到的端口号,保存退出. 二.linux下修改nginx端口号 yum安装后,nginx配置文件路径:/nginx/nginx-1.8.0/conf/nginx.conf 把80改成在此服务器上没有用到的端口号

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

之前说了 FTP服务器的搭建:http://www.cnblogs.com/bcsflilong/p/4200139.html 今天说一下samba 和ssh服务器的搭建. 先说samba 吧. 在ubuntu14.04 版本中安装有两中方式! 简单粗暴的apt-get 1 sudo apt-get install samba 或者在任意文件夹上点击右键,出现右键菜单,之后点击[本地网络共享],如图: 之后勾选 共享此目录,系统就会弹出提示你安装必须的软件包.建议采用这种方式安装! 安装完成之后

c++ 网络编程(四)TCP/IP LINUX/windows下 socket 基于I/O复用的服务器端代码 解决多进程服务端创建进程资源浪费问题

原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/9613861.html 好了,继上一篇说到多进程服务端也是有缺点的,每创建一个进程就代表大量的运算与内存空间占用,相互进程数据交换也很麻烦. 本章的I/O模型就是可以解决这个问题的其中一种模型...废话不多说进入主题-- I/O复用技术主要就是select函数的使用. 一.I/O复用预备知识--select()函数用法与作用 select()用来确定一个或多个套接字的状态(更为本质一点来讲是文

docker下的Jenkins安装和体验【转】

作为一款优秀的持续集成工具,jenkins在日常的项目中经常会用到,本次实战我们在docker下快速搭建一个Jenkins服务,并体验其项目构建能力: 实战环境 windows.mac.linux等系统,只要装了docker服务都可以作为实战环境,我用的是ubuntu16,安装的docker版本是:17.03.2-ce: 准备文件映射路径 jenkins的容器启动后,重要的文件我们希望能保存在当前电脑,否则容器被损坏或者删除后就找不回这些文件了,因此要在当前电脑上准备一个目录作为文件映射,注意文

nagios4.1.1 服务端及监控端部署(一)

前言: 在职场中,运维的规则就是不允许没有监控的业务上线,理想很完善,现实不如愿,很多公司都是在业务上线前还没有做好监控服务-- 而作为监控服务,我的原则则是简单够用即可,这里的简单是配置起来简单,维护起来也简单,够用是能够满足业务监控的需求即可 nagios3版本和pnp的兼容性要好于nagios4和pnp的兼容性,那为什么这里又要使用nagios4的版本呢?原因很简单,我个人毛病,上一家公司部署的是nagios3版本的监控,配置pnp出图的时候就花了很多时间,当时将问题搞定,后来又想部署个n

Service系统服务(六):rsync基本用法、rsync+SSH同步、配置rsync服务端、访问rsync共享资源、使用inotifywait工具、配置Web镜像同步、配置并验证Split分离解析

一.rsync基本用法 目标: 本例要求掌握远程同步的基本操作,使用rsync命令完成下列任务: 1> 将目录 /boot 同步到目录 /todir 下   2> 将目录 /boot 下的文档同步到目录 /todir 下   3> 在目录 /boot 下新增文件 a.txt,删除 /todir 下的子目录 grub2,再次同步使 /todir 与 /boot 一致   4> 验证 -a.-n.-v.--delete 选项的含义 方案: 本地同步操作: rsync [选项...] 本

PHP的socket连接到服务端模版

在整理新框架的时候,发现对于一些缓存数据,需要对外的接口访问,而比较方便的是php的接口,所以临时研究了下php如何连接java服务端. 先贴上代码: <?php require_once 'CRC16.php'; /*----------------------------- | 向服务器发送数据包 ------------------------------*/ classServer{ //发送数据包 publicstaticfunction sendPacket($packet, $ho

微信js-sdk,选择图片,上传,下载到本地,php服务端

//前端js代码<script> //客户端6.0.2 wx.config({ //debug:true, appId: "{pigcms:$signPackage.appId}", timestamp: {pigcms:$signPackage.timestamp}, nonceStr: '{pigcms:$signPackage.nonceStr}', signature: '{pigcms:$signPackage.signature}', url : '{pigcm