备份和镜像TrinityCore

相比重新安装,省去了编译的过程,同时还能保留以前的人物、装备等。

注意,若不想重新编译安装,则需要创建一样的目录、账户等,以减少不必要的麻烦。

首先备份数据:

mysql备份和导入方法见:使用dump备份mysql数据库-CSDN博客

备份文件

mysqldump -u trinity -ptrinity auth > auth.sqlmysqldump -u trinity -ptrinity world > world.sqlmysqldump -u trinity -ptrinity characters > characters.sql

备份的时候会有警告和报错:'Access denied; you need (at least one of) the PROCESS privilege(s) for this operation'  ,不用去管它。

将备份文件scp到服务器:

scp *.sql 192.168.1.12:/home/wow


准备导入数据库。

数据库导入

导入之前,需要导入一个“创建数据库”的sql

只需要导入这一个,后面其它数据库会自动导入

To create the MySQL databases needed by Trinity, you need to execute one of the following MySQL queries with your mysql client:

  • For 3.3.x:
    • TrinityCore/sql/create/create_mysql.sql at 3.3.5 · TrinityCore/TrinityCore · GitHub

或者到项目TrinityCore/sql/create目录也能获取该文件,该文件内容:

CREATE USER 'trinity'@'localhost' IDENTIFIED BY 'trinity' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0;GRANT USAGE ON * . * TO 'trinity'@'localhost';CREATE DATABASE `world` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;CREATE DATABASE `characters` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;CREATE DATABASE `auth` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;GRANT ALL PRIVILEGES ON `world` . * TO 'trinity'@'localhost' WITH GRANT OPTION;GRANT ALL PRIVILEGES ON `characters` . * TO 'trinity'@'localhost' WITH GRANT OPTION;GRANT ALL PRIVILEGES ON `auth` . * TO 'trinity'@'localhost' WITH GRANT OPTION;

下载之后,进入mysql,然后导入:

source  create_mysql.sql

这时候一套新的TrinityCore服务已经安装好了。如果这时候执行下一步同步TrinityCore文件并启动authserver和worldserver,就是全新环境。启动之后再导入auth和characters两个库,理论上就能恢复当前游戏环境和账户等。但是因为加入了TrinityBot功能,所以world库也需要进行相应修改。最终就是三个库一起导入:

导入备份的三个文件:

sudo mysqluse auth;source auth.sqluse worldsource world.sqluse characterssource characters.sql

 

 同步TrinityCore文件

直接把server目录全部cp到新机器的相同目录:

scp -r server 192.168.1.12:/home/wow/scp -R server 192.168.1.12:/home/wow/

修改服务器地址

因为换了机器,所以要修改auth里面的address地址,修改成192.168.1.12

mysql> 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 | 114.115.136.249 | 127.0.0.1    |     12340 |
+----+---------+-----------------+--------------+-----------+
1 row in set (0.01 sec)mysql> UPDATE realmlist SET address = '192.168.1.12' WHERE address = '114.115.136.249';
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.1.12 | 127.0.0.1    |     12340 |
+----+---------+--------------+--------------+-----------+
1 row in set (0.00 sec)

下载官方源码

启动server/bin/worldserver 之后报错:DBUpdater: The given source directory /home/wow/TrinityCore does not exist 。原来还是需要官方的源码,并要放在以前编译的时候的目录位置。也就是wow账户的TrinityCore目录。另外现在git clone默认拉下来的是wow最新版,我们采用的是3.3.5版本,这样git clone需要带上-b 3.3.5参数

git clone --depth 1 -b 3.3.5 https://github.com/TrinityCore/TrinityCore

好了,到了这里,服务器就完全镜像过来了!新的一台服务器就装好了。

这时候先执行server/bin/authserver ,然后再执行server/bin/worldserver ,整个服务就起来了!

 调试

启动worldserver报错

Updating Auth database...
DBUpdater: The given source directory /home/wow/TrinityCore does not exist, change the path to the directory where your sql directory exists (for example c:\source\trinitycore). Shutting down.
Could not update the Login database, see log for details.

下载官方源码:

git clone --depth 1 https://github.com/TrinityCore/TrinityCore


启动worldserver 报错ERROR 1054 (42S22) at line 2 in file:

