TrinityCore最新版本master安装@ubuntu22@win10

2024-05-10 11:28

本文主要是介绍TrinityCore最新版本master安装@ubuntu22@win10,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原名字是:trinitycore最新版本master安装@docker@freebsd15@win10

说明一下,原计划是在win10的virtualbox安装FreeBSD,然后在FreeBSD系统安装docker-machine,再安装tinycore-linux,在里面再安装docker,docker里面再安装TrinityCore!

最终实施方案是:在Win10里VirtualBox安装Ubuntu22.04,然后安装TrinityCore

VirtualBox中安装Ubuntu

刚开始为了能在FreeBSD里面再虚拟化,需要在VirtualBox打开VT-x。但是选项是灰色的。这时候按照常规想法,应该是在虚拟机开机的时候进入bios修改。但是VirtualBox没有bios,所以要在Windows10 用执行命令的方法打开:

C:\Program Files\Oracle\VirtualBox>VBoxManage.exe list vms
"freebsd2" {d07f2950-2ba5-4d88-b81f-13b58703ba43}
"freebsd15" {0cc27105-42ee-4bef-b11e-f82a6e2c2e48}
"freebsd1" {cb381dc6-f89b-4509-a3d8-60b4df70129a}
"freebsd15new" {13e6778a-8a35-482d-9813-c71f5cd35278}

C:\Program Files\Oracle\VirtualBox>VBoxManage.exe modifyvm "freebsd15" --nested-hw-virt on

执行完之后VT-x选项就不是灰色的,可以勾选了。当然win10 bios里要打开VT-x,这个就不赘述了

创建和安装Ubuntu

到清华镜像下载安装盘 Index of /ubuntu-releases/22.04.4/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

 安装好Ubuntu后,

安装相关库

apt-get update
apt-get install git clang cmake make gcc g++ libmysqlclient-dev libssl-dev libbz2-dev libreadline-dev libncurses-dev libboost-all-dev mysql-server p7zip
update-alternatives --install /usr/bin/cc cc /usr/bin/clang 100
update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang 100

 创建专用账户wow

sudo adduser wow

用wow用户登录,然后下载master源码

cd ~/
git clone -b master https://github.com/TrinityCore/TrinityCore.git

 源码编译

cd TrinityCore
mkdir build
cd buildcmake ../ -DCMAKE_INSTALL_PREFIX=/home/wow/server

编译

make -j $(nproc) 
make install

若有需要,及时更新代码

cd ~/TrinityCore/
git pull origin master

 更新完之后,不要忘记再重新编译!

 配置服务器

下载程序需要的地图等文件,可以从这里下载: https://tc.arctium.io

下载master版本的,下载后解压,带目录拷贝到server/data目录

 配置config文件

将dist后缀去掉

server/etc$ ls
bnetserver.conf  bnetserver.conf.dist  worldserver.conf  worldserver.conf.dist

创建数据库

sudo mysql# 进入mysql后执行
source /home/wow/download/create_mysql.sql

最后配置网络

UPDATE realmlist SET address = '192.168.0.16' WHERE address = '127.0.0.1';

use auth;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -ADatabase changed
mysql>  select id,name,address,localaddress,gamebuild from realmlist;
+----+---------+-----------+--------------+-----------+
| id | name    | address   | localaddress | gamebuild |
+----+---------+-----------+--------------+-----------+
|  1 | Trinity | 127.0.0.1 | 127.0.0.1    |     54604 |
+----+---------+-----------+--------------+-----------+
1 row in set (0.00 sec)mysql> UPDATE realmlist SET address = '192.168.0.16' WHERE address = '127.0.0.1';
Query OK, 1 row affected (0.02 sec)
Rows matched: 1  Changed: 1  Warnings: 0mysql>  select id,name,address,localaddress,gamebuild from realmlist;
+----+---------+--------------+--------------+-----------+
| id | name    | address      | localaddress | gamebuild |
+----+---------+--------------+--------------+-----------+
|  1 | Trinity | 192.168.0.16 | 127.0.0.1    |     54604 |
+----+---------+--------------+--------------+-----------+
1 row in set (0.00 sec)

启动服务

执行

cd server/bin/

./worldserver

执行

./bnetserver

创建用户:

 bnetaccount create test@test test

提升gm权限:account set gmlevel 1#1 3 -1

登录:

E-mail: test@test
Password: test

 

配置客户端

对于master版本,需要特制的game Launcher,下载地址: https://arctium.io/wow/

在_retail/config.wtf文件中加入:SET portal "192.168.0.16"

 

调式

FreeBSD下docker-machine提示This computer doesn't have VT-X/AMD-v enabled

docker-machine  create --driver virtualbox myvm
Running pre-create checks...
Error with pre-create check: "This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory" 

首先到VirtualBox里面把启用嵌套VT-x打上对勾

如果是灰色的,执行这条命令试试:C:\Program Files\Oracle\VirtualBox>VBoxManage.exe modifyvm "freebsd15" --nested-hw-virt on

加上这条命令:--virtualbox-no-vtx-check

