void Auth_Login_f() { client_t *invoker; int id,clientNum; if(Cmd_Argc() != 3) { Com_Printf("Usage: %s <login> <password>\n",Cmd_Argv(0)); return; } clientNum = SV_RemoteCmdGetInvokerClnum(); if(clientNum < 0 || clientNum > 63) { Com_Error(ERR_FATAL,"Auth_Login_f: index out of bounds.\n"); return; } invoker = &svs.clients[clientNum]; id = Auth_Authorize(Cmd_Argv(1),Cmd_Argv(2)); if(id < 0 || id > MAX_AUTH_ADMINS) { //Com_PrintLogFile("Failed login attempt from slot %d with login %s. Client dropped.",clientNum,Cmd_Argv(1)); SV_DropClient(invoker,"Incorrect login credentials.\n"); return; } invoker->uid = auth_admins.admins[id].uid; invoker->power = SV_RemoteCmdGetClPower(invoker); Com_Printf("^2Successfully authorized. UID: %d, name: %s, power: %d\n", auth_admins.admins[id].uid, auth_admins.admins[id].username, invoker->power); }
void GScr_ScriptCommandCB() { char buffer[1024]; if(!com_sv_running || !com_sv_running->boolean ) return; if(Cmd_Argc() == 1) { Scr_ScriptCommand(SV_RemoteCmdGetInvokerClnum(), Cmd_Argv(0), ""); }else{ Cmd_Argsv(1, buffer, sizeof(buffer)); Scr_ScriptCommand(SV_RemoteCmdGetInvokerClnum(), Cmd_Argv(0), buffer); } }