|
服务器自动清理垃圾日志的简单方法! 编个DOS的批处理文件,顺便带上自动删除共享。 你的服务器端要放在D盘的MUSERVER目录下! 只要下面这些做成一个bat文件,然后填加到启动菜单里。 ----------------------------------------------------------------------------------------------------------- net
share c$ /del net share d$ /del net share admin$ /del net share
ipc$ /del del d:\muserver\cs\LOG_ERROR /q del
d:\muserver\cs\LOG_GSINFO /q del d:\muserver\DataServer1\log /q del
d:\muserver\DataServer2\log /q del d:\muserver\ExDB\Log /q del
d:\muserver\GameServer\log /q del d:\muserver\JoinServer\log /q del
d:\muserver\MU2003_EVENT_SERVER\LOG_ERROR /q del
d:\muserver\MuManager\Server\log /q del
d:\muserver\RankingServer\LOG_ERROR /q del
d:\muserver\RankingServer\LOG_POINT /q
快速检索日志文件的方法(很简单,应当谁都会的
详细操作过程: 1、点“开始”选“运行”,输入“cmd",然后“确定”,进入到dos状态 2、打入以下命令进入到d盘的gs中的log目录中: d: cd
\muserver\gameserver\log 3、打命令,注意要查的字串要加引号",2004????.log
换成你要查的log文件是实际名称: find "要查找的字串" 2004?????.log >
aaa.txt 执行以上命令后,就会把符合查询字串的内容全部输出到aaa.txt文件中了,然后查看aaa.txt文件就可以了。 我用此方法破了好几次装备失盗案,查询一个500m的log文件大约需要1-2分钟,而生成的文件一般只有几百k(比如一个角色的所有在线记录,包括打怪经验、登录登出、交易、仓库、身上物品、pk、购售物品、点装备等)
根据以上思路,我发现了一个查获所有刷钱者的方法,现在详述如下: 角色正常死亡时其记录是: 00:03:08
[******][心怡520] death reduces money 17345987 -
536473 由于刷钱者都是在钱是7亿以上时出现负值,所以刷钱者的log文件中就会出现如下语句: 20:33:24
[ccs008][日日日日曰] death reduces money 818346613 - -18968324 20:39:17
[2977332][岵觳鹱颈窠] death reduces money 938381801 -
-15255895 看到最后了没有,他的钱数是减负数,这也就是刷钱的原因之所在,关键字是“- -”,你只要在log文件中查找"-
-"就可以将所有刷钱的记录选择出来了。命令如下: find "- -" 20040310.log >
sq.txt 然后就会生成一个关于刷钱者刷钱厉害的sq.txt文件,你查看这个文件就可以知道谁刷钱了!如果sq.txt用excel打开,把空格和[符号作为分隔符,你还能进一步进行统计和分析(分类排序、次数、所刷钱数等),当然可以把偶然用了一两次的排除在外,把故意用的人员挑出来,然后封号或其它处理你就看着办吧。 处理这些大约需要10分钟。 /*
清除所有刷钱者钱的程序 mu当家的*/ /*对其进行删除所有mu币和减少经验一半!*/ use muonline declare
@varid
nvarchar(10) /*只需要替换下边变量中的名称,就可以一个个地去处理了,注意引用的是id,不是角色名*/ select
@varid = 刷钱者id
/*以下是删除其所有角色身上的钱*/ select accountid,name,experience,money
from dbo.character where accountid=@varid update dbo.character set
money=0,experience=experience/2 where accountid=@varid
/*以下是删除其仓库中的钱*/ select accountid,money from dbo.warehouse
where accountid=@varid update dbo.warehouse set money=0 where
accountid=@varid
|