号外号外!给兄弟们汇报下近期三款热门游戏万灵山海、DOF、新大话西游更新内容

前言

嗯,这次给大家带来的不是啥新游戏哈,是已经开服的 3 款热门游戏《万灵山海》《DOF》和《新大话西游》的更新内容~

可能有人会问为啥没出新游戏?其实出新游比更新完善游戏要简单一些,但是我觉得既然我开了一款游戏,我就要对游戏和玩家负责,游戏的 BUG 还有玩家反馈的需求要处理完,这样我才能安心继续研究新游戏哈~

这 3 款游戏的更新我先总结发出来,后文的游戏更新更偏于技术向,大家感兴趣可以看看,不想看就直接看我总结的就好啦~

  • 1.《万灵山海》:更新了游戏架设教程,每日签到礼包新增了精灵球上古异兽和星辰技能书等。
  • 2.《DOF》:修复了多角色创建、主线任务完成券、时装/宠物清理券等。赛丽亚商店新增完美装备保护券、矛盾的结晶体、技能书,各种功能券等。
  • 3.《新大话西游》:更换了服务器,需重新下载客户端,玩家游戏数据保留,经验倍率改为 30 倍。

以上游戏均可关注我的公众号 echeverra, 发送对应的游戏名,即可免费获取游戏客户端、GM后台、架设教程和源码。

同时呢新游戏《龙之谷》和《口袋觉醒》我也已经提上了日程,我新建了专属的游戏测试群,大家感兴趣可以提前体验。先说好哈,测试群不同游戏交流群,因调试游戏可能会随时清档,还需要大家反馈游戏问题,介意者勿进哈,直接等我出成品游戏就好~

游戏更新

万灵山海

万灵山海主要更新了每日签到的物品。全部教程内容可查看万灵山海架设教程,以下为此次更新内容:

每日签到

游戏玩半个月后,玩家反馈有一些道具物品难度获得极大,或者根本无法获取,比如星辰技能书和精灵球上古异兽,所以我准备通过每日签到,每天送给大家。

首先在 PhpMyadmin 中找到数据库ruankoray_gameconfig,执行 sql 语句:

INSERT INTO `ay_gameconfig` VALUES
(62,'qiandao_item2','qiandao','Qiandao item','','string','','56368','value1|title1\r\nvalue2|title2','','','{\"table\":\"\",\"conditions\":\"\",\"key\":\"\",\"value\":\"\"}'),
(63,'qiandao_num2','qiandao','Qiandao num','','string','','1','value1|title1\r\nvalue2|title2','','','{\"table\":\"\",\"conditions\":\"\",\"key\":\"\",\"value\":\"\"}'),
(64,'qiandao_item3','qiandao','Qiandao item','','string','','33011','value1|title1\r\nvalue2|title2','','','{\"table\":\"\",\"conditions\":\"\",\"key\":\"\",\"value\":\"\"}'),
(65,'qiandao_num3','qiandao','Qiandao num','','string','','1','value1|title1\r\nvalue2|title2','','','{\"table\":\"\",\"conditions\":\"\",\"key\":\"\",\"value\":\"\"}')

增加签到道具qiandao_item2qiandao_item3,物品代码分别是5636833011,大家可以通过文件/data/www/agent/public/gmht/user/item_gm.txt找到物品代码,数量分别设置为 1 个。

然后修改后台文件/data/www/agent/application/api/controller/Bnb.php,幸好我找的这个版本后台不是加密的,所以可以自行更改。

代码如下:

public function player_qiandao()
    {
        ...
        $params11 = \think\Db::name("gameconfig")->field("value")->where("name", "qiandao_money")->find();
        $params12 = \think\Db::name("gameconfig")->field("value")->where("name", "qiandao_item")->find();
        $params13 = \think\Db::name("gameconfig")->field("value")->where("name", "qiandao_num")->find();
        // 增加签到物品
        $params14 = \think\Db::name("gameconfig")->field("value")->where("name", "qiandao_item2")->find();
        $params15 = \think\Db::name("gameconfig")->field("value")->where("name", "qiandao_num2")->find();
        $params16 = \think\Db::name("gameconfig")->field("value")->where("name", "qiandao_item3")->find();
        $params17 = \think\Db::name("gameconfig")->field("value")->where("name", "qiandao_num3")->find();
        $user = explode("_", $request["user_id"])[1];
        $params = \think\Db::name("qiandao")->where("user", $user)->find();
        $usermoney = \think\Db::name("user")->where("username", $user)->find();
        $param = $params11["value"];
        $newmoney = $usermoney["money"] + $param;
        if (!$params) {
            $dataA = ["server_id" => $request["server_id"], "user" => $user, "role_id" => $request["role_id"], "role_name" => $request["role_name"], "time" => time(), "ip" => $ip, "result" => "1"];
            $datab = \think\Db::name("qiandao")->insert($dataA, true);
            if ($datab) {
                $dataa = \think\Db::name("user")->where("username", $user)->update(["money" => $newmoney]);
                $this->GMmail($request["server_id"], $request["role_id"], $params12["value"], $params13["value"]);
                // 增加签到物品
                $this->GMmail($request["server_id"], $request["role_id"], $params14["value"], $params15["value"]);
                $this->GMmail($request["server_id"], $request["role_id"], $params16["value"], $params17["value"]);
                $data = "签到成功,获得 归元币*1388,其余奖励请到邮箱查收。";
            }
        } else {
            $lastSignInDate = date("Y-m-d", $params["time"]);
            $currentDate = date("Y-m-d");
            if ($lastSignInDate == $currentDate) {
                $data = "今日已签到";
                $init_info = ["ret" => 0, "data" => $data];
                return json_encode($init_info);
            } else {
                $dataa = \think\Db::name("qiandao")->where("user", $user)->update(["time" => time()]);
                $dataa = \think\Db::name("user")->where("username", $user)->update(["money" => $newmoney]);
                $this->GMmail($request["server_id"], $request["role_id"], $params12["value"], $params13["value"]);
                // 增加签到物品
                $this->GMmail($request["server_id"], $request["role_id"], $params14["value"], $params15["value"]);
                $this->GMmail($request["server_id"], $request["role_id"], $params16["value"], $params17["value"]);
                $data = "签到成功,获得 归元币*1388,其余奖励请到邮箱查收。";
            }
        }
        $init_info = ["ret" => 0, "data" => $data];
        return json_encode($init_info);
    }

如果当天已经签到的,想重新今日签到,可以清空数据库ruankoray_qiandao,无需重启,登录游戏进个人中心,点击今日签到,就可以邮箱领取新增的签到物品啦!Nice~

DOF

DOF 主要是通过 Dp2 修复了一些 BUG,还有通过修改版本 PVF 实现了 NPC 商店的修改。全部教程内容可查看DOF架设教程,以下为此次更新内容:

游戏设置

游戏有两个比较常用的设置,一个是多角色创建,如果不设置一个账号只能创建 2 个角色,还有一个是无限疲劳,可以让大家刷到爽,不受疲劳值的限制。

这两个设置可以通过花枝登录器后台管理工具设置,打开花枝登录器3.4.1\后台管理工具\后台管理工具3.4.1.exe,点击开关管理,再点击右下角修改本页内容,将解除角色限制勾选上,最后点击保存本页内容,这个不需要重新启动游戏,就可以创建多角色。

无限疲劳设置需要点击杂项管理中的活动,点击右侧一键添加活动,在弹窗中选择无限疲劳活动,参数 1 填写 1 即可,然后点击添加添加活动,重新启动游戏即可,这样刷图就不会消耗疲劳啦~

游戏 BUG 修复

游戏经过一段时间的试玩发现有一些 BUG,比如主线任务完成券无法完成全部主线,点击金毛球宠物会卡死掉线等,还有一些玩家反馈时装宠物满了无法清理等等- -。

经过自己的一番查找,发现了一个好东西 Dp2 插件,是专门用来挂载 DOF 可以扩展功能的脚本,我已经把 Dp2 放在分享资源中的补充资源目录中,已经修复主线任务清理、时装/宠物清理、装备继承、万能跨级石,同时新增了史诗播报、副本时间播报等功能。

下面具体说下 Dp2 的挂载方法,首先将Dp2Frida2.tar.gz文件上传到服务器根目录/,输入命令解压:

tar -zxvf Dp2Frida2.tar.gz

解压后,找到文件/dp2/df_game_r.js,用文本编辑器打开。

按 Ctrl+F 将127.0.0.1全部替换为你服务器的 IP,然后按 Ctrl+S 会自动保存上传。

再找到文件/dp2/frida/fiida_config.json,同样使用文本编辑器打开,将127.0.0.1替换为你服务器的 IP,再将uu5!^%jg改为你自己设置的数据库密码,然后保存即可。

文件/dp2/df_game_r.lua我已按照重生的 PVF 中的物品代码对应改好了,不需要再修改。如果你使用的是其他的版本,记得将对应的物品代码修改下。

最后修改启动/root/run文件,拉到最后,找到./df_game_r siroco11 start &,改为:

LD_PRELOAD="/dp2/libdp2pre.so" ./df_game_r siroco11 start &

注意中间有空格哈。可以将最后一行启动 56 频道代码前加 # 注释掉,减少内存占用,只开启 11 频道即可,然后重新启动游戏:

cd /root
./stop;./stop;./run

启动成功后,我们来测试下,还是打开花枝登录器后台管理工具,我们给角色发送一个宠物清理券,代码是2021458806,后面我会教大家怎么来查看物品代码哈。

发送成功后登录角色,使用宠物清理券,会自动清空宠物栏前两排的宠物,Nice~

商店添加道具

虽然 BUG 修复了,功能也新增了,但是玩家很多的道具物品还是无法获取到,比如完美保护券、矛盾、技能书等,怎么办呢?好办,我们将道具物品放到赛丽亚商店让大家自行购买就好了~

首先我们需要使用补充资源中的pvf工具\pvfUtility\pvfUtility.exe,双击打开 PVF 编辑器,左上角文件打开封包,找到 PVF 版本文件打开,找到文件itemshop/equipmentshop7.shp,这个就是赛丽亚的商店了。

其中sell item中的内容就是赛丽亚商店售卖的物品代码,我们只需要按照原有的格式加上想要卖的物品代码就可以啦,其中的-1代表格子是空的。

那怎么查找物品代码呢?比如我们想找完美装备保护券,那就上方搜索,找到对应的文件打开。

文件前面的7804就是物品代码了,我们还可以对物品的一些属性进行修改,比如price代表买入价格,设置为1000000金币。

找到想要的物品代码后我们就可以加到赛丽亚商店的文件啦~

可以看到我加了很多的物品代码,以下是我整理的常用的需要加到赛丽亚商店的物品代码:

完美装备保护券 7804
矛盾的结晶体 3242
sp+20技能书 1038
tp+5技能书 1205
主线任务完成券  8338
万能跨界石 8346
物品栏扩展券 2660298
宠物清理券 2021458806
时装清理券 2022110503
装备继承券 2022110505

一定要按照指定格式更改,改完 PVF 文件后,左上角文件封包另存为,将新的 PVF 版本文件上传到服务器/home/neople/game/目录下,将原来的文件覆盖,再重新启动游戏~

服务端 PVF 改完后我们继续改客户端的 PVF,需要玩家重新下载 5G 多的客户端么?不需要,我们可以通过在线更新的方式实现客户端更新,就跟官服的一样,是不是很方便,操作如下。

再次打开花枝登录器后台管理工具,登录器设置界面,点击修改本页内容,然后再点击 PVF 加密,选择修改后的Script.pvf文件,加密后会生成一个新的Script.pvf文件。

我们将这个新的Script.pvf文件压缩成 ZIP 格式的文件,命名随意。

然后我们要将这个新生成的 ZIP 文件通过直链的方式获取到,由于压缩文件 100M 多一点,玩家下载对服务器负担还是比较大的,所以我放到了我的资源服务器中。将 ZIP 压缩文件上传到资源服务器目录/www/wwwroot/dof,再创建一个站点,域名设置为你资源服务器的 IP,port 端口不要被占用就好,路径选择/www/wwwroot/dof,这样我们就可以通过http://IP:port/xxx.zip直链的方式访问到压缩文件啦。

最后我们在花枝登录器后台管理工具中的登录器设置界面,右上角更新链接填写访问 ZIP 文件的链接,选择直链,一定要把下面的 PVFMD5 验证勾选上,客户端会对比 MD5 值判断是否更新,最后保存本页内容。

自动更新设置好后,我们重新打开客户端登录文件,会发现,游戏自动更新啦!

更新完后,进入游戏,打开赛丽亚商店,我们就可以看到商店里新增的物品啦,能够成功购买就说明修改成功啦!Nice~

新大话西游

新大话西游主要是更换服务器数据迁移的更新。全部教程内容可查看新大话西游架设教程,以下为此次更新内容:

更换服务器

由于原服务器马上到期了,所以近期我更换了服务器,配置方面选择了 2-2-4 配置的低配服务器,经济是一方面,还有一点就这个游戏对服务器配置要求并不高,运行内存大概占用 3G 左右,开个虚拟内存就可以,热更也只有 20M 左右,4M 宽带就够啦~

游戏已经开服了几个月,很多玩家花费了大量时间去玩,所以换服务器游戏数据也要保留,不能辜负了玩家的心血~

游戏中使用到了 3 个数据库,MysqlRedisMongoDB,但测试下来发现其实只需要导入Mysql数据库,数据就会同步过来,另外两个无需处理。

更换完服务器后大家需要重新下载客户端才能进入游戏,同时为了方便大家快速升级毕业,游戏经验倍率改为了 30 倍~

总结

游戏修复的过程可能会比架设枯燥一些,没有了当初架设成功,进入游戏那一刻的喜悦感!反而因为一些 BUG,你只能努力理解代码和数据库表信息,尝试想办法修复规避,无奈有的致命 BUG 只能放弃。但只要能修复成功或者规避解决掉,那种成就感绝对是无以言表的!

在 DOF 的修复过程中,我遇到很多 DOF 大佬都很热衷于研究修改 PVF,也是有了他们的指导我才成功挂载了 Dp2,修改了 PVF,在此感谢指导我的那些大佬,感谢你们的无私耐心指导,在这里给你们抱拳啦!

也希望我写的这些可能在大佬看来幼稚的教程,能给一些想自己架设修改游戏的人们一些引导,少走一些弯路,同样感谢你们的支持和肯定,我才有坚持下去的动力!

好啦,以上就是近期的三款游戏《万灵山海》《DOF》和《新大话西游》的更新内容啦,希望对你有所帮助,有问题可通过我的博客 https://echeverra.cn 或微信公众号 echeverra 联系我哈。

最后还是祝大家游戏愉快,工作顺利,生活顺心~

(完)

(文章今日已有 1 人访问 ::>_<::)
文章首发于我的博客 https://echeverra.cn/20250325-update,原创文章,转载请注明出处。
欢迎关注我的微信公众号 echeverra,一起学习进步!不定时会有资源和福利相送哦!

评论

  1. Windows Edge
    新疆乌鲁木齐市 电信
    3 天前
    2025-3-25 19:51:11

    游戏永无止境!

    • 博主
      茗辰原
      Windows Chrome
      北京市 移动
      2 天前
      2025-3-26 8:58:04

      哈哈,这slogan不错!

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