docker-machine  create --virtualbox-no-vtx-check --driver virtualbox myvm

执行后报错"Get \"https://github.com/boot2docker/boot2docker/releases/download/v19.03.12/boot2docker.iso\": EOF"

docker-machine  create --virtualbox-no-vtx-check -
Running pre-create checks...
(myvm) Image cache directory does not exist, creating it at /home/skywalk/.docker/machine/cache...
(myvm) No default Boot2Docker ISO found locally, downloading the latest release...
(myvm) Latest release for github.com/boot2docker/boot2docker is v19.03.12
(myvm) Downloading /home/skywalk/.docker/machine/cache/boot2docker.iso from https://github.com/boot2docker/boot2docker/releases/download/v19.03.12/boot2docker.iso...
Error with pre-create check: "Get \"https://github.com/boot2docker/boot2docker/releases/download/v19.03.12/boot2docker.iso\": EOF"
$ docker-machine  create --virtualbox-no-vtx-check --driver virtualbox myvm
Running pre-create checks...
(myvm) No default Boot2Docker ISO found locally, downloading the latest release...
(myvm) Latest release for github.com/boot2docker/boot2docker is v19.03.12
(myvm) Downloading /home/skywalk/.docker/machine/cache/boot2docker.iso from https://github.com/boot2docker/boot2docker/releases/download/v19.03.12/boot2docker.iso...
Error with pre-create check: "Get \"https://github.com/boot2docker/boot2docker/releases/download/v19.03.12/boot2docker.iso\": EOF"

github抽风,把其它地方的boot2docker.iso文件cp到~/.docker/machine/cache目录下。

用普通用户创建的时候报错Failed to create the host-only adapter

(myvm) Check network to re-create if needed...
(myvm) Creating a new host-only adapter produced an error: /usr/local/bin/VBoxManage hostonlyif create failed:
(myvm) 0%...
(myvm) Progress state: NS_ERROR_FAILURE
(myvm) VBoxManage: error: Failed to create the host-only adapter
(myvm) VBoxManage: error: Failed to execute '/usr/local/lib/virtualbox/VBoxNetAdpCtl add 2>&1' - exit status: 32256
(myvm) VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component HostNetworkInterfaceWrap, interface IHostNetworkInterface
(myvm) VBoxManage: error: Context: "RTEXITCODE handleCreate(HandlerArg *)" at line 95 of file VBoxManageHostonly.cpp
(myvm)
(myvm) This is a known VirtualBox bug. Let's try to recover anyway...
Error creating machine: Error in driver during machine creation: Error setting up host only network on machine start: The host-only adapter we just created is not visible. This is a well known VirtualBox bug. You might want to uninstall it and reinstall at least version 5.0.12 that is is supposed to fix this issue
原因是没有权限。用root账户创建

root账户下网卡也没创建成功

(myvm) Creating a new host-only adapter produced an error: /usr/local/bin/VBoxManage hostonlyif create failed:
(myvm) 0%...
(myvm) Progress state: NS_ERROR_FAILURE
(myvm) VBoxManage: error: Failed to create the host-only adapter
(myvm) VBoxManage: error: VBoxNetAdpCtl: Error while adding new interface: failed to open /dev/vboxnetctl: No such file or directory
(myvm) VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component HostNetworkInterfaceWrap, interface IHostNetworkInterface
(myvm) VBoxManage: error: Context: "RTEXITCODE handleCreate(HandlerArg *)" at line 95 of file VBoxManageHostonly.cpp
(myvm)
(myvm) This is a known VirtualBox bug. Let's try to recover anyway...
Error creating machine: Error in driver during machine creation: Error setting up host only network on machine start: The host-only adapter we just created is not visible. This is a well known VirtualBox bug. You might want to uninstall it and reinstall at least version 5.0.12 that is is supposed to fix this issue

我想是因为没有装virtualbox吧? 发现已经装好了。问题遗留

发现virtualbox中只能创建32位系统

这是个大问题啊,不解决后面没法继续啊!

放弃,直接虚拟出来ubuntu!

trinitycore创建数据库报错

source /home/wow/download/create_mysql.sql

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '2024 GitHub,&nbsp' at line 1
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Inc.
      </span>
    </div>

    <nav aria-label="Footer">
      <h3 class="sr' at line 1

发现create_mysql.sql文档有问题,wget没有下载下来,用笨方法下载。然后再source执行,ok了

运行worldserver报错Map file './maps/0000_43_31.map' does not exist!

VMap support included. LineOfSight: true, getHeight: true, indoorCheck: true
VMap data directory is: ./vmaps
Map file './maps/0000_43_31.map' does not exist!
Please place MAP-files (*.map) in the appropriate directory (./maps/), or correct the DataDir setting in your worldserver.conf file.
Unable to load map and vmap data for starting zones - server shutting down!

但是那个文件明明在那里啊!

网上有issue:Map 0000_43_31.map is missing · Issue #19791 · TrinityCore/TrinityCore · GitHub 

还是有人说数据路径要用绝对路径,于是

编辑文件server/etc/worldserver.conf,使用绝对路径

