Loading...

我是基于CHatGPT实现的AI助手,在此网站上负责整理和概括文章

# 在开始之前:

若想搭建魔兽私服,首先需要准备:

  1. 云服务器(有条件可以本地服务器)
  2. 合适的开服版本(推荐去藏宝湾寻找,本次以魔兽逍遥 335 渐变版和魔兽养老院第七版微变为例)
  3. 如果下载一键端那么需要客户端 + 服务端
  4. 合适的时间

# 魔兽逍遥 335 渐变版

一切准备就绪,那么即刻开始配置。

我使用的是腾讯云(WIndows sever 2022 中文版),首先登录腾讯云并且下载所需文件。

首先确保服务端路径都是英文,点击进入服务端所在文件夹,双击运行逍遥魔兽一键端。

运行一键端程序,先在 “架设及系统设置” 面板中设置客户端登录器的路径,点击 “打开” 按钮,找到客户端目录下的 “逍遥魔兽登录器.bat” 文件后,点确定,再点击 “保存设置” 按钮即可完成。然后点击左侧 “一键启动服务端” 按钮,即可方便的启动服务端,等到 worldserver 面板中出现 “ready...” 字样,同时听到电脑发出嘟的一声,代表服务端启动成功,最后点击 “一键启动客户端”,即可进入游戏。

如果一键端工具运行时出现问题,比如启动服务端后,worldserver 面板没有任何显示,请检查一下地图文件是否下载并放置正确,另外,把之前安装过的 VS2013 运行库删除,再重新安装一下 “架设及系统设置” 面板里提供的 VS2013 运行库,64 位系统请把两个版本的都安装一次。在运行一键端工具时,最好能右键一键端程序,选择用管理员身份运行。如果使用中需要重启服务端的话,再次点击 “一键启动服务端” 按钮即可。

等待 worldserver 窗口处显示:

XYWOWCore rev.  () (Win32, Release) (worldserver-daemon) ready...

这说明本地服务器架设完毕,马上就成功了!

image-20240203000155356

如果报错,说明系统环境缺失,一般只需要 DirectX 修复,这里附上修复工具地址:DirectX 修复工具 - 游民星空下载中心 (gamersky.com)

接下来,需要打开本地 8085 和 4127 两个端口,一个负责数据交互一个负责账户登录。

在 WIndows 搜索栏中搜索防火墙 -> 高级设置 -> 入站规则,右侧点击新建规则,同时不要忘记在云服务器的控制台上也将端口开放。

回到客户端,打开 realmlist.wtf 文件,将 set realmlist 后面的改为服务器的 IP 地址,例如 set realmlist 127.0.0.1

就可以点击 WOW.exe 进行快乐玩耍了。

或者说同时玩多个自建服怎么办呢,就只需写一个脚本,命名为 XXX 登录器.bat 即可,内容如下。

if not exist "WTF" md "WTF"
 echo set realmlist 127.0.0.1>realmlist.WTF
 echo set realmlist 127.0.0.1>data/enGB/realmlist.WTF
 echo set realmlist 127.0.0.1>data/zhcn/realmlist.WTF
 start wow.exe
 goto end

其中的 IP 地址改为服务器 IP 地址即可。

# 魔兽养老院第七版微变

一键架设服务器后,是不是觉得特别简单。当然,如果自己心仪的版本没有一键怎么办,那就看看魔兽养老院第七版如何架设吧。

此版本是基于纯净版 335 魔兽的修改,所以首先下载纯净 335 作为预备。

养老院版下载好后,会有两个文件夹, dengluqiHX-FZW ,首先来看 HX-FZW。

# 第一步

打开 \phpStudy\phpStudy.exe,确保 Apache 和 MySQL 都是启动状态

image-20240203002853569

# 第二步

打开 \ 网关 new\ 登录器网关.exe,点击启动服务。

image-20240203003015815

# 第三步

运行 \Core\335 文件夹下的 authserver.exe 与 worldserver.exe. 窗口不能关闭

在 worldserver.exe 框中输入 account create 账号 密码

在 worldserver.exe 框中输入 account set gmlevel 账号 3 -1

# 第四步

  1. 需要 N11 或者 Navicat 等工具连接数据库
  2. 连接 - MySQL-IP 默认地址 - 端口 3306 - 用户名 root - 密码 root 注意:这些都是安装 MySQL 的设置
  3. 打开表 acore_auth-realmlist - 修改 address 键为你的 IP - 保存
  4. 重新打开服务器,在 authserver.exe 的框里看到 Added realm “服务器名” at IP:8085 证明你数据库里的 IP 已经修改成功

# 第五步(可略过,有待考证)

  1. 安装小皮面板 下载链接 [注意:仅是我个人比较喜欢使用,可自行更换]
  2. 进入小皮后台 软件管理 - php7.3.4 - 设置 - 拓展管理 -GMP 启用
  3. github 获取网站源码 下载链接
  4. 进入小皮后台 安装网站 [注意:如果没有域名可安装,直接将网站复到..\localhost_80\wwwroot\ 文件夹内输入 IP 浏览]
  5. 修改..\application\config\config.php 配置
  6. 配置如下:
<?php
/**
* @author Amin Mahmoudi (MasterkinG)
* [url=home.php?mod=space&uid=761663]@copyright[/url]    Copyright (c) 2019 - 2021, MasterkinG32. (https://masterking32.com)
* [url=home.php?mod=space&uid=134709]@link[/url]    https://masterking32.com
* @Description : It's not masterking32 framework !
**/
/*===================================================================
baseurl
    That's your website URL. Example: "https://DOMAIN.COM"
page_title
    That's your website title. Example: "My WOW Private server!"
language
    Default website language (english/persian/italian/chinese-simplified/chinese-traditional/swedish/french/german/spanish/korean/russian)
supported_langs
        List of languages supported, You can remove each language you don't want!
        if you want to disable language changer, Change it to: $config['supported_langs'] = false;
=====================================================================*/
$config['baseurl'] = "你的域名"; // <font color="#ff0000"> 格式:https://www.iopq.net/</font>
$config['page_title'] = "Simple Register"; <font color="#ff0000">// 网站标题,自己喜欢就好 & lt;/font>
$config['language'] = "chinese-simplified";<span style="color: rgb(255, 0, 0);">// 语言,我已经默认中文了 & lt;/span>
$config['supported_langs'] = [
        'english' => 'English',
        'persian' => 'Persian',
        'italian' => 'Italian',
        'chinese-simplified' => 'Chinese Simplified',
        'chinese-traditional' => 'Chinese Traditional',
        'swedish' => 'Swedish',
        'french' => 'French',
        'german' => 'German',
        'spanish' => 'Spanish',
        'korean' => 'Korean',
        'russian' => 'Russian'
];
/*===================================================================
If you see a white screen or have an issue, you can enable it to see the errors.
Note that after testing, be sure to disable this option.
=====================================================================*/
$config['debug_mode'] = false; // ENABLE Debug mode if you got blank screen or 503 error, to see what happen?
/*===================================================================
Your server information.
realmlist
    Server Realmlist
patch_location
    If have patch set URL to download our patch here or make that empty
game_version
    Your game version
=====================================================================*/
$config['realmlist'] = 'IP'; <font color="#ff0000">// 你的服务器 IP 格式 192.168.0.1</font>
$config['patch_location'] = 'http://mypatch.com/patch.mpq';
$config['game_version'] = '3.3.5a (12340)';
/*===================================================================
Select your server expansion.
If you want to use advance template, Your images and backgrounds will be changed for your expansion.
0 = Classic
1 = The Burning Crusade (TBC)
2 = Wrath of the Lich King (WotLK)
3 = Cataclysm
4 = Mist of Pandaria (MOP)
5 = Warlords of Draenor (WOD)
6 = Legion
7 = BFA (I'm not sure about this one!)
=====================================================================*/
$config['expansion'] = '2'; <font color="#ff0000">// 游戏版本,2 代表 WLK3.3.5,如果选 1TBC,那么你注册后没有 DK 角色选择 & lt;/font>
/*===================================================================
Core Type:
0 = TrinityCore
1 = AzerothCore
2 = AshamaneCore
3 = Skyfire Project
4 = OregonCore
5 = CMangos
10 = etc
=====================================================================*/
$config['server_core'] = 1;<font color="#ff0000">// 游戏核心,1 代表 AzerothCore,上面可以看到他兼容很多核心 & lt;/font>
/*===================================================================
If your server is WoD/Legion/BFA you should enable it!
=====================================================================*/
$config['battlenet_support'] = false;<font color="#ff0000">// 如果是 AZ 核心必须为否,并提示你 PHP 的 GMP 必须开启 & lt;/font>
/*===================================================================
If your core password encryption is SRP6, you need to enable it.
For the last versions of the TrinityCore(3.3.5/master)/AzerothCore, you need to enable it. https://git.io/JJRH4 and https://git.io/JJrxq
Enable that if you use the last version of TC.
For old versions, Make sure this feature is disabled.
You need to enable the GMP extension for PHP.
=====================================================================
***************** GMP REQUIRED ********************
******Uncomment extension=gmp in your php.ini******
=====================================================================*/
$config['srp6_support'] = true; // READ COMMENTS, [Please ENABLE GMP]
/*===================================================================
If you have an issue with top players or online players you can disable them!
disable_top_players
    Disable server top players page [true: Hide top players page]
disable_online_players
    Disable online players page [true: Hide online players page]
disable_changepassword
    Disable change password
    Change this to true, If you are using SOAP for registration.
=====================================================================*/
$config['disable_top_players'] = false;
$config['disable_online_players'] = false;
$config['disable_changepassword'] = false;
/*===================================================================
Allow to users make account with an email for several accounts (Just work for non-battle.net servers)
=====================================================================*/
$config['multiple_email_use'] = false;
/*===================================================================
Template name, You can change it to:
light
advance
icecrown
kaelthas
battleforazeroth
=====================================================================*/
$config['template'] = 'light';<font color="#ff0000">// 选择你喜欢的模板,我默认 light 了 & lt;/font>
/*===================================================================
SMTP config.
We need this part to send an email. (used for restore password and 2FA)
You can use your own SMTP or Gmail/Yahoo/Hotmail and etc
smtp_host
    Specify main and backup SMTP servers
smtp_port
    TCP port to connect to
smtp_auth
    Enable SMTP authentication
smtp_user
    SMTP username
smtp_pass
    SMTP password
smtp_secure
    Enable TLS encryption, `ssl` also accepted
smtp_mail
    Send emails by ...
=====================================================================*/
$config['smtp_host'] = 'smtp1.example.com';
$config['smtp_port'] = 587;
$config['smtp_auth'] = true;
$config['smtp_user'] = 'user@example.com';
$config['smtp_pass'] = 'SECRET';
$config['smtp_secure'] = 'tls';
$config['smtp_mail'] = 'no-reply@example.com';
/*===================================================================
vote_system
    You can enable/disable vote system.
    Vote system is a simple and don't have postback or something like that to verify the votes
    If you use Cloudflare and you have issue with IPs and voting, Read this: https://support.cloudflare.com/hc/en-us/articles/200170786
vote_sites
    Your vote sites and images, must be array.
=====================================================================*/
$config['vote_system'] = true;
$config['vote_sites'] = array(
    array(
        'image' => 'http://www.top100arena.com/hit.asp?id=93137&c=WoW&t=2',
        'site_url' => 'http://www.top100arena.com/in.asp?id=93137'
    ),
    array(
        'image' => 'https://topg.org/topg.gif',
        'site_url' => 'https://topg.org/wow-private-servers/in-479394'
    ),
    array(
        'image' => 'http://www.xtremeTop100.com/votenew.jpg',
        'site_url' => 'http://www.xtremetop100.com/in.php?site=1132364316'
    )
);
/*===================================================================
You can use Image captcha or HCaptcha or Recaptcha v2.
If you want to use Recaptcha v2 or HCaptcha required to enable cURL in your PHP.
** We recommend using HCaptcha. **
captcha_type
    0) Image Captcha
    1) HCaptcha
    2) ReCaptcha v2
    +2) Disable captcha. (DON'T DO THAT!)
For image captcha, you don't need to put anything for captcha_key captcha_secret or captcha_language.
captcha_secret/captcha_secret
    To get key and secret for HCaptcha go to https://hCaptcha.com/?r=6d4f9117ba12
    To get key and secret for Recaptcha go to https://www.google.com/recaptcha
captcha_language
    https://docs.hcaptcha.com/languages
    https://developers.google.com/recaptcha/docs/language
=====================================================================
******Uncomment extension=gd2 in your php.ini******
=====================================================================*/
$config['captcha_type'] = 0;
$config['captcha_key'] = '';
$config['captcha_secret'] = '';
$config['captcha_language'] = 'en';
/*===================================================================
soap_for_register
    Don't Enable it for AzerothCore/TrinityCore/SkyFire and AshamaneCore.
    If you enable that you need to disabled change password feature.
    If you want to enable Two-Factor Authentication (2FA) you don't need to enable this option.
    For Two-Factor Authentication (2FA)  just need to config other parts of the SOAP.
SOAP features need to enable soap in your PHP.
soap_host
    SOAP server address
soap_port
    SOAP server port.
soap_uri
    urn:TC for TrinityCore
    urn:AC for AzerothCore
    urn:MaNGOS for Mangos
soap_style
    SOAP style
soap_username
    SOAP account username
soap_password
    SOAP account password
soap_ca_command
    Create account command
    You can use it like this too: '.account create {USERNAME} {PASSWORD} {PASSWORD} {EMAIL}'
    Check create account command in your server!
soap_cp_command
    Change password command
    account set password {USERNAME} {PASSWORD} {PASSWORD}
    Check change password command in your server
soap_asa_command
    If you use soap_for_register, You need to set this command.
    This command will be run after soap_ca_command.
    If you don't want to run any command after soap_ca_command you can make it empty like this: ''
    account set addon {USERNAME} {EXPANSION}
=====================================================================
******Uncomment extension=soap in your php.ini******
=====================================================================*/
$config['soap_for_register'] = false;
$config['soap_host'] = '127.0.0.1';
$config['soap_port'] = '7878';
$config['soap_uri'] = 'urn:MaNGOS';
$config['soap_style'] = 'SOAP_RPC';
$config['soap_username'] = 'admin_soap';
$config['soap_password'] = 'admin_soap';
$config['soap_ca_command'] = 'account create {USERNAME} {PASSWORD}';
$config['soap_cp_command'] = 'account set password {USERNAME} {PASSWORD} {PASSWORD}';
$config['soap_asa_command'] = 'account set addon {USERNAME} {EXPANSION}';
/*===================================================================
Two-Factor Authentication (2FA)
Your core must support 2fa.
This feature just works for cores that have 2fa command.
If your core support 2fa but don't have any command, you can check this: https://github.com/masterking32/WoWSimpleRegistration/pull/20 (Support some of the cores, Required to use 2fa for registration.)
You need to config SOAP too but you don't need to enable 'soap_for_register'.
For security reasons, We used email to enable 2fa, You need to enable SMTP config.
2fa_support
    You can enable or disable it. (true/false)
soap_2d_command
    Command to disable 2fa.
    account set 2fa {USERNAME} off
soap_2e_command
    Command to enable 2fa.
    account set 2fa {USERNAME} {SECRET}
=====================================================================*/
$config['2fa_support'] = false;
$config['soap_2d_command'] = 'account set 2fa {USERNAME} off';
$config['soap_2e_command'] = 'account set 2fa {USERNAME} {SECRET}';
/*===================================================================
You Auth/Realmd MySQL information.
db_auth_host
    Auth Database Host
db_auth_port
    Auth Database Port
db_auth_user
    Auth Database Username
db_auth_pass
    Auth Database Password
db_auth_dbname
    Auth Database DBName
=====================================================================*/
$config['db_auth_host'] = '127.0.0.1'; <font color="#ff0000">// 数据库所在服务器的 IP</font>
$config['db_auth_port'] = '3306'; <font color="#ff0000">// 端口 & lt;/font>
$config['db_auth_user'] = 'root'; <font color="#ff0000">// 账号 & lt;/font>
$config['db_auth_pass'] = 'root'; <font color="#ff0000">// 密码 & lt;/font>
$config['db_auth_dbname'] = 'acore_auth'; <font color="#ff0000">// 账号数据库的表名 & lt;/font>
/*===================================================================
Your character's databases.
If your server has a lot of realms you can check the example at the bottom of the file.
=====================================================================*/
$config['realmlists'] = array(
    "1" => array(
        'realmid' => 1, // Realm ID
        'realmname' => "NcwWow", // Realm Name
        'db_host' => "127.0.0.1", // MySQL Host IP
        'db_port' => "3306", // MySQL Host Port
        'db_user' => "root", // MySQL username
        'db_pass' => 'root', // MySQL password
        'db_name' => "acore_characters" // Characters database name
    )
);
/*
**********************************
* EXMAPLE OF MORE THAN ONE REALM *
**********************************
<font color="#ff0000">// 下面可自定义服务器列表,多区显示 & lt;/font>
$config ['realmlists'] = array ( // Add your realmlist here
    "1" => array (
        'realmid' => 1,
        'realmname' => "Realm 1",
        'db_host' => "127.0.0.1",
        'db_port' => "3306",
        'db_user' => "root",
        'db_pass' => "root",
        'db_name' => "rm1_chars"
    ),
    "2" => array (
        'realmid' => 2,
        'realmname' => "Realm 2",
        'db_host' => "127.0.0.1",
        'db_port' => "3306",
        'db_user' => "root",
        'db_pass' => "root",
        'db_name' => "rm2_chars"
    ),
    "3" => array (
        'realmid' => 3,
        'realmname' => "Realm 3",
        'db_host' => "127.0.0.1",
        'db_port' => "3306",
        'db_user' => "root",
        'db_pass' => "root",
        'db_name' => "rm3_chars"
    )
);
*/
$config['script_version'] = '2.0.2';
  1. 开启服务器,浏览网站,查看是否可以注册

# 第六步

进入 \dengluqi\ 文件夹,修改登录器.bat 中或者 realmlist.WTF 中的 IP 地址。

将整个 dengluqi 文件夹复制进 335 根目录内即可。

# 至此大功告成。