2、Linux下编译并搭建AzerothCore服务端

一、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:至此搭建完成

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq23001186/article/details/129898905