|
为什么要修改filescheck呢?
本来想使用filescheck封杀内挂
经过我和浩海同志的测试,结果是不行的
我们把正规的opengl32.dll放在服务器上
然后把非法的opengl32.dll装客户端,结果是进不去了
但是,把客户端的opengl32.dll去掉,还是进不去服务器
也就是说,此方法限制了正常玩家的进入。
以前点通上有个封 particleman.dll的方法
filescheck 配置文件加入
../cstrike/cl_dlls/particleman.dll
然后在把/valve/cl_dlls/particleman.dll的particleman.dll文件复制到/cstrike/cl_dlls 文件夹里
这个方法是不行的,会导致正常玩家进不去
particleman.dll是1.6的作弊文件
opengl32.dll 是1.5的作弊文件
经过测试,filescheck是不能封杀cs本身没有的作弊文件的
RFC也是如此
看来要想解决内挂问题,是要修改filescheck或RFC了,但没原码
要修改成这样的
1,检测作弊文件和服务器上是否一致,不一样就不让进
2,如果客户端没有特定作弊文件,让玩家进入
只有这样,才能既阻挡作弊,又不影响正常玩家- /* AMX Mod X Plugin
- *
- * (c) Copyright 2008, ConnorMcLeod
- * This file is provided as is (no warranties).
- *
- */
- #include <amxmodx>
- new g_pcvarExactModel, g_pcvarSeparateLogFile
- public plugin_init()
- {
- static const VERSION[] = "1.1"
- register_plugin("Files Check", VERSION, "Greenboy")
- register_cvar("fc_version", VERSION, FCVAR_SERVER|FCVAR_EXTDLL|FCVAR_SPONLY)
- g_pcvarSeparateLogFile = register_cvar("fc_separatelog", "2")
- }
- public plugin_precache()
- {
- g_pcvarExactModel = register_cvar("fc_exactweapons", "0")
- static szConfigFile[64]
- get_localinfo("amxx_configsdir", szConfigFile, 63)
- format(szConfigFile, 63, "%s/filescheck.ini", szConfigFile)
- new File = fopen(szConfigFile, "rt")
- if(!File)
- return
- static szFile[64]
- while(!feof(File))
- {
- fgets(File, szFile, 63)
- trim( szFile )
- if(!szFile[0] || szFile[0] == ';' || (szFile[0] == '/' && szFile[1] == '/'))
- continue
- if (!file_exists(szFile))
- continue
- if(equali(szFile[strlen(szFile)-4], ".mdl"))
- {
- force_unmodified(get_pcvar_float(g_pcvarExactModel) ? force_exactfile : force_model_samebounds, {0,0,0}, {0,0,0}, szFile)
- }
- else
- {
- force_unmodified(force_exactfile, {0,0,0}, {0,0,0}, szFile)
- }
- }
- fclose(File)
- }
- public inconsistent_file(id, const filename[], reason[64])
- {
- static szMessage[192], szName[32], UserID, IP[32], szAuthid[32]
- get_user_name(id, szName, 31)
- get_user_ip(id,IP,31)
- get_user_authid(id, szAuthid, 31)
- UserID = get_user_userid(id)
- formatex(szMessage, 191, "^"%s<%s>^" 浣跨敤浜嗛潪娉曟枃浠?^"%s^"", szName, IP, filename)
- switch( get_pcvar_num(g_pcvarSeparateLogFile) )
- {
- case 1:
- {
- log_amx(szMessage)
- }
- case 2:
- {
- static const szLogFile[] = "filecheck.log"
- log_to_file(szLogFile, szMessage)
- }
- default:
- {
- log_message(szMessage)
- }
- }
- server_cmd("say ^"%s^"", szMessage)
- }
- /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
- *{\\ rtf1\\ ansi\\ ansicpg936\\ deff0{\\ fonttbl{\\ f0\\ fnil\\ fcharset134 Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang2052\\ f0\\ fs16 \n\\ par }
- */
复制代码 |
|