2、Linux下编译并搭建AzerothCore服务端
目录
- 一、VM虚拟机
- 1 - 初始化虚拟机
- 2 - 安装ubuntu-20.04-desktop-amd64
- 3 - 系统设置
- 4 - root用户设置
- 5 - 查看ip地址
- 二、编码源码
- 1 - Ubuntu with MySQL 8.x
- 2 - 拉取源码
- 3 - CMake编译
- 三、提取客户端资源
- 1 - 共享目录设置
- 2 - 提取客户端数据
- 3 - 配置修改
- 四、启动服务端
- 1 - 刷入建表sql
- 2 - 启动服务端
- 3 - 添加账号
- 4 - 修改服务器的ip地址
- 5 - 客户端登入
一、VM虚拟机
1 - 初始化虚拟机
- ①.典型安装
- ②.稍后安装系统
- ③.Linux,Ubutun 64 位
- ④.大小350G(将虚拟磁盘存储为单个文件)
- ⑤.内存16384,处理器数量8,内核数量1
- ⑥.使用DVD,指定Ubutun目录
- ⑦.网络-桥接模式
2 - 安装ubuntu-20.04-desktop-amd64
- 启动虚拟机
- ①.中文简体-安装Ubutun
- ②.chinese-chinese
- ③.最小安装-安装Ubutun时下载更新
- ④.清除整个磁盘并安装Ubutun -> 现在安装 -> 分区 -> 继续
- ⑤.shanghai -> 继续
- ⑥.名称U1(自定义即可) -> 登录需要密码 -> 继续
- ⑦.等待安装完成 -> 点击 -> 现在重启
3 - 系统设置
- 启动后选项设置:
- 连接你的在线账号 -> 跳过 -> 前进
- 不发送系统消息 -> 前进
- 隐私 -> 前进
- 准备就绪,开始用吧 -> 完成
- 为了保证服务端的正常运行,我们需要对系统进行一些设置
- 设置-隐私-锁屏-熄屏延时 -> 从不 -> 自动锁屏、挂起时锁定屏幕、在锁定屏幕上显示通知 -> 关闭
- 设置-声音-静音
4 - root用户设置
- root用户设置
sudo passwd root
,输入当前用户密码,root密码,root确认密码su root
,输入密码后切换到root用户“root@u1-virtual-machine:/home/u1# ”
5 - 查看ip地址
- 查看Ubuntu的ip地址:
ifconfig
- 如果提示未找到就安装下:
sudo apt install net-tools
- 如果提示未找到就安装下:
二、编码源码
1 - Ubuntu with MySQL 8.x
- 切换到root用户
- 安装相关的依赖:
sudo apt-get update && sudo apt-get install git cmake make gcc g++ clang libmysqlclient-dev libssl-dev libbz2-dev libreadline-dev libncurses-dev mysql-server libboost-all-dev
- 耐心等待安装,碰到询问是否安装的输入Y回车继续
- 检查clang版本:
clang --version
- 检查cmake版本:
cmake --version
- 安装gcc-8:
sudo apt-get install g++-8 gcc-8
2 - 拉取源码
- 两种方式获取源码
- git clone方式:
git clone https://github.com/azerothcore/azerothcore-wotlk.git --branch master --single-branch azerothcore
- 提前下载好源码(推荐,这样如果以后版本升级到3.3.5以上不会导致版本不匹配),然后将源码拷贝进ubutun
- ①.新建目录:
mkdir azerothcore
- ②.修改目录权限:
chmod 777 azerothcore/
- ③.拷贝对应源码到azerothcore
- ④.完成需要对整个目录进行权限修改:
chmod -R 777 azerothcore/
- ⑤.azerothcore下新建build目录:
cd azerothcore
、mkdir build
、chmod -R 777 build
、cd build
- ①.新建目录:
- git clone方式:
3 - CMake编译
设置CMake的编译选项:这里如果不是选择git clone的方式拉取的源码,就需要添加一个参数
-DWITHOUT_GIT=1
,这个与官方的有差别cmake ../ -DCMAKE_INSTALL_PREFIX=$HOME/azeroth-server/ -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DWITH_WARNINGS=1 -DWITHOUT_GIT=1 -DTOOLS_BUILD=all -DSCRIPTS=static -DMODULES=static
查看可支持的核心数:
nproc --all
开始编译:这里的6不要超过上面支持的核心数即可,这里需要一些漫长的等待时间。。。
make -j 6
安装server:
make install
- 安装完成后会在同级目录生成一个目录:azeroth-server
- 安装完成后会在同级目录生成一个目录:azeroth-server
三、提取客户端资源
1 - 共享目录设置
- 虚拟机设置共享目录:
- ①.虚拟机 -> 设置 -> 硬盘 -> 选项 -> 共享文件夹 -> 总是启用 -> 添加
- ②.指定本地目录即可(Linux的文件夹名字最好不要有空格)
- ③.对应Ubuntu的路径地址为:/mnt/hgfs/wow335a
2 - 提取客户端数据
- 复制server/bin下4个文件到client中:map_extractor、mmaps_generator、vmap4_assembler、vmap4_extractor
cp /home/u1/azeroth-server/bin/map_extractor /mnt/hgfs/wow335a/
cp /home/u1/azeroth-server/bin/mmaps_generator /mnt/hgfs/wow335a/
cp /home/u1/azeroth-server/bin/vmap4_assembler /mnt/hgfs/wow335a/
cp /home/u1/azeroth-server/bin/vmap4_extractor /mnt/hgfs/wow335a/
- 客户端目录下依次执行提取命令:时间比较久,耐心等待
./map_extractor
./vmap4_extractor
mkdir vmaps
、./vmap4_assembler Buildings vmaps
mkdir mmaps
、./mmaps_generator
- 将提取的内容拷贝到server
- azeroth-server下新建data目录
- 拷贝dbc, maps, vmaps and mmaps到azeroth-server的data目录下(也可以直接移动不用复制)
cp -r dbc maps vmaps mmaps /home/u1/azeroth-server/data/
3 - 配置修改
- 修改azeroth-server/etc的文件后缀
- authserver.conf.dist -> 修改为 -> authserver.conf
- worldserver.conf.dist -> 修改为 -> worldserver.conf
- 查看mysql的用户和密码:
sudo cat /etc/mysql/debian.cnf
,记录下user和password后面修改需要用到
- authserver.conf修改数据库密码:打开搜索
LoginDatabaseInfo
,将密码修改为之前查询的mysql用户和密码
- worldserver.conf修改数据库密码:打开搜索
LoginDatabaseInfo
,将密码修改为之前查询的mysql用户和密码
- worldserver.conf修改DataDir:搜索datadir,修改为"…/data",也可以使用绝对路径"/home/u1/azeroth-server/data"
四、启动服务端
1 - 刷入建表sql
- 建表语句路径:/home/u1/azerothcore/data/sql/create/create_mysql.sql
- 输入建表语句
- 打开mysql:
sudo mysql
- 刷入建表sql:
source /home/u1/azerothcore/data/sql/create/create_mysql.sql
- 退出mysql:
quit
- 打开mysql:
2 - 启动服务端
- 开启新终端并启动authserver
- 打开新终端并进入目录:
cd /home/u1/azeroth-server/bin/
- 启动auth服务:
./authserver
- 打开新终端并进入目录:
- 开启新终端并启动worldserver
- 打开新终端并进入目录:
cd /home/u1/azeroth-server/bin/
- 启动auth服务:
./worldserver
,如果提示权限不足,就使用sudo ./worldserver
,第一次启动会比较久
- 打开新终端并进入目录:
3 - 添加账号
- 添加账号:worldserver启动完毕后,回车就可以看到
AC>
- 输入
account create admin 123456
添加账号 - 添加admin为gm权限
account set gmlevel 3 -1
-> 3代表为最高的gm权限,-1代表是所有服务器
- 输入
4 - 修改服务器的ip地址
- 修改服务器的ip地址和服务器名
sudo mysql
use acore_auth;
UPDATE realmlist SET name = '我的世界' , address = '192.168.124.53' WHERE id = 1;
-> 这里的ip地址使用ifconfig查询出来的地址- 修改服务器ip地址后,需要重启authserver和worldserver
5 - 客户端登入
- 打开games\wow335a\Data\zhCN\realmlist.wtf:修改ip地址为刚才数据库配置的服务器ip地址
set realmlist 192.168.124.53
- 启动客户端的wow.exe:至此搭建完成
2、Linux下编译并搭建AzerothCore服务端相关推荐
- 1、Windows下编译并搭建AzerothCore服务端
目录 前言 一.AzerothCore下载 二.mysql安装 三.boost安装 四.OpenSSL安装 五.CMake下载 六.CMake编译 1 - CMake生成vs项目 2 - vs项目设置 ...
- NB-IoT使用笔记(3)在linux下使用python搭建UDP服务
背景 NB-IoT可以通过UDP服务访问NB卡绑定的IP地址.关于绑定,目前因为NB-IoT出来时间不长,能绑定几个IP地址以及绑定的IP能否更改一直是一个谜一样的问题,我从不同的客服那里了解的信息还 ...
- docker下编译mangoszero WOW60级服务端(二)
开始搭建基于docker的mangoszero WOW服务端,我自己的操作系统是mac os,其他平台操作可以等价替换 1.准备工作 (1) 安装docker,参考docker官方文档,https:/ ...
- C++网络编程快速入门(二):Linux下使用select演示简单服务端程序
目录 select参数解释 select使用规范 select使用缺点 基本流程 实例代码 通信效果演示 往期文章 select参数解释 extern int select (int __nfds, ...
- docker下编译mangoszero WOW60级服务端(三)
开始构建WOW服务端通用镜像 第二篇文章中准备工作环节已经从github拉取了mangosd源代码,这里我们就可以直接开始编写dockerfile并进行编译 (1) 进入mangos/wow60/ma ...
- Linux下客户端主动Close,服务端阻塞的read函数不会马上返回
今天在做一个socket通信的时侯,发现close后,阻塞的read函数并没有马上返回,导致后面的时序出现问题,具体情况如下: 服务端与客户端正常建立通信,都采用阻塞模式.当客户端close后,服务端 ...
- linux搭建直播步骤,Linux 下 nginx + rtmp 搭建直播服务
简单粗暴直接上步骤吧: 注 : 以下示例使用的是nginx(版本1.15.3) rtmp(版本1.2.1) 下载nginx和rtmp模块 下载nginx 解压 tar xvf nginx-1.15 ...
- Linux下golang的编译,golang Linux下编译环境搭建
1.下载golang1.4和1.10源码(1.4以后的版本都用1.4go编译安装,所以先安装1.4) 2.解压后我的目录结构是: /opt/xxx/golang |-------gopath ...
- linux下编译mangos,Linux下MANGOS服务端自动重启Shell启动脚本
下面是一个Linux下支持的一个启动服务端的Shell代码.可以实现服务端当机后自动重新启动. 同时可以支持LINUX下用GDB对mangos进行当机调试,输出结果到crashes/Server.lo ...
最新文章
- 北斗导航 | 完全自主研发国产高端三维激光雷达助力中国测绘技术发展
- 基于web的新闻发布系统_终极Linux系统ExTiX 19.8发布,基于深度操作系统deepin15.11...
- iphone登录不了媒体服务_ios快捷指令一键登录校园网(桂航为例,哆点认证)
- [轉]PHP执行MYSQL存储过程报错:Commands out of sync; you can't run this command now 问题的解决...
- 【ELM分类】基于matlab鲸鱼算法优化核极限学习机数据分类【含Matlab源码 2012期】
- 大数据hadoop讲解
- [Leetcode 393] UTF-8 Validation
- 阿里飞冰的介绍以及使用
- PYTHON实践——GUI界面
- 文件数字签名校验与信息获取
- springboot切面AOP拦截父类或接口中标记注解的方法
- 51单片机学习——PWM
- 工信部:小米、京东等虚拟运营商被投诉
- 博士毕业应不应该创业?
- Kotlin学习三:高阶函数
- FTP服务器和Web服务器知多少
- ernie发音_Ernie[娥妮,厄尼]英文名的中文翻译意思、发音、来源及流行趋势-千代英文名...
- 温州哪里可以学计算机编程,温州 | 什么样的孩子适合学编程?
- 从八大经典排序模版具体实现(包含自定义仿函数)到STL的sort函数灵活运用
- 钉钉windows端多开软件_抖音很火的备忘录软件是什么?比较火的备忘录便签软件...
热门文章
- 耳机一边大声一边小声怎么办?不换耳机的处理办法!
- 技术笔记:如何在win10操作系统中卸载自带的office(前提是无法在控制面板中卸载)
- latex 中的各种符号
- 中国无线充电器市场现状研究分析与发展前景预测报告
- 【78 backtrader可转债策略】每周一开盘买入溢价率最低的3只可转债能获利吗?
- channel java_Java中channel用法总结
- 【JavaWeb】解决IE低版本不兼容问题记录
- Python3快速入门——Pyth
- linux7安装mysql
- 异闻录——每晚一个离奇故事 敬请期待,一天,一个离奇故事!如果您喜欢,请在评论里发表您的高见,支持,每天一个新故事!