PDA

查看完整版本 : [技术交流]关于 Friendfox 全保护更新的构思与实践


Ekines
2006-12-29, 10:49 AM
在写文章前,一直被只读更新的问题困扰,便想出了一套比较笨的方法.在这之前,先讲一下只读更新的问题:
2006年,病毒高发年,尤其是6月以后,新的病毒不断涌现。变种欢乐时光,威金,魔波,ARP等等…由于只读更新不保护游戏盘的原则,一般很容易就中毒。任何对比软件在同步时都需要一些时间,在对上一次开机后遗留的病毒,也就不能及时清除。我们先忽略实时网络传播的病毒而言,一般客人开机后也是马上登陆QQ或者游戏程序等,盗号的现象就变成不是一般的多。再加上一些同步软件不是对全游戏盘进行对比(例如迅闪,Qmenu,锐起等),问题就更加严重了。
后来想到了Friendfox这款同步软件(以下简称FF),也就改成了开机全盘对比的构思,但这个还是不能解决病毒问题,于是做了全盘保护。
好了,问题都出来了,就想办法解决吧。要实现全盘保护更新,就先得保证更新的质量,速度和安全性。我就用了这么一个方法Deep Freeze全保护+FF开机对比。首先,当然是准备一个没有病毒且游戏是全新的母盘啦,然后就是设置好FF服务器,且重点就是FF服务器的设置。
第一步:FF服务器里一般是把所有游戏都放进去的,现在开始的时候暂时为空,就放”客户端.exe”和”配置文件.ini”,配置文件的设置和只读更新时的一样,但忽略大更新时分开更新,全部统一为一次完成。暂不设置对比优先级。然后开始放开机必须对比的文件,例如CS1.6的config文件,魔兽争霸的地图等等。服务器就这样设置好了。

第二步:客户机的设置,开机时先要把你客户机的friendfox.log替换好,内容如下:
[FriendFOX]
……
PowerON Times=0 (代表是第1次更新,这样会和服务所有游戏进行对比)
……)
……
这个替换可以用BAT或者VBS或其它软件完成,例如我的BAT是这样的.然后用VBS调用,将其隐藏。
Copy \\friendfox.log所在位置\friendfox.log 客户机friendfox.log所在位置\ friendfox.log
Call \\客户端.exe所在位置\客户端.exe

第三步:游戏更新,在上面设置的情况下,一般没有游戏更新的情况下开机后,因为服务器没有游戏文件,对比会一闪而过,且friendfox.log内容会变成
##############错误 : \\游戏对比服务器\FF文件夹\热血传奇目录不存在 或 d:\网络游戏\热血传奇 目录建立失败!
这个不用理,只要没有更新的时候,不拖时间就行.

在有游戏更新但不大时,只需要把更新了的游戏客户端放到FF服务器里即可,这样情况下开机,FF就会自动对比游戏了. 小更新正常速度在开机1分钟内更新完成.拖文件速度大概在 360M/min左右
在有新游戏推出及游戏更新比较大时,先不着急把最新的游戏放到FF服务器,因为这样容易把网速拖慢或者拖垮.在这时候可以先用单文件对比来做单游戏更新,在不超过大概10台机一齐对比的时候,速度能维持在300M/min.在需要更新时,把原来的“配置文件.ini”改名,然后新设置一份专门用来更新的“配置文件.ini”,只把你要更新的机号设上,然后就把客户机打开…解还原…退系统.完毕后还原上。在测试的时候…一次是开20台机,拖文件的速度大概是180M/min左右,3G的游戏也就在20分钟内完成.虽然是有点麻烦,但能解决病毒盗号的问题.

最后作一些解释:小更新在一般在200~300M以下. 300M以上视为大更新.

病毒问题
只读更新:经常中毒导致客人帐号被盗
全保护更新:暂时都没发现有客人被盗号现象
(其实病毒也并非全部是因为上次使用者遗留,有时可能是使用中引起的)

服务器空间
只读更新:游戏全部放置于FF服务器,占用大量空间
全保护更新:服务器只放需要更新的游戏,减小服务器空间占用.

游戏更新问题:
只读更新:网管工作量较小.
全保护更新:网管工作量增加.
用上述的更新方法,大概1个月需要有2次的解还原维护,每次维护需时2个晚上左右.
工作量大了也没办法,总之还是觉得全保护比较安全吧,也不想在客户机上装防毒拖速度,各位高手如有更好的方法,请告知道.重点的是文章写得不好请扔鸡蛋…且付上意见…有待改进