魔力宝贝下载更新系统的一个BUG[请网星技术人员关注一下]
每次重大的更新,总有人会遇到以下问题:
音效档更新失败(divideSoundFiles:-2)
图型档更新失败.
一般知道怎么解决的会把魔力宝贝安装目录下的BIN文件夹下的某些文件删掉即可顺利更新.不知道怎么解决的只好重装魔力,但有的时候重装也不一定解决问题.(指覆盖安装,完全卸载安装应该不存在这种问题).事实上,无需重装魔力.这个是魔力宝贝更新系统的一个BUG(事实上和WINDOWS机制也有点关系).
魔力宝贝的下载更新系统,对文件名大小写很敏感.而WINDOWS系统对文件大小写的处理有点随便.这两者的不和谐造成了某些莫名其妙的错误产生(比如本文开头所提到的)
举个例子:cgtest_38.exe是测试服务器所用的文件,正常情况下执行文件名为:cgtest_38.exe,但如果你把首字母变大写:Cgtest_38.exe,那么进入游戏的时候会提示你更新[更新文件名为:cgtest_38.exe],但由于WINDOWS系统大小写不区分的问题,cgtest_38.exe更新完毕以后的名字还是Cgtest_38.exe(WINDOWS系统认为是同名覆盖),那么不管你更新几次,下次进行游戏的时候还是会提示你更新.因为魔力认为:cgtest_38.exe不等同于Cgtest_38.exe,换句话说程序无法识别Cgtest_38.exe.这个还是小问题,但致命的是音效档更新失败/图型档更新失败.这些错误很容易让你摸不着头脑.产生这些错误的可能原因是:发布程序以及更新的时候没有注意大小写问题或者玩家无意中变动了文件名的大小写.
比如2.0的安装盘中的音效档(假定为Sound_1.bin),到3.0的时候更新的时候音效档文件变大,文件名变更为sound_1.bin,玩家更新的时候,WINDOWS系统认为是同名覆盖,更新后的文件还是Sound_1.bin,那么可能本次更新后能直接进入游戏,但下次再进的时候就产生了音效档更新失败的错误了.(在早期版本中是无法更新完毕以后直接进入游戏的,当更新完毕以后会提示你退出在运行.3.0以后能直接进入了.这个可能是针对这个BUG的一个变动?)
做个简单的测试,只要你把BIN文件夹下的音效档sound_1.bin,变更为Sound_1.bin,再运行魔力,进入任何服务器,开始游戏,马上就会弹出:音效档更新失败(divideSoundFiles:-2),这个错误不会提示你更新.直接退出游戏.
或者把GraphicInfo_14.bin变更为:graphicInfo_14.bin,同样,进入以后马上提示你更新一大堆文件:GraphicInfo_1*.bin,同样,由于WINDOWS系统同名覆盖问题,GraphicInfo_14.bin即使更新了还是小写的graphicInfo_14.bin.每次启动都会重复提示你更新...
上述的大小写问题个人认为是个BUG,对于音效档更新失败(divideSoundFiles:-2)/图型档更新失败这些错误可能是玩家无意间变动了文件名大小写引起(毕竟每次更新产生类似错误的玩家似乎在少数?),但不排除其他状况的可能.(比如各大提供魔力客户端程序下载的站点在发布时无意间变动的原始文件的大小写,比如1.0的时候官方的音效档为大写Sound_xx.bin,而提供客户端程序下载的站点无意间变更为sound_xx.bin,那么通过下载安装的1.0中的音效档为小写sound_xx.bin,1.0无须更新,自然能直接运行,但当涉及到音效档更新的时候,比如下载更新系统更新的文件为Sound_xx.bin,那么通过在线更新则会产生音效档更新失败错误.买盘的可能就没这错误,但如果是覆盖安装,那么同理,可能产生类似错误.这就是为什么覆盖安装了也无法进行游戏,而完全卸载安装就能顺利游戏的道理).同样,也有可能官方无意间产生的错误.(但可能性比较小)
顺便再提一个小BUG:魔力宝贝在IE脱机工作选中的状态下即使网络连接是连通的,还是会弹出:无法与更新伺服器连线/无法取得魔力宝贝更新档的错误.
顺便提一个比较奇怪的现象:
我的电脑是98和2000 SERVER双系统(CII533 384M,操作系统安装两年多了,没重装过...),一直以来都在2000下玩魔力.2000下魔力只能全屏双开转转东西,窗口双开根本无法游戏(也就无法自己带自己练级了...).
今日临晨睡不着,突然想试试98下能不能窗口双开(快把98忘了,好久不进了),但不知道不安装是否能直接玩魔力(魔力我是在2000下安装的),于是进98试试.
进去以后先是更新cg_41.exe(正式),然后提示音效档更新失败.
再此之前:2000下的文件名:Cg_41.exe,Sound_1.bin(音效档),能顺利进行游戏...
当时有点灰心,以为要在98下玩的话要重装魔力.后来几次在98和2000下切换来看,发觉文件大小写问题.之后在98下将Cg_41.exe和Sound_1.bin更改为:cg_41.exe和sound_1.bin就能顺利进入游戏了.不再提示音效档错误.但问题来了.到2000下,以cg_41.exe和sound_1.bin能进入游戏,但若改为Cg_41.exe和Sound_1.bin,则提示我更新cg_41.exe和产生音效档错误了...真有点莫名其妙.之前以Cg_41.exe和Sound_1.bin在2000下是能进行游戏的.
2000下能正常运行的配置在98下就产生了错误,但我仅仅改动了两个文件的首字母大小写,就能顺利在98下玩了.但这时候在2000下以原来的文件名(首字大写)就无法玩了.
对于双系统或多系统共存,在一个系统中安装了魔力,应该可以在多个系统中运行.或者对于单系统,比如你C盘安装的是9X/2000/XP等系统,魔力安装在D盘,C盘格式化重装系统以后不必再重装魔力,直接运行即可.但对于多系统可能会产生一些比较奇怪的错误.如上面我所遇到的.
可以说,魔力似乎与注册表无关.(虽然它在注册表中写入了一些东西,但在98下我并没有进行安装,还是能进行进行游戏).所以各位有重装系统的如果魔力和系统不在同一个盘上,装完系统先莫急着安装魔力(有1.8G大,装一下也累死...),先看看能不能玩吧.多系统的也不必为一个游戏切换系统了.低配置的电脑如果双开很卡的话,可在98下试试.(已经是98还那么卡的话...那没办法了..)但98很容易挂,不如2000/XP稳定.
24号又有更新,但似乎还不算大更新,但4.0的话,更新就应该比较大了.在3.0时更新时出现过的音效档更新失败和图型档更新失败不知道会不会在4.0出现.如果发现类似情况的话,不妨注意一下是否是大小写所引起的问题.(但不排除其他可能).实在没办法要重装的话也请完全卸载安装,覆盖安装有时候是没用的.
写了那么多,希望对大家有点用.如果有发现什么错误,也请指正.谢谢!
祝各位游戏愉快,身体健康,学习工作顺利.先拜个年,恭喜发财,钱包拿来...
顺便说一下我的电脑操作系统情况:
Windows 98 [Version 4.10.2222]
Microsoft Windows 2000 [Version 5.00.2195] SP4