# DataDir = "."
DataDir = "/home/wow/server/data"

问题解决。

报错enUS/Achievement.db2, expected 0x920E09CB, got 0x145BE391 (possibly wrong client version)

Incorrect layout hash in /home/wow/server/data/dbc/enUS/Achievement.db2, expected 0x920E09CB, got 0x145BE391 (possibly wrong client version) Incorrect layout hash in /home/wow/server/data/dbc/enUS/ContentTuning.db2, expected 0x3E5D4B74, got 0x7364682E (possibly wrong client version) Incorrect layout hash in /home/wow/server/data/dbc/enUS/ItemModifiedAppearance.db2, expected 0x0120090C, got 0xF881E7D5 (possibly wrong client version) Unable to load db2 files for enUS locale specified in DBC.Locale config!

先更新master源代码试试

cd ~/TrinityCore/
git pull origin master

然后重新编译,安装。再运行,ok了!

客户端还是登录不上

这篇关于TrinityCore最新版本master安装@ubuntu22@win10的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/976307

相关文章

MySQL 迁移至 Doris 最佳实践方案(最新整理)

《MySQL迁移至Doris最佳实践方案(最新整理)》本文将深入剖析三种经过实践验证的MySQL迁移至Doris的最佳方案,涵盖全量迁移、增量同步、混合迁移以及基于CDC(ChangeData... 目录一、China编程JDBC Catalog 联邦查询方案(适合跨库实时查询)1. 方案概述2. 环境要求3.

JAVA中安装多个JDK的方法

《JAVA中安装多个JDK的方法》文章介绍了在Windows系统上安装多个JDK版本的方法,包括下载、安装路径修改、环境变量配置(JAVA_HOME和Path),并说明如何通过调整JAVA_HOME在... 首先去oracle官网下载好两个版本不同的jdk(需要登录Oracle账号,没有可以免费注册)下载完

SpringSecurity整合redission序列化问题小结(最新整理)

《SpringSecurity整合redission序列化问题小结(最新整理)》文章详解SpringSecurity整合Redisson时的序列化问题,指出需排除官方Jackson依赖,通过自定义反序... 目录1. 前言2. Redission配置2.1 RedissonProperties2.2 Red

Java JDK1.8 安装和环境配置教程详解

《JavaJDK1.8安装和环境配置教程详解》文章简要介绍了JDK1.8的安装流程,包括官网下载对应系统版本、安装时选择非系统盘路径、配置JAVA_HOME、CLASSPATH和Path环境变量,... 目录1.下载JDK2.安装JDK3.配置环境变量4.检验JDK官网下载地址:Java Downloads

SQL server数据库如何下载和安装

《SQLserver数据库如何下载和安装》本文指导如何下载安装SQLServer2022评估版及SSMS工具,涵盖安装配置、连接字符串设置、C#连接数据库方法和安全注意事项,如混合验证、参数化查... 目录第一步:打开官网下载对应文件第二步:程序安装配置第三部:安装工具SQL Server Manageme

MySQL 多列 IN 查询之语法、性能与实战技巧(最新整理)

《MySQL多列IN查询之语法、性能与实战技巧(最新整理)》本文详解MySQL多列IN查询,对比传统OR写法,强调其简洁高效,适合批量匹配复合键,通过联合索引、分批次优化提升性能,兼容多种数据库... 目录一、基础语法:多列 IN 的两种写法1. 直接值列表2. 子查询二、对比传统 OR 的写法三、性能分析

Spring Boot spring-boot-maven-plugin 参数配置详解(最新推荐)

《SpringBootspring-boot-maven-plugin参数配置详解(最新推荐)》文章介绍了SpringBootMaven插件的5个核心目标(repackage、run、start... 目录一 spring-boot-maven-plugin 插件的5个Goals二 应用场景1 重新打包应用

Javaee多线程之进程和线程之间的区别和联系(最新整理)

《Javaee多线程之进程和线程之间的区别和联系(最新整理)》进程是资源分配单位,线程是调度执行单位,共享资源更高效,创建线程五种方式:继承Thread、Runnable接口、匿名类、lambda,r... 目录进程和线程进程线程进程和线程的区别创建线程的五种写法继承Thread,重写run实现Runnab

Knife4j+Axios+Redis前后端分离架构下的 API 管理与会话方案(最新推荐)

《Knife4j+Axios+Redis前后端分离架构下的API管理与会话方案(最新推荐)》本文主要介绍了Swagger与Knife4j的配置要点、前后端对接方法以及分布式Session实现原理,... 目录一、Swagger 与 Knife4j 的深度理解及配置要点Knife4j 配置关键要点1.Spri

Spring IoC 容器的使用详解(最新整理)

《SpringIoC容器的使用详解(最新整理)》文章介绍了Spring框架中的应用分层思想与IoC容器原理,通过分层解耦业务逻辑、数据访问等模块,IoC容器利用@Component注解管理Bean... 目录1. 应用分层2. IoC 的介绍3. IoC 容器的使用3.1. bean 的存储3.2. 方法注