Wow魔兽世界服务器搭建详细教程,魔兽世界服务器配置要求

news/2024/4/19 15:34:12/文章来源:https://blog.csdn.net/JUFENG_FEI/article/details/129147401

自从《魔兽世界》国服关服后,很多魔兽老玩家心里都是空落落的,魔兽陪伴了我们十多年,此次关服犹如关上了通往艾泽拉斯大陆的大门。

上帝关上了一扇门,我们也可以自己开扇窗,随着国服关闭,越来越多的玩家想要自己开服当服主,今天飞飞将和你们分享魔兽世界服务器搭建教程。

想要搭建一个魔兽商业服,需要有魔兽世界服务端、客户端和服务器,若是自己不会技术,可以请个技术架设、调试,简单的调试可以和技术请教学习。

魔兽世界服务端

魔兽世界服务端有多种选择,如下:
60级经典旧世版本
70级燃烧的远征版本
80级巫妖王之怒版本
85级大地的裂变版本
90级熊猫人之谜版本
100级德拉诺之王版本
110级军团再临版本
120级争霸艾泽拉斯版本
可以选择自己喜欢的,也可以选择玩家更喜欢的。

魔兽世界服务器

玩家游戏体验感及游戏流畅度都是由服务器决定的。魔兽世界对服务器的配置要求不是很高,CPU像英特尔E5 、酷睿i9系列16核心都是可以满足要求的。当然,选择服务器除了看CPU,还需要看服务器带宽和防御,带宽决定了一个服能承载多少玩家同时在线游戏,带宽有共享带宽和独享带宽,两者区别可以自行了解下。

做游戏开发不能避免会被同行或是攻击小组盯上,若是对方通过手段发起攻击,选择的服务器防御低,服务器连接不上,将会直接影响到服里的玩家游戏体验感,所以选择高防服务器是必要的。机房不同,防护措施和售后服务都是不同的,服务器性能如何可以通过测试进行初步判断。

Debian系统服务器搭建魔兽世界

准备工作

依赖安装

apt-get update
apt-get install git clang cmake make gcc g++
update-alternatives --install /usr/bin/cc cc /usr/bin/clang 100
update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang 100

#boost依赖,如下

apt-get install -y libboost-all-dev \
libboost-system-dev \
libboost-filesystem-dev \
libboost-program-options-dev \
libboost-iostreams-dev

mariadb-server

apt-get install libmariadbclient-dev

zlib在 zlib1g-dev

apt-get install zlib1g-dev

openssl

apt-get install libssl-dev

readline

apt-get install libreadline-dev

mysql

apt-get install -y libmysqlclient-dev

创建用户

用户名为wow

adduser wow
su wow

如果用windows子系统,可以设置默认进入用户
windows进入cmd命令行,执行指令进入Apps目录:

cd %HOMEPATH%\AppData\Local\Microsoft\WindowsApps

因为我安装的debian,所以这个目录下有个debian.exe的文件(如果是ubuntu那么就是ubuntu.exe)

debian.exe config --default-user wow

设置完再进入子系统就是wow用户了

约定目录

以wow权限执行

su wow
cd ~

既然是网络游戏,一定需要C端和S端,即客户端和服务器端。预先创建对应目录方便后面操作。

TrinityCore源码目录

mkdir /home/wow/TrinityCore

服务器目录,最终包含etc,bin,data三个子目录

mkdir /home/wow/server3.5.5

客户端目录,后面用于存放客户端版本,提取客户端数据

mkdir /home/wow/client12340

下载工作

S端下载

Release TDB 335.22061 · TrinityCore/TrinityCore · GitHub

cd /home/wow/TrinityCore
wget https://github.com/TrinityCore/TrinityCore/archive/refs/tags/TDB335.22061.zip

解压

unzip TDB335.22061.zip

C端下载

客户端版本:3.3.5(12340)
下载传送门(下载解压后,需要完成后把文件上传到Linux服务器上)

编译服务端

切回wow

