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 >& & 关闭:/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级服务端(一)的更多相关文章
- docker下编译mangoszero WOW60级服务端(二)
开始搭建基于docker的mangoszero WOW服务端,我自己的操作系统是mac os,其他平台操作可以等价替换 1.准备工作 (1) 安装docker,参考docker官方文档,https:/ ...
- docker下编译mangoszero WOW60级服务端(三)
开始构建WOW服务端通用镜像 第二篇文章中准备工作环节已经从github拉取了mangosd源代码,这里我们就可以直接开始编写dockerfile并进行编译 (1) 进入mangos/wow60/ma ...
- [UE4]如何编译部署独立专用服务端(Standalone Dedicated Server)
这是论坛上对UE服务端功能的回答,意思是UE4提供了网游服务端所具备的特性,包括位移修正.物理碰撞检测.这些特性不是UE4才加入,早期UE版本就有了. https://answers.unrealen ...
- Centos下使用gitosis配置管理git服务端(转载)
From:http://www.cnblogs.com/ahauzyy/archive/2013/04/08/3043384.html 说明:由于条件有限,我这里使用的是同一台centos的,但教程内 ...
- TCP下的套接字服务端实现并发 作业题
# 服务端 import socket from threading import Thread """ 服务端 1.要有固定的IP和PORT 2.24小时不间断提供服务 ...
- 【修改端口号】linux下修改apache,nginx服务端口号
一.linux下修改apache端口号 yum安装后,apache配置文件: /etc/httpd/conf/httpd.conf 找到apache目录下的 httpd.conf, 使用vi 打开,找 ...
- linux下修改apache,nginx服务端口号
一.linux下修改apache端口号 yum安装后,apache配置文件: /etc/httpd/conf/httpd.conf 找到apache目录下的 httpd.conf, 使用vi 打开,找 ...
- ubuntu 14.04 下 安装samba 及SSH 服务端的方法
之前说了 FTP服务器的搭建:http://www.cnblogs.com/bcsflilong/p/4200139.html 今天说一下samba 和ssh服务器的搭建. 先说samba 吧. 在u ...
- ubuntu下编译源码级QT
注意必须好好看官方文档: http://qt-project.org/doc/qt-5/linux.html 包括编译Qt库依赖的包等等. 编译过程中发现以下错误: All the OpenGL fu ...
随机推荐
- Python协程深入理解
从语法上来看,协程和生成器类似,都是定义体中包含yield关键字的函数.yield在协程中的用法: 在协程中yield通常出现在表达式的右边,例如:datum = yield,可以产出值,也可以不产出 ...
- PHP和JS判断变量是否定义
PHP中: 通过isset(变量名)来判断,定义返回true/未定义返回false JS中: 通过typeof来判断.
- JavaWeb(五)之JSTL标签库
前言 前面介绍了EL表达式,其实EL表达式基本上是和JSTL核心标签库搭配一起使用才能发挥效果的.接下来让我们一起来认识一下吧! 在之前我们学过在JSP页面上为了不使用脚本,所以我们有了JSP内置的行 ...
- java关键字中文对比
abstract 摘要|抽象assert 声称boolean 布尔break 中断byte 字节case 实例catch 捕捉char 烧焦class 类const 常量continue 持续defa ...
- Java+Velocity模板引擎集成插件到Eclipse及使用例子
一.因为我用的是当前最新的Eclipse4.5,Eclipse中安装集成VelocityEclipse插件之前需要先安装其支持插件:Eclipse 2.0 Style Plugin Support 1 ...
- Java 中静态方法 实例方法 具体方法区别与联系
在查阅JDK文档时,经常会看到某个类的方法汇总,一般会以如下的格式列出来: 这几个标签对应的方法类型分别是什么意思呢? 1. Static Method,静态方法,可以在不创建类实例的情况下,访问 ...
- hdu5696 区间的价值
区间的价值 我们定义"区间的价值"为一段区间的最大值*最小值. 一个区间左端点在L,右端点在R,那么该区间的长度为(R-L+1). 现在聪明的杰西想要知道,对于长度为k的区间,最大 ...
- java内部类demo
内部类主要有三种:静态内部类,实例内部类,局部变量内部类 1.静态内部类,该类被static修饰,并且是成员变量,它只能访问外部类被static修饰的方法以及字段(这种说法只局限于不再内部类中创建外部 ...
- stringstream缓存正确清除方法
当需要清空stringsteam缓存的时候,到底是.str("")呢还是.clear(); 实际上,我认为,保守起见,两者都需要 clear() 是清除 state flag st ...
- lintcode 132 模式
题目要求 给你一个 n 个整数的序列 a1,a2,...,an,一个 132 模式是对于一个子串 ai,aj,ak,满足 i < j < k 和 ai < ak < aj.设计 ...