>> The file '2020_12_15_00_characters.sql' was applied to the database, but is missing in your update directory now!
Cleanup is disabled! There were  86 dirty files applied to your database, but they are now missing in your source directory!
>> Applied 1 query. Containing 1 new and 85 archived updates.
Updating World database...
DBUpdater: Given update include directory "/home/wow/TrinityCore/sql/old/3.3.5a/world" does not exist, skipped!
>> Applying update "2024_05_11_12_world.sql" '478F5B6'...
mysql: [Warning] Using a password on the command line interface can be insecure.
>> Reapplying update "2024_05_12_00_world.sql" 'D86B392' -> '1175592' (it changed)...
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1054 (42S22) at line 2 in file: '/home/wow/TrinityCore/sql/updates/world/master/2024_05_12_00_world.sql': Unknown column 'PhaseId' in 'field list'
Applying of file '/home/wow/TrinityCore/sql/updates/world/master/2024_05_12_00_world.sql' to database 'world' failed! If you are a user, please pull the latest revision from the repository. Also make sure you have not applied any of the databases with your sql client. You cannot use auto-update system and import sql files from TrinityCore repository with your sql client. If you are a developer, please fix your sql query.
Could not update the World database, see log for details.
看了下:master = 10.2.7.55165, 3.3.5 = 3.3.5a.12340, wotlk_classic = 3.4.3.54261, cata classic = 4.4.0.55141

原来这是分支没弄对。

切换到3.3.5分支:

git checkout 3.3.5
没切成,重新git clone

git clone --depth 1 -b 3.3.5 https://github.com/TrinityCore/TrinityCore

发现延时异常大

演示472ms,这也太大了,怎么回事呢 ? 有的号延时1ms,真是弄不懂了...

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/35604.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

视觉与味蕾的交响:红酒与艺术的无界狂欢,震撼你的感官世界

在浩瀚的艺术海洋中,红酒以其不同的魅力,成为了一种跨界整合的媒介。当雷盛红酒与艺术相遇,它们共同呈现出一场特别的视觉盛宴,让人沉醉在色彩与光影的交织中,感受红酒与艺术的无界碰撞。 雷盛红酒,宛如一件…

AI作画Prompt不会写?Amazon Bedrock Claude3.5来帮忙

最新上线的Claude3.5 Sonnet按照官方介绍的数据来看,在多方面超越了CPT-4o,是迄今为止最智能的模型。 而跟上一个版本相比,速度是Claude 3 Opus的两倍,成本只有其五分之一。 Claude3.5 Sonnet不仅擅长解释图表、图形或者从不完…

vue3中子组件调用父组件事件

在 Vue 3 中,子组件调用父组件的事件(或方法)的方式与 Vue 2 类似,但 Vue 3 引入了 Composition API,这可能会改变你组织代码的方式。不过,基本的通信机制——通过自定义事件 ($emit) 通知父组件——仍然保…

总结:DataX

一、介绍 本文主要介绍DataX的安装与使用。 二、安装 安装:DataX/userGuid.md at master alibaba/DataX GitHub 六、案例 实现从MySQL同步数据到HDFS,然后使用Hive进行聚合计算并将结果存储回MySQL。 步骤2:使用DataX同步MySQL数据到H…

Day28:回溯法 491.递增子序列 46.全排列 47.全排列 II 332.重新安排行程 51. N皇后 37. 解数独

491. 非递减子序列 给你一个整数数组 nums ,找出并返回所有该数组中不同的递增子序列,递增子序列中 至少有两个元素 。你可以按 任意顺序 返回答案。 数组中可能含有重复元素,如出现两个整数相等,也可以视作递增序列的一种特殊情…

Atcoder ABC359E Water Tank 题解

题目传送门 题解 分析 分类讨论。 记第 i i i 个答案为 a n s i 1 ans_i1 ansi​1。 第 i i i 个数就是目前的最大值。 显然, a n s i h i i ans_ih_i \times i ansi​hi​i。第 i i i 个数就是目前的最大值。 记 l a s t i last_i lasti​ 为 i i i …

网络安全学习路线图(2024版详解)

近期,大家在网上对于网络安全讨论比较多,想要学习的人也不少,但是需要学习哪些内容,按照什么顺序去学习呢?其实我们已经出国多版本的网络安全学习路线图,一直以来效果也比较不错,本次我们针对市…

Java中多态的实现原理解析

Java中多态的实现原理解析 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!在本文中,我们将深入探讨Java中多态的实现原理及其应用。多态是面向对象编…

centos中查看服务的日志

在CentOS中查看服务的日志通常涉及查看系统日志文件,这些文件通常位于/var/log/目录下。不同的服务可能会有不同的日志文件。以下是一些常见的日志文件和查看它们的方法: 1. **系统日志**:系统日志通常存储在/var/log/messages或/var/log/sy…

学会python——生成日志信息(python实例十二)

目录 1、认识Python 2、环境与工具 2.1 python环境 2.2 Visual Studio Code编译 3、生成日志信息 3.1 代码构思 3.2 代码示例 3.3 运行结果 4、总结 1、认识Python Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计具有很强的…

MySQL serverTimezone=UTC

在数据库连接字符串中使用 serverTimezoneUTC 是一个常见的配置选项,特别是当数据库服务器和应用程序服务器位于不同的时区时。这个选项指定了数据库服务器应当使用的时区,以确保日期和时间数据在客户端和服务器之间正确传输和处理。 UTC(协…

Vue-双向数据绑定指令

v-model指令 双向数据绑定就是当数据设置给表单元素时&#xff0c;修改这个数据会修改表单元素的值&#xff0c; 修改表单元素的值同样也会修改这个数据 <body><div id"app"><input type"text" v-model"name"><p>{{name…

利用 Swifter 加速 Pandas 操作的详细教程

利用 Swifter 加速 Pandas 操作的详细教程 引言 Pandas 是数据分析中常用的库&#xff0c;但在处理大型数据集时效率可能会较低。Swifter 提供了一种简便的方法&#xff0c;通过并行处理来显著加速 Pandas 操作。 Swifter 简介 Swifter 是一个开源库&#xff0c;旨在自动优…

一个项目学习Vue3---创建一个 Vue 应用

步骤1&#xff1a;安装符合要求的node版本 目前官网要求使用的node.js版本为18.3及其以上 所以我们要安装node.js 18.3及其以上版本 NVM安装教程&#xff1a;一个项目学习Vue3---NVM和NPM安装-CSDN博客 若不想安装NVM&#xff0c;可以直接下载适合自己的node版本Node.js — …

Go 延迟调用 defer

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

硬件实用技巧:电阻精度和常用阻值表

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/139986658 长沙红胖子Qt&#xff08;长沙创微智科&#xff09;博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV…

Linux Vim最全面的教程

Vim编辑器概述 Vim是一款功能强大的文本编辑器&#xff0c;广泛应用于Linux和Unix系统中。它是Vi编辑器的增强版&#xff0c;提供了更多的功能和更好的用户界面。Vim的特点包括多模式编辑、高度可配置性、丰富的插件生态系统以及强大的文本处理能力。 Vim的基本操作 Vim的基…

C++ 20新特性之模块

&#x1f4a1; 如果想阅读最新的文章&#xff0c;或者有技术问题需要交流和沟通&#xff0c;可搜索并关注微信公众号“希望睿智”。 为什么要引入模块 在C 20之前&#xff0c;所有的代码组织都依赖于预处理器和头文件。这种方式主要存在以下四个问题&#xff1a;一是大型项目中…

来了,你的第一个AI智能体

为了能直观的感受AI智能体&#xff0c;最好的方法是亲手开发一个智能体&#xff0c;当然&#xff0c;这个智能体不能太复杂&#xff0c;否则难度太大&#xff0c;会打击我们的热情的&#xff0c;热情是很宝贵的资源&#xff0c;必须要小心呵护。 我们在国内AI平台语聚AI上搭建…

Batch入门教程

Batch学习在多个领域有不同的应用&#xff0c;但最常见的是在机器学习和教育学习领域。以下是一个关于Batch学习入门的清晰指南&#xff0c;将分别介绍这两个领域中的Batch学习概念、方法和一些实用信息。 1. 机器学习中的Batch学习 定义与概念 Batch_Size&#xff1a;在机器…