su wow
cd /home/wow/TrinityCore/TrinityCore-TDB335.22061

构建项目

mkdir build
cd build
cmake ../ -DCMAKE_INSTALL_PREFIX=/home/wow/server3.5.5 

这个步骤可能时间比较长,可以用nohup或者screen执行

make  -j$(nproc) install

编译完成后home/wow/server3.5.5目录会出现binetcbin目录

bin下面是生成的可执行文件。
data下面后面会放入客户端提取的地图数据。
etc 下面是一些配置文件。

注:查看并留意下这三个目录里面的文件,后面会用到。

修改配置文件

把worldserver.conf.dist和authserver.conf.dist各自复制一份,然后去掉后缀.dist 。

cp /home/wow/server3.5.5/etc/worldserver.conf.dist worldserver.conf
cp /home/wow/server3.5.5/etc/authserver.conf.dist authserver.conf

修改worldserver.conf 中 DataDir = “.” 为 DataDir = “../data”。
注意:我这里填的是相对路径"…/data",你也可以填写绝对路径/home/wow/server3.5.5/data

提取客户端信息

DBC and Maps files

将下载好的客户端,复制一份到上面约定的客户端目录/home/wow/client12340中,进入目录。

cd /home/wow/client12340

运行下面命令,提取客户端数据

/home/wow/server3.5.5/bin/mapextractor
mkdir /home/wow/server3.5.5/data
cp -r dbc maps /home/wow/server3.5.5/data

Visual Maps (aka vmaps)

cd /home/wow/client12340
/home/wow/server3.5.5/bin/vmap4extractor
mkdir vmaps
/home/wow/server3.5.5/bin/vmap4assembler Buildings vmaps
cp -r vmaps /home/wow/server3.5.5/data

Movement Maps (aka mmaps)

cd /home/wow/client12340
mkdir mmaps
/home/wow/server3.5.5/bin/mmaps_generator
cp -r mmaps /home/wow/server3.5.5/data

将地图数据copy到数据目录

cp -r dbc maps /home/wow/server3.5.5/data
cp -r vmaps /home/wow/server3.5.5/data
cp -r mmaps /home/wow/server3.5.5/data

数据库

这里用root
环境搭建中我们已经安装mariadb-server数据库(当然也可以使用mysql),所以现在我们需要运行起来。

运行数据库

systemctl enable mysql 
systemctl restart mysql

初始化数据库

mysql_secure_installation
# Enter current password for root (enter for none):
会显示叫你输入密码,因为安装时并没有设置密码,所以直接输入回车enter
# Change the root password? [Y/n]
Y
# 输入两次密码
# Remove anonymous users? [Y/n]
Y
# Disallow root login remotely? [Y/n]
# Y表示让root用户远程登录,N表示可以远程登录
Remove test database and access to it? [Y/n]
Y
Reload privilege tables now? [Y/n]
Y

登录数据库

mysql -u root

登录成功,类似如下

Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 10.1.29-MariaDB-6 Ubuntu 18.04
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>

导入数据

1、创建数据库

Source /home/wow/TrinityCore/TrinityCore-TDB335.22061/sql/create/create_mysql.sql
#显示当前数据库系统中所有数据库列表

show databases

±-------------------+
| Database |
±-------------------+
| auth |
| characters |
| information_schema |
| mysql |
| performance_schema |
| world |
±-------------------+

2、建表

use auth;

Source /home/wow/TrinityCore/TrinityCore-TDB335.22061/sql/base/auth_database.sql

use characters;

Source /home/wow/TrinityCore/TrinityCore-TDB335.22061/sql/base/characters_database.sql

地图数据载入

创建数据目录,用来存放地图数据

mkdir /home/wow/server3.5.5/data

配置网络

连接数据库,输入以下sql,打开auth库,并查看表realmlist

use auth;
select id,name,address,localaddress,gamebuild from realmlist;

address为现网ip及客户端连接ip。本地跑默认127.0.0.1。部署到服务器,需要更改为服务器的ip。
port为对外端口及客户端连接端口。现网需要开放此端口
localaddress为内网ip
gamebuild 为客户端版本号 ,是12340 还是 13930 取决于你所使用的客户端版本

启动服务端

运行 authserver

(authserver即认证服务,我们登陆账户都是到这里认证后才会请求worldserver)

/home/wow/server3.5.5/bin/authserver
# or
/home/wow/server3.5.5/bin/authserver -c /home/wow/server3.5.5/etc/authserver.conf

如下为成功启动

Connected to MySQL database at 127.0.0.1
DatabasePool 'auth' opened successfully. 2 total connections running.
Started auth database connection pool.
Loading IP Location Database...
Added realm "Trinity" at 127.0.0.1:8085.

运行 worldserver

/home/wow/server3.5.5/bin/worldserver

如果你按照上述步骤一步一步到了这里,那么运行结果可能提示缺少一个文件

TDB_full_world_335.22061_2022_06_01.sql!!!
File "TDB_full_world_335.22061_2022_06_01.sql" is missing,
download it from "https://github.com/TrinityCore/TrinityCore/releases"
uncompress it and place the file "TDB_full_world_335.22061_2022_06_01.sql"
in the directory "/home/rendu".

这里根据你当前运行的worldserver的提示去下载,下载传送门,请对号下载

World initialized in 11 minutes 39 seconds
Starting up anti-freeze thread (60 seconds max stuck time)...
TrinityCore rev. fc56410b6e0d 2021-02-19 00:42:06 +0200 (3.3.5 branch) (Unix, RelWithDebInfo, Static) (worldserver-daemon) ready...
TC>

看到如上输出,那么恭喜你,worldserver启动成功。

添加账号

创建一个用户名为idc02,密码也为idc02的账号,使用以下命令格式

account create <user> <pass>
TC>TC> account create idc02 idc02

升级为GM
可以提升idc02的gmlevel为3,升级为GM账号,worldserver命令行输入,如下

TC> account set gmlevel idc02 3 -1

登录游戏

打开客户端目录,找到wow.exe,同级目录下创建wow.bat,内容如下:
在本地搭建ip填写127.0.0.1,外网填写服务器IP,这个ip对应上面realmlist中的address

echo y | rd /s "Cache"
echo SET realmlist "103.219.39.*" > Data\zhTW\realmlist.wtf
echo SET realmlist "103.219.39.*" > Data\enTW\realmlist.wtf
echo SET realmlist "103.219.39.*" > Data\zhCN\realmlist.wtf
echo SET realmlist "103.219.39.*" > Data\enCN\realmlist.wtf
echo SET realmlist "103.219.39.*" > Data\enUS\realmlist.wtf
echo SET realmlist "103.219.39.*" > realmlist.wtf
start Wow.exe
goto end

然后运行脚本,此时初始化客户端连接配置成功,进入游戏。

宝塔面板方便用于对接管理系统
也和大家分享下安装宝塔Linux面板的安装脚本
Centos:

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh 1ba5f33df

Ubuntu/Debian:

wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh 1ba5f33df

只安装面板,不需要安装任何web服务相关工具。
在面板中设置接口:面板设置->API接口,启用接口,并保存API密钥,添加服务器ip到白名单
将以下端口开放

1001 : 服务器连接端口
1002 : 用户登录端口
1003:mysql数据库端口
1004:SOAP端口

以上便是关于魔兽世界服务器搭建的教程,感谢您的阅读,有开服想法欢迎私信~

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

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

相关文章

二叉树——找树左下角的值

找树左下角的值 链接 给定一个二叉树的 根节点 root&#xff0c;请找出该二叉树的 最底层 最左边 节点的值。 假设二叉树中至少有一个节点。 示例 1: 输入: root [2,1,3] 输出: 1 示例 2: 输入: [1,2,3,4,null,5,6,null,null,7] 输出: 7 递归法 二叉树的 最底层 最左…

一维,二维差分の详解(简单易懂)

一,差分定义差分,就是前缀和的逆运算。二,具体过程1.一维差分例题构造差分数组首先给定一个原数组a&#xff1a;a[1], a[2], a[3],,,,,, a[n];然后我们构造一个数组b &#xff1a; b[1], b[2], b[3],,,,,, b[i];使得 a[i] b[1] b[2] b[3] ,,,,,, b[i]也就是说&#xff0c;…

Redis分布式锁实现及使用

文章目录分布式锁全局ID生成器一人一单实现超卖问题一人一单分布式锁Redis setnx实现分布式锁Redis在业内解决秒杀等业务场景有非常广的应用&#xff0c;如何设计实现一个分布式锁是解决超卖、一人一单问题非常重要… 分布式锁 分布式锁是控制分布式系统之间同步访问共享资源的…

CRM客户管理系统的作用和四大优势

CRM系统是一种以客户管理为核心&#xff0c;帮助营销、销售、服务部门实现业务自动化&#xff0c;为企业进行客户数据的收集、管理和分析&#xff0c;提高客户体验和留存&#xff0c;实现以客户为中心的管理模式的企业管理工具。那么&#xff0c;企业为什么要使用CRM系统&#…

Javaweb之mybits入门

2.1 Mybatis概述 2.1.1 Mybatis概念 MyBatis 是一款优秀的持久层框架&#xff0c;用于简化 JDBC 开发 MyBatis 本是 Apache 的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code&#xff0c;并且改名为MyBatis 。2013年11月迁移到Github …

XSS注入进阶练习篇(三) XSS原型链污染

XSS原型链污染1.原型链的概念1.1 构造函数的缺点1.2 prototype 属性的作用1.3 原型链1.4 constructor属性1.5 prototype和__proto__2. 原型链污染2.1 原型链污染是什么&#xff1f;2.2 原型链污染的条件2.3 原型连污染实例2.3.1 hackit 20182.3.2 challenge-04223.总结1.原型链…

新项目分析

1&#xff1a;数据类型处理 # sep‘\s‘ 这是正则表达式&#xff0c;通过一定规则的表达式来匹配字符串用的 \s 表示空白字符&#xff0c;包括但不限于空格、回车(\r)、换行(\n)、tab或者叫水平制表符(\t)等&#xff0c;这个根据编码格式不同代表的含义也不一样&#xff0c;感…

Codeforces Round #851 (Div. 2) A-E

题目链接&#xff1a;https://codeforces.com/contest/1788 A - One and Two 解题思路&#xff1a;将数组分成两半&#xff0c;两边二一样多就行了。 #include<bits/stdc.h> using namespace std; #define inf 0x3f3f3f3f #define lson l,mid,rt<<1 #define rso…

Kaggle系列之识别狗的品种类别(深度残差网络模型ResNet-34)

我们来到这个比赛页面&#xff1a;https://www.kaggle.com/competitions/dog-breed-identification这个数据集的目标是Determine the breed of a dog in an image(确定图像中狗的品种)我们先下载数据集解压之后来看下(当然不手动解压&#xff0c;也可以使用)&#xff0c;这里我…

记住这12个要点,你也能打造出让HR和技术主管前一亮的前端简历

第一篇章&#xff1a;吸引HR 如果你想在众多简历中脱颖而出&#xff0c;需要注意以下几点&#xff1a; 1、突出你的亮点&#xff1a; 给你的简历一个吸引人的文件命名和头部&#xff0c;突出你的关键技能和经验。 2、采用简洁的语言&#xff1a; 用简单易懂的语言来描述你的…

笔记本cpu温度多少正常?温度过高的4个常见原因

电脑CPU指的是中央处理器&#xff0c;它与电脑运行速度的快慢存在很大关系。如果电脑的处理器温度过高&#xff0c;就会影响我们电脑的运行速度&#xff0c;甚至出现蓝屏、卡顿的情况。 那么&#xff0c;对于电脑来说&#xff0c;笔记本cpu温度多少正常&#xff1f;有什么原因…

macOS Big Sur 11.7.4(20g1220)With OpenCore 0.8.9正式版 and winPE双引导分区原版镜像

原文来源于黑果魏叔官网&#xff0c;转载需注明出处。镜像特点完全由黑果魏叔官方制作&#xff0c;针对各种机型进行默认配置&#xff0c;让黑苹果安装不再困难。系统镜像设置为双引导分区&#xff0c;全面去除clover引导分区&#xff08;如有需要&#xff0c;可以自行直接替换…

KT1025A蓝牙音频芯片_立讯KC认证FCC测试现场整改记录

目录 一、问题说明简介 测试机构立讯反馈&#xff0c;客户寄的样板进行无线KC【韩国】测试不过&#xff0c;体现在如下两点 蓝牙部分接收杂散不过 蓝牙的发射功率偏低 2.1 单独只给蓝牙部分供电的测试图片--OK 2.2 单独给整板供电--但是使用电池供电 2.3 单独给整板供电-…

关于机器人坐标系变换的笔记

ROS TFros中&#xff0c;可以通过TF Tree来进行获取 机器人不同坐标系之间的转换关系&#xff0c;命令如下&#xff1a;rosrun tf tf_echo base_link head_link1意思为&#xff0c;从源坐标系base_link&#xff0c;到目标坐标系head_link1的变换关系&#xff0c;结果如下所示。…

Crafting interpreters 中文翻译,持续修正

本书在线地址 http://craftinginterpreters.com/ 感谢作者 作者用近 4 年的时间持续创作和改进本书&#xff0c;并把其 Web 版本公开在网上。这本纸质书于今年 7 月出版&#xff0c;立刻在 Hacker News 等网络媒介上引起关注和讨论。 书中作者首先定义了一个动态类型的语言 …

棋牌类游戏测试用例怎么写?我敢打赌你绝对不知道

目录 一&#xff0e;登陆 二&#xff0e;大厅 三&#xff0e;小游戏 四&#xff0e;银行功能 五&#xff0e;其他按钮 总结感谢每一个认真阅读我文章的人&#xff01;&#xff01;&#xff01; 重点&#xff1a;配套学习资料和视频教学 一&#xff0e;登陆 1&#xff0e…

使用拦截器实现登录状态检测(以及在注册拦截器类时要使用ioc中的拦截器类)

拦截器 preHandler(HttpServletRequest request, HttpServletResponse response, Object handler) 方法在请求处理之前被调用。该方法在 Interceptor 类中最先执行&#xff0c;用来进行一些前置初始化操作或是对当前请求做预处理&#xff0c;也可以进行一些判断来决定请求是否…

【MyBatis】源码学习 04 - 从 MapperMethod 简单分析一条 SQL 的映射操作流程

文章目录前言参考目录学习笔记1、测试代码说明2、binding 包的主要功能3、获取 Mapper 接口实例过程4、SQL 语句执行流程4.1、方法调用器4.2、MapperMethod 绑定方法4.2.1、SqlCommand4.2.2、MethodSignature4.3、MapperMethod#execute前言 本文内容对应的是书本第 13 章的内容…

循环、函数、对象——js基础练习

目录 一、循环练习 1.1 取款机案例 1.2 九九乘法表 1.3 根据数据生成柱形图 1.4 冒泡排序 1.6综合大练习 二、函数 2.1 转换时间案例 三、对象 1. 遍历数组对象 2. 猜数字游戏 3. 生成随机颜色 4. 学成在线页面渲染案例 一、循环练习 1.1 取款机案例 // 准备一个…

电商项目之Feign与Dubbo技术选型

文章目录1 问题背景2 前言3 思路4 Feign与Dubbo的区别5 总结6 真实案例1 问题背景 电商项目&#xff0c;B端以consul作为注册中心。重构了一个营销服务&#xff0c;以Nacos作为注册中心。B端需要调用营销服务。关于远程调用框架&#xff0c;营销服务用了Dubbo&#xff0c;而B端…