当前位置:首页 > 我的杂物 > 正文内容

玩《暗黑破坏神II》战网,谈服务器架构。

Peirre3年前 (2022-05-24)我的杂物404

6.jpg

这两天玩了一下暗黑破坏神这个游戏,是114a版,和113c版本,113c版是典藏版,问题是不能连网。

114a是连战网的版本,113c可以挂地图全亮,114a没有数值外挂,用搜狗五笔输入法可以输入汉字。

114a是新的战网版本,我看了一下两个版本的文件,基本大小一样,就是有一个pach_D2.pmq大小不一样。

还有个文件binkw32.dll 大小不一样。这两个版本合在一起那就是一个MOD包游戏。都有缺点,于是组合了一个。

在113c服务器和114a服务器上好像是通用的,因为今年的战网我这上篇发的战网注册补丁的战网,刚刚在建设。

还有很多汉化和设置习惯问题正在发展。所以本人也加入了战网的冒险队。就这几天,传个心得和疱丁解牛方程式。

看我生活,一直很无味,游戏之后还看下篇,共同生活。

说起来这个注册表,一直是windows 系列都有的。以前windows 3.12 版时,应用程序用的是 ini 设置文件。

后来在win95之后,就用了注册表设置应用软件这个概念。很多人要么对注册表很懂,要么根本不懂。

我只谈一部分。一些常识网上可以了解。

暴雪公司有两块注册软件的部分。

[HKEY_CURRENT_USER\SOFTWARE\Blizzard Entertainment\Diablo II]

这个部分是当前户设置区的软件注册,这是暴雪战网的软件设置区,其中一个游戏软件是Diablo II

[HKEY_CURRENT_USER\Software\Battle.net\Configuration]

这个部分是当前用户的软件区Battle.net是战网、Configuration是战网网址目录和战网网络公共区

其中有个字段“BNETIP"="x.x.x.x"(x.x.x.x 是实际域名) 是主要的战网连线方式。

1.jpeg

注册表文件可以右键鼠标看文本,regedit命令可以打开注册表 有两个战网网关,Battle.net gateways 和 Diablo II Battle.net gateways两个字段它的值是不是16进制的都一样。

"Battle.net Gateways"=hex:31,30,30,32,00,30,00,31,39,32,2E,31,36,38,2E,31,\

2E,32,00,30,00,41,68,69,6E,61,00,00

这翻译过来就是类似于这样子的。

1.jpg


有脚本例子,修改战网主IP地址可以直接跳到战网上去。Diablo II 游戏软件实际是

2.jpg

这个脚本,可以更改字符串改成自己的,上个注册表截图已经说明了问题。没什么问题。


现手有一个服务器的服务软件,可以用来模拟战网。这服务器的软件是PvPGN 中文意思是玩家对战玩家的游戏网络。

这个服务器软件看得出来和以前的聊天服务软件有点类似,都是一种方式。以前的网络聊天室都差不多。

这服务,有几个分服务,一个是记录角色的,一个是记录游戏存档内容的,还有一个是加载游戏模块的,分别为d2cs,d2cdb,PvPGN,还有一个是整合这三个服务的d2gs。

当然,d2gs可以自己编写。另外还有一个数据库,一个记录临时的cdb文本数据文件,一个记录sql记录压缩数据库。做一般尝试,就cdb。

另外,还有一个内网和外网的问题。设置IP和域名这一类老的方法一直在用,就不用多说。还有端口问题,就是内网穿出外网有多重限制,有些设置看起来很对,但是实际不一样。

因为网络服务是服务软件的整合,最后做成一个服务实际程序大小不太大,但是要花时间。面对脚本问题,始终是一个头疼的问题,常常会漏和有一定的错位感。

要么从外到内,要么从内到外,一个结点一个结点的试验。不是难度,而是有一定的复杂度,就是各软件整合的设置问题,IP网址问题,各个服务流的规则,系统影响,和网关屏蔽点,域名,还有实际的连接。

无线网和有线网,内网和外网,路由,硬网络地址,还有安全软件的设置,等等都不可小视。

一个游戏的战网,要保存用户名,要校验客户端的软件和服务器用户文件的一致,还有数据的转向,分类,和识别。还有一些服务软件本身的设置环境和服务器的环境不一致问题。

还有服务器脚本的自动刷新内容,和改写设置不小心的还原性。还有数据的平衡。

我的启动批处理文件。

run.bat
d2gs
d2gs | PvPGN | d2cs | d2dbs
pause

命令行启动方式

install.bat
@echo off 
rem d2gs.exe -s install
PvPGNConsole.exe -s install 
d2csConsole.exe -s install 
d2dbsConsole.exe -s install

这种方式基本不要。

还有一个补充方式。

启动.bat
net start d2gs
net start pvpgn
net start d2cs
net start d2dbs
pause

把相关游戏主要函数动态库文件,后缀为dll的,拷贝到服务器上。

用脚本把游戏函数功能模拟出来。加入主要MOD包数据。就是游戏的场景角色移动,物件,地理位置,对手,玩家这些数据和服务器的数据比对,服务器作数据统计分析。

服务器转发两个或多个玩家的在线游戏数据内容。游戏数据在客户端最后由游戏软件再构造成图和游戏环境。



已经正确无误,但是突破外网,还要作一定的转向和映射。还有网络安全问题,这实际是软件问题。计算机的软件越多,授众越多,安全度就会下降。

一个程序员,为了生活,会加些不相关代码。那就要看人们的思想进化程度了,一个word 一个 world 一个字一个世界。

还有很多细节,那就要看对文件名的类别熟悉程度了,也就是归类,分析,和改写脚本,有些数据结构不可以轻易动,一定要考虑成熟。是个熟练工作。但是数据的归类范围很大。各类知识水平要高。还要心细。

这个服务脚本,有时一个大小写就不能通过,如服务器整合后的实名,还有是否是正式版等等,还有一些插件的编写。可以说做计算机服务器的服务程序的,都是数据分类工。心太累...............

4.jpg

分享给朋友:

相关文章

架设自己的导弹防御系统(附电路图&PCB、雷达+导弹、纯雷达源码)-USB雷达

架设自己的导弹防御系统(附电路图&PCB、雷达+导弹、纯雷达源码)-USB雷达

雷达大家都见过(起码电视上见过),每次看到觉得很爽啊,能探测各种障碍物,要是自己能够拥有一个就太棒了。而有人不光敢想,更敢于将想法付诸实践(这也是我们所缺少的),他真的做出了一个非常酷的USB雷达。雷...

滤波扼流圈的设计与计算

滤波扼流圈的设计与计算

    1.铁芯截面积的计算公式:    Sc——铁芯截面积(厘米2)    L ——电感量(亨)&...

Dolphin 模拟器在WIN10和Linux mint 下使用真实的WII控制手柄。

Dolphin 模拟器在WIN10和Linux mint 下使用真实的WII控制手柄。

很多以前的WII游戏是可以在电脑上玩的。自从买了一张别人开发的WII模拟器集成软件之后,发现电脑使用WII模拟器一点也不难。Iplay 是一个体感游戏大厅,分收费零售版和免费版,免费版和收费零售版不一...

谈点我研究雷达的那点事情。

谈点我研究雷达的那点事情。

说实话雷达并不是我的第一个项目。有关雷达的研究,大家可以看我的这个网站的其它文章。说实话这个网站一开始就是为了研究雷达和电子测量开的网站。一直想以这个题材为中心。这个雷达项目绝对是一个好题材。深入研究...

linux mint 下的网桥设置,附window 10 网桥的建立。

linux mint 下的网桥设置,附window 10 网桥的建立。

家有板载双网卡的电脑一台,一直以来都是正常使用。接一个网线,直接通过路由上网。另外一个网卡不知道怎么使用一直是备用状态。今天大年初一,心情比较轻松。于是试了一下另外的一个网卡。我的迷你电脑有两个端口,...

电脑上的卫星电视的条件接收和接收最新密钥[国外]

电脑上的卫星电视的条件接收和接收最新密钥[国外]

卫星电视条件接收有几种。我现在介绍一个常用的。注:我的天线和卡搬新家之后一直没装,只介绍电脑部分。使用dvbdream这个软件。开始DVBDream这个软件后,会选择卫星接收卡这个设备,如果电脑安装这...