目录

  • 一、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-8sudo 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 azerothcoremkdir buildchmod -R 777 buildcd build




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
  • 安装servermake install

    • 安装完成后会在同级目录生成一个目录: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

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. 1、Windows下编译并搭建AzerothCore服务端

    目录 前言 一.AzerothCore下载 二.mysql安装 三.boost安装 四.OpenSSL安装 五.CMake下载 六.CMake编译 1 - CMake生成vs项目 2 - vs项目设置 ...

  2. NB-IoT使用笔记(3)在linux下使用python搭建UDP服务

    背景 NB-IoT可以通过UDP服务访问NB卡绑定的IP地址.关于绑定,目前因为NB-IoT出来时间不长,能绑定几个IP地址以及绑定的IP能否更改一直是一个谜一样的问题,我从不同的客服那里了解的信息还 ...

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

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

  4. C++网络编程快速入门(二):Linux下使用select演示简单服务端程序

    目录 select参数解释 select使用规范 select使用缺点 基本流程 实例代码 通信效果演示 往期文章 select参数解释 extern int select (int __nfds, ...

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

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

  6. Linux下客户端主动Close,服务端阻塞的read函数不会马上返回

    今天在做一个socket通信的时侯,发现close后,阻塞的read函数并没有马上返回,导致后面的时序出现问题,具体情况如下: 服务端与客户端正常建立通信,都采用阻塞模式.当客户端close后,服务端 ...

  7. linux搭建直播步骤,Linux 下 nginx + rtmp 搭建直播服务

    简单粗暴直接上步骤吧: 注 : 以下示例使用的是nginx(版本1.15.3) rtmp(版本1.2.1) 下载nginx和rtmp模块 下载nginx 解压 ​ tar xvf nginx-1.15 ...

  8. Linux下golang的编译,golang Linux下编译环境搭建

    1.下载golang1.4和1.10源码(1.4以后的版本都用1.4go编译安装,所以先安装1.4) 2.解压后我的目录结构是: /opt/xxx/golang |-------gopath     ...

  9. linux下编译mangos,Linux下MANGOS服务端自动重启Shell启动脚本

    下面是一个Linux下支持的一个启动服务端的Shell代码.可以实现服务端当机后自动重新启动. 同时可以支持LINUX下用GDB对mangos进行当机调试,输出结果到crashes/Server.lo ...

最新文章

  1. 北斗导航 | 完全自主研发国产高端三维激光雷达助力中国测绘技术发展
  2. 基于web的新闻发布系统_终极Linux系统ExTiX 19.8发布,基于深度操作系统deepin15.11...
  3. iphone登录不了媒体服务_ios快捷指令一键登录校园网(桂航为例,哆点认证)
  4. [轉]PHP执行MYSQL存储过程报错:Commands out of sync; you can't run this command now 问题的解决...
  5. 【ELM分类】基于matlab鲸鱼算法优化核极限学习机数据分类【含Matlab源码 2012期】
  6. 大数据hadoop讲解
  7. [Leetcode 393] UTF-8 Validation
  8. 阿里飞冰的介绍以及使用
  9. PYTHON实践——GUI界面
  10. 文件数字签名校验与信息获取
  11. springboot切面AOP拦截父类或接口中标记注解的方法
  12. 51单片机学习——PWM
  13. 工信部:小米、京东等虚拟运营商被投诉
  14. 博士毕业应不应该创业?
  15. Kotlin学习三:高阶函数
  16. FTP服务器和Web服务器知多少
  17. ernie发音_Ernie[娥妮,厄尼]英文名的中文翻译意思、发音、来源及流行趋势-千代英文名...
  18. 温州哪里可以学计算机编程,温州 | 什么样的孩子适合学编程?
  19. 从八大经典排序模版具体实现(包含自定义仿函数)到STL的sort函数灵活运用
  20. 钉钉windows端多开软件_抖音很火的备忘录软件是什么?比较火的备忘录便签软件...

热门文章

  1. 耳机一边大声一边小声怎么办?不换耳机的处理办法!
  2. 技术笔记:如何在win10操作系统中卸载自带的office(前提是无法在控制面板中卸载)
  3. latex 中的各种符号
  4. 中国无线充电器市场现状研究分析与发展前景预测报告
  5. 【78 backtrader可转债策略】每周一开盘买入溢价率最低的3只可转债能获利吗?
  6. channel java_Java中channel用法总结
  7. 【JavaWeb】解决IE低版本不兼容问题记录
  8. Python3快速入门——Pyth
  9. linux7安装mysql
  10. 异闻录——每晚一个离奇故事 敬请期待,一天,一个离奇故事!如果您喜欢,请在评论里发表您的高见,支持,每天一个新故事!