PDA

View Full Version : Libcod "hide" functions??



maxdamage99
26th September 2015, 16:14
I use it on my server libcod players and periodically produces errors: Unknown command (getinfo), Unknown command (getstatus), Unknown command (userinfo).
What is this shit???!!
if players use command "userinfo", players rename for Unnamed Player. !??!?!?!?!?!?!?!??

voron00
28th September 2015, 15:56
getinfo, getstatus are a "requests", and they have nothing to do with libcod. Maybe someone is trying some sort of ddos on your server? And /userinfo player command is a cod2 bug, present without libcod too.

IzNoGoD
28th September 2015, 18:46
just dont clientcommand() when you detect a userinfo command...

maxdamage99
30th September 2015, 14:40
Iznogod, how to fix it?
i make in CallbackPlayercomand:

if(args[0]=="getstatus" || args[0]=="getinfo" || args[0]=="userinfo")
{
return;
}

but it did not help(

maxdamage99
30th September 2015, 14:41
Voron00, KAPITAN O4EVIDNOST'

Mitch
20th October 2015, 17:27
You could try if adding the following code to libcod works.

functions.hpp (after SV_BeginDownload_f)


typedef int (*SV_UserinfoChanged_f)(int a1);
static SV_UserinfoChanged_f_t SV_UserinfoChanged_f = (SV_UserinfoChanged_f_t)NULL;


libcod.cpp (after hook_SV_BeginDownload_f)


void hook_SV_UserinfoChanged_f( int a1 ) {
char * userinfo = Cmd_Argv(1);
if(strlen(userinfo) > 0) {
SV_UserinfoChanged_f(a1);
}
}

(after addressToDownloadPointer)


#if COD_VERSION == COD2_1_0
int * addressToUserInfoPointer = (int *)0x0817D9E4;
#elif COD_VERSION == COD2_1_2
int * addressToUserInfoPointer = (int *)0x0817C9C4;
#elif COD_VERSION == COD2_1_3
int * addressToUserInfoPointer = (int *)0x0815D564;
#else
#warning int *addressToUserInfoPointer = NULL;
int *addressToUserInfoPointer = NULL;
#endif

#if COD_VERSION == COD2_1_0 || COD_VERSION == COD2_1_2 || COD_VERSION == COD2_1_3
SV_UserinfoChanged_f = (SV_UserinfoChanged_f_t)*addressToUserInfoPointer;
*addressToUserInfoPointer = (int)hook_SV_UserinfoChanged_f;
#endif