/* ================= ConsoleCommand ================= */ qboolean ConsoleCommand( void ) { char cmd[MAX_TOKEN_CHARS]; trap_Argv( 0, cmd, sizeof( cmd ) ); // all commands prefixed with st_ are destined for the rules engine. if ( cmd[ 0 ] == 's' && cmd[ 1 ] == 't' && cmd[ 2 ] == '_' ) { if ( G_ST_exec( ST_CONSOLECOMMAND, cmd+3 ) ) return qtrue; } switch( SWITCHSTRING( cmd ) ) { #ifdef DEVELOPER case CS('b','u','y',0): case CS('s','e','l','l'): case CS('v','i','s','i'): case CS('b','e','g','i'): case CS('a','s','s','e'): case CS('i','n','t','e'): case CS('e','n','d','i'): case CS('l','o','o','k'): case CS('p','l','a','n'): G_ST_exec( ST_CLIENTCOMMAND, 0, cmd ); trap_SendConsoleCommand( EXEC_INSERT, "wait 50 ;" ); return qtrue; // cl0_ case CS('c','l','0','_'): ClientCommand( 0, cmd + 4 ); return 0; #endif // entitylist case CS('e','n','t','i'): Svcmd_EntityList_f(); return qtrue; // forceteam case CS('f','o','r','c'): Svcmd_ForceTeam_f(); return qtrue; // game_memory case CS('g','a','m','e'): Svcmd_GameMem_f(); return qtrue; // addbot case CS('a','d','d','b'): Svcmd_AddBot_f(); return qtrue; // botlist case CS('b','o','t','l'): Svcmd_BotList_f(); return qtrue; // addip case CS('a','d','d','i'): Svcmd_AddIP_f(); return qtrue; // removeip case CS('r','e','m','o'): Svcmd_RemoveIP_f(); return qtrue; // listip case CS('l','i','s','t'): trap_SendConsoleCommand( EXEC_NOW, "g_banIPs\n" ); return qtrue; // abort case CS('a','b','o','r'): G_ST_exec( ST_CONSOLECOMMAND, cmd ); return qtrue; } if (g_dedicated.integer) { if (Q_stricmp (cmd, "say") == 0) { trap_SendServerCommand( -1, va("print \"server: %s\"", ConcatArgs(1) ) ); return qtrue; } // everything else will also be printed as a say command trap_SendServerCommand( -1, va("print \"server: %s\"", ConcatArgs(0) ) ); return qtrue; } return qfalse; }
/* ================= ConsoleCommand ================= */ qboolean ConsoleCommand( void ) { char cmd[MAX_TOKEN_CHARS]; trap_Argv( 0, cmd, sizeof( cmd ) ); if ( Q_stricmp (cmd, "entitylist") == 0 ) { Svcmd_EntityList_f(); return qtrue; } if ( Q_stricmp (cmd, "forceteam") == 0 ) { Svcmd_ForceTeam_f(); return qtrue; } if (Q_stricmp (cmd, "game_memory") == 0) { Svcmd_GameMem_f(); return qtrue; } if (Q_stricmp (cmd, "addbot") == 0) { Svcmd_AddBot_f(); return qtrue; } if (Q_stricmp (cmd, "botlist") == 0) { Svcmd_BotList_f(); return qtrue; } if (Q_stricmp (cmd, "abort_podium") == 0) { Svcmd_AbortPodium_f(); return qtrue; } if (Q_stricmp (cmd, "addip") == 0) { Svcmd_AddIP_f(); return qtrue; } if (Q_stricmp (cmd, "removeip") == 0) { Svcmd_RemoveIP_f(); return qtrue; } if (Q_stricmp (cmd, "listip") == 0) { trap_SendConsoleCommand( EXEC_NOW, "g_banIPs\n" ); return qtrue; } if(Q_stricmp (cmd, "setGametype") == 0) { Svcmd_SetGameType_f(); return qtrue; } if(Q_stricmp (cmd, "startcam") == 0) { Svcmd_StartCam(); return qtrue; } if(Q_stricmp (cmd, "stopcam") == 0) { Svcmd_StopCam(); return qtrue; } if(Q_stricmp (cmd, "camcmd") == 0) { Svcmd_CamCmd(); return qtrue; } if( !Q_stricmp( cmd, "initwp") ) { WaypointInit(); return qtrue; } if ( Q_stricmp( cmd, "blibset") == 0 ) { char key[MAX_TOKEN_CHARS]; char value[MAX_TOKEN_CHARS]; trap_Argv(1, key, sizeof(key) ); trap_Argv(2, value, sizeof(value) ); if(!strlen(key)) { G_Printf("missing key\n"); return qtrue; } if( !strlen(value) ) // use "1" as default strcpy( value, "1" ); trap_BotLibVarSet( key, value ); return qtrue; } if(wopSP_cmdCheck(cmd)) return qtrue; if (g_dedicated.integer) { if ( Q_stricmp( cmd, "ssay" ) == 0 ) { Svcmd_Say_f(); return qtrue; } if ( Q_stricmp( cmd, "stell" ) == 0 ) { Svcmd_Tell_f(); return qtrue; } if ( Q_stricmp( cmd, "scp" ) == 0 ) { Svcmd_ClientCommand_f( CCMD_CP ); return qtrue; } if ( Q_stricmp( cmd, "smp" ) == 0 ) { Svcmd_ClientCommand_f( CCMD_MP ); return qtrue; } if ( Q_stricmp( cmd, "sprint" ) == 0 ) { Svcmd_ClientCommand_f( CCMD_PRINT ); return qtrue; } // everything else will also be printed to clients trap_SendServerCommand( -1, va("print \"server: %s\n\"", ConcatArgs(0) ) ); return qtrue; } return qfalse; }
/* ================= ConsoleCommand ================= */ qboolean ConsoleCommand( void ) { char cmd[MAX_TOKEN_CHARS]; trap_Argv( 0, cmd, sizeof( cmd ) ); if ( Q_stricmp( cmd, "entitylist" ) == 0 ) { Svcmd_EntityList_f(); return qtrue; } if ( Q_stricmp( cmd, "forceteam" ) == 0 ) { Svcmd_ForceTeam_f(); return qtrue; } if ( Q_stricmp( cmd, "game_memory" ) == 0 ) { Svcmd_GameMem_f(); return qtrue; } if ( Q_stricmp( cmd, "addbot" ) == 0 ) { Svcmd_AddBot_f(); return qtrue; } if ( Q_stricmp( cmd, "addip" ) == 0 ) { Svcmd_AddIP_f(); return qtrue; } if ( Q_stricmp( cmd, "removeip" ) == 0 ) { Svcmd_RemoveIP_f(); return qtrue; } if ( Q_stricmp( cmd, "listip" ) == 0 ) { trap_SendConsoleCommand( EXEC_INSERT, "g_banIPs\n" ); return qtrue; } if ( Q_stricmp( cmd, "listmaxlivesip" ) == 0 ) { PrintMaxLivesGUID(); return qtrue; } // NERVE - SMF if ( Q_stricmp( cmd, "start_match" ) == 0 ) { Svcmd_StartMatch_f(); return qtrue; } if ( Q_stricmp( cmd, "reset_match" ) == 0 ) { Svcmd_ResetMatch_f(); return qtrue; } if ( Q_stricmp( cmd, "swap_teams" ) == 0 ) { Svcmd_SwapTeams_f(); return qtrue; } // -NERVE - SMF if ( g_dedicated.integer ) { if ( Q_stricmp( cmd, "say" ) == 0 ) { trap_SendServerCommand( -1, va( "print \"server:[lof] %s\"", ConcatArgs( 1 ) ) ); return qtrue; } // everything else will also be printed as a say command trap_SendServerCommand( -1, va( "print \"server:[lof] %s\"", ConcatArgs( 0 ) ) ); return qtrue; } return qfalse; }
/* ================= ConsoleCommand ================= */ qboolean ConsoleCommand( void ) { char cmd[MAX_TOKEN_CHARS]; trap_Argv( 0, cmd, sizeof( cmd ) ); if ( Q_stricmp (cmd, "entitylist") == 0 ) { Svcmd_EntityList_f(); return qtrue; } if ( Q_stricmp (cmd, "forceteam") == 0 ) { Svcmd_ForceTeam_f(); return qtrue; } if (Q_stricmp (cmd, "game_memory") == 0) { Svcmd_GameMem_f(); return qtrue; } if (Q_stricmp (cmd, "addbot") == 0) { Svcmd_AddBot_f(); return qtrue; } if (Q_stricmp (cmd, "botlist") == 0) { Svcmd_BotList_f(); return qtrue; } /* if (Q_stricmp (cmd, "abort_podium") == 0) { Svcmd_AbortPodium_f(); return qtrue; } */ if (Q_stricmp (cmd, "addip") == 0) { Svcmd_AddIP_f(); return qtrue; } if (Q_stricmp (cmd, "removeip") == 0) { Svcmd_RemoveIP_f(); return qtrue; } if (Q_stricmp (cmd, "listip") == 0) { trap_SendConsoleCommand( EXEC_NOW, "g_banIPs\n" ); return qtrue; } if (g_dedicated.integer) { if (Q_stricmp (cmd, "say") == 0) { trap_SendServerCommand( -1, va("print \"server: %s\n\"", ConcatArgs(1) ) ); return qtrue; } // everything else will also be printed as a say command trap_SendServerCommand( -1, va("print \"server: %s\n\"", ConcatArgs(0) ) ); return qtrue; } return qfalse; }
qboolean ConsoleCommand( void ) { char cmd[MAX_TOKEN_CHARS]; trap->Cmd_Argv( 0, cmd, sizeof( cmd ) ); if ( !Q_stricmp( cmd, "entitylist" ) ) { Svcmd_EntityList_f(); return qtrue; } if ( !Q_stricmp( cmd, "forceteam" ) ) { Svcmd_ForceTeam_f(); return qtrue; } if ( !Q_stricmp( cmd, "game_memory" ) ) { Svcmd_GameMem_f(); return qtrue; } if ( !Q_stricmp( cmd, "addbot" ) ) { Svcmd_AddBot_f(); return qtrue; } if ( !Q_stricmp( cmd, "botlist" ) ) { Svcmd_BotList_f(); return qtrue; } if ( !Q_stricmp( cmd, "addip" ) ) { Svcmd_AddIP_f(); return qtrue; } if ( !Q_stricmp( cmd, "removeip" ) ) { Svcmd_RemoveIP_f(); return qtrue; } if ( !Q_stricmp( cmd, "listip" ) ) { trap->Cbuf_ExecuteText( EXEC_NOW, "g_banIPs\n" ); return qtrue; } //OSP: pause if ( !Q_stricmp( cmd, "pause" ) ) { if ( level.pause.state == PAUSE_NONE ) { level.pause.state = PAUSE_PAUSED; level.pause.time = level.time + g_pauseTime->integer*1000; } else if ( level.pause.state == PAUSE_PAUSED ) { level.pause.state = PAUSE_UNPAUSING; level.pause.time = level.time + g_unpauseTime->integer*1000; } return qtrue; } if ( dedicated->boolean ) { if ( !Q_stricmp( cmd, "say" ) ) { trap->SV_GameSendServerCommand( -1, va( "print \"server: %s\n\"", ConcatArgs( 1 ) ) ); return qtrue; } } return qfalse; }
/* ================= ConsoleCommand ================= */ qboolean ConsoleCommand( void ) { char cmd[MAX_TOKEN_CHARS]; trap_Argv( 0, cmd, sizeof( cmd ) ); if ( Q_stricmp (cmd, "entitylist") == 0 ) { Svcmd_EntityList_f(); return qtrue; } if ( Q_stricmp (cmd, "forceteam") == 0 ) { Svcmd_ForceTeam_f(); return qtrue; } if (Q_stricmp (cmd, "game_memory") == 0) { Svcmd_GameMem_f(); return qtrue; } if (Q_stricmp (cmd, "addbot") == 0) { Svcmd_AddBot_f(); return qtrue; } #ifdef SMOKINGUNS if (Q_stricmp (cmd, "kickbots") == 0) { Svcmd_KickBots_f(); return qtrue; } #endif if (Q_stricmp (cmd, "botlist") == 0) { Svcmd_BotList_f(); return qtrue; } #ifndef SMOKINGUNS if (Q_stricmp (cmd, "abort_podium") == 0) { Svcmd_AbortPodium_f(); return qtrue; } #endif if (Q_stricmp (cmd, "addip") == 0) { Svcmd_AddIP_f(); return qtrue; } if (Q_stricmp (cmd, "removeip") == 0) { Svcmd_RemoveIP_f(); return qtrue; } if (Q_stricmp (cmd, "listip") == 0) { trap_SendConsoleCommand( EXEC_NOW, "g_banIPs\n" ); return qtrue; } #ifdef SMOKINGUNS // Tequila: Big text announcement command if (Q_stricmp (cmd, "bigtext") == 0 || Q_stricmp (cmd, "cp") == 0) { Svcmd_BigText_f(); return qtrue; } // Joe Kari: Minilog feature, for admin-bot if (Q_stricmp (cmd, "poponelog") == 0 ) { Svcmd_PopMinilog_f(); return qtrue; } if (Q_stricmp (cmd, "poplog") == 0 ) { Svcmd_PopAllMinilog_f(); return qtrue; } // It is probably not a good idea to allow an user to push the minilog, it would interfer with game log //if (Q_stricmp (cmd, "pushlog") == 0 ) { // Svcmd_PushMinilog_f(); // return qtrue; //} // Joe Kari: Mute command: change everything this client said to "(muted)" if (Q_stricmp (cmd, "mute") == 0) { Svcmd_Mute_f( 1 ); return qtrue; } if (Q_stricmp (cmd, "unmute") == 0) { Svcmd_Mute_f( 0 ); return qtrue; } // Joe Kari: give some money to a client if ( Q_stricmp (cmd, "givemoney") == 0 ) { Svcmd_GiveMoney_f(); return qtrue; } // Joe Kari: give some money to a client if ( Q_stricmp (cmd, "giveitem") == 0 ) { Svcmd_GiveItem_f(); return qtrue; } // Joe Kari: replacement for forceteam, using client ID instead of name if ( Q_stricmp (cmd, "forceteamnum") == 0 ) { Svcmd_ForceTeamNum_f(); return qtrue; } // Joe Kari: game version of clientkick if (Q_stricmp (cmd, "kicknum") == 0) { Svcmd_KickNum_f(); return qtrue; } // Tequila: Replacement for kick command from server engine with sendaway one if (Q_stricmp (cmd, "sendaway") == 0) { Svcmd_SendAway_f(); return qtrue; } // Tequila: New admin command to cancel a vote // Joe Kari: Move it out of "if (g_dedicated.integer) {}" if (Q_stricmp (cmd, "cancelvote") == 0) { Svcmd_CancelVote_f(); return qtrue; } if (Q_stricmp (cmd, "playerstatus") == 0) { Svcmd_PlayerStatus_f(); return qtrue; } // Tequila: New command to add a map entity for testing purpose if (Q_stricmp (cmd, "addentity") == 0) { Svcmd_AddEntity_f(); return qtrue; } #endif if (g_dedicated.integer) { if (Q_stricmp (cmd, "say") == 0) { trap_SendServerCommand( -1, va("print \"server: %s\"", ConcatArgs(1) ) ); return qtrue; } // everything else will also be printed as a say command trap_SendServerCommand( -1, va("print \"server: %s\"", ConcatArgs(0) ) ); return qtrue; } return qfalse; }
qboolean ConsoleCommand( void ) { char cmd[MAX_TOKEN_CHARS]; trap_Argv( 0, cmd, sizeof( cmd ) ); if (!Q_stricmp (cmd, "lua_reload")) { G_Printf("Doing soft GLua restart\n"); GLua_SoftRestart(); return qtrue; } if (!Q_stricmp (cmd, "lua_restart")) { G_Printf("Doing hard GLua restart\n"); GLua_Close(); GLua_Init(); GLua_Hook_GameInit(level.time, 0); GLua_Hook_MapLoadFinished(); return qtrue; } if (!Q_stricmp (cmd, "lua_run")) { char line[1024] = {0}; char buff[1024] = {0}; int i, argc; argc = trap_Argc(); for (i=1; i < argc; i++) { trap_Argv(i, buff, sizeof(buff)); Q_strcat(line, 1023, buff); Q_strcat(line, 1023, " "); //Com_sprintf(line, sizeof(line), "%s%s ", line, buff); } GLua_Run(line); return qtrue; } // Check for admin commands if (JKG_Admin_ExecuteRcon(cmd)) return qtrue; #if 0 if (!Q_stricmp (cmd, "disasm")) { Cmd_DisAsmDirect_f(); return qtrue; } if (!Q_stricmp (cmd, "stresslevel")) { JKG_GLS_StressLevelInfo(); return qtrue; } #endif if (GLua_RconCommand(cmd)) return qtrue; if ( !Q_stricmp (cmd, "entinfo") ) { Svcmd_EntityInfo_f(); return qtrue; } if ( Q_stricmp (cmd, "entitylist") == 0 ) { Svcmd_EntityList_f(); return qtrue; } if ( Q_stricmp (cmd, "forceteam") == 0 ) { Svcmd_ForceTeam_f(); return qtrue; } if (Q_stricmp (cmd, "game_memory") == 0) { Svcmd_GameMem_f(); return qtrue; } if (Q_stricmp (cmd, "addbot") == 0) { Svcmd_AddBot_f(); return qtrue; } if (Q_stricmp (cmd, "botlist") == 0) { Svcmd_BotList_f(); return qtrue; } /* if (Q_stricmp (cmd, "abort_podium") == 0) { Svcmd_AbortPodium_f(); return qtrue; } */ if (Q_stricmp (cmd, "addip") == 0) { Svcmd_AddIP_f(); return qtrue; } if (Q_stricmp (cmd, "removeip") == 0) { Svcmd_RemoveIP_f(); return qtrue; } if (Q_stricmp (cmd, "listip") == 0) { trap_SendConsoleCommand( EXEC_NOW, "g_banIPs\n" ); return qtrue; } if (g_dedicated.integer) { if (Q_stricmp (cmd, "say") == 0) { trap_SendServerCommand( -1, va("print \"server: %s\n\"", ConcatArgs(1) ) ); return qtrue; } if ( Q_stricmp (cmd, "timemappaths") == 0 ) { AIMod_TimeMapPaths(); return qtrue; } // everything else will also be printed as a say command //trap_SendServerCommand( -1, va("print \"server: %s\n\"", ConcatArgs(0) ) ); G_Printf("Unknown server command '%s'\n", cmd); return qtrue; } return qfalse; }
/* ================= ConsoleCommand ================= */ qboolean ConsoleCommand( void ) { //void char cmd[MAX_TOKEN_CHARS]; trap_Argv( 0, cmd, sizeof( cmd ) ); #ifdef G_LUA if(Q_stricmp(cmd, "lua_status") == 0) { G_LuaStatus(NULL); return qtrue; } if(Q_stricmp(cmd, "lua_restart") == 0) { Svcmd_LuaRestart_f(); return qtrue; } #endif if ( Q_stricmp (cmd, "entitylist") == 0 ) { Svcmd_EntityList_f(); return qtrue; } if ( Q_stricmp (cmd, "forceteam") == 0 ) { Svcmd_ForceTeam_f(); return qtrue; } if (Q_stricmp (cmd, "game_memory") == 0) { Svcmd_GameMem_f(); return qtrue; } if (Q_stricmp (cmd, "addbot") == 0) { Svcmd_AddBot_f(); return qtrue; } if (Q_stricmp (cmd, "botlist") == 0) { Svcmd_BotList_f(); return qtrue; } if (Q_stricmp (cmd, "abort_podium") == 0) { Svcmd_AbortPodium_f(); return qtrue; } if (Q_stricmp (cmd, "addip") == 0) { Svcmd_AddIP_f(); return qtrue; } if (Q_stricmp (cmd, "removeip") == 0) { Svcmd_RemoveIP_f(); return qtrue; } if (Q_stricmp (cmd, "listip") == 0) { trap_SendConsoleCommand( EXEC_INSERT, "g_banIPs\n" ); return qtrue; } if (Q_stricmp (cmd, "banUser") == 0) { Svcmd_BanUser_f(); return qtrue; } if ( Q_stricmp (cmd, "findID") == 0 ) { Svcmd_FindID_f(); return qtrue; } if ( Q_stricmp (cmd, "removeID") == 0 ) { Svcmd_RemoveID_f(); return qtrue; } return qfalse; }
//[/AdminSys] qboolean ConsoleCommand( void ) { char cmd[MAX_TOKEN_CHARS]; trap_Argv( 0, cmd, sizeof( cmd ) ); if (Q_stricmp (cmd, "game_memory") == 0) { Svcmd_GameMem_f(); return qtrue; } if (Q_stricmp (cmd, "addbot") == 0) { Svcmd_AddBot_f(); return qtrue; } if (Q_stricmp (cmd, "botlist") == 0) { Svcmd_BotList_f(); return qtrue; } /* if (Q_stricmp (cmd, "abort_podium") == 0) { Svcmd_AbortPodium_f(); return qtrue; } */ if (Q_stricmp (cmd, "addip") == 0) { Svcmd_AddIP_f(); return qtrue; } if (Q_stricmp (cmd, "removeip") == 0) { Svcmd_RemoveIP_f(); return qtrue; } if (Q_stricmp (cmd, "listip") == 0) { //[AdminCommands] Svcmd_ListIPs_f(); //trap_SendConsoleCommand( EXEC_NOW, "g_banIPs\n" ); //[/AdminCommands] return qtrue; } if (Q_stricmp (cmd, "giveadmin") == 0) { Cmd_SVGrantAdmin_F(); return qtrue; } if (Q_stricmp (cmd, "removeadmin") == 0) { Cmd_SVRemoveAdmin_F(); return qtrue; } //[AdminSys] //added bigsay command to be able to print things to the center of the screen as the server admin. if (Q_stricmp (cmd, "centersay") == 0) { if(OJP_AllPlayersHaveClientPlugin()) {//just fire off the text without editting it for line breaks. trap_SendServerCommand( -1, va("cp \"%s\n\"", ConcatArgs(1) ) ); } else {//since someone is running basejka, we need to add line breaks to make up for the //50 chars per line limit of basejka's cp code. char temp[1024]; //MAX_STRINGED_SV_STRING char output[1024]; //copy the print text. strcpy(temp, ConcatArgs(1)); TextWrapCenterPrint(temp, output); trap_SendServerCommand( -1, va("cp \"%s\n\"", output ) ); } //also duplicate the message in the chat buffer and in the game log. (so the admin can follow admin<->player //conversations trap_SendServerCommand( -1, va("print \"server: %s\n\"", ConcatArgs(1) ) ); G_LogPrintf( "server: %s\n", ConcatArgs(1) ); return qtrue; } //[/AdminSys] if (g_dedicated.integer) { if (Q_stricmp (cmd, "say") == 0) { trap_SendServerCommand( -1, va("print \"server: %s\n\"", ConcatArgs(1) ) ); return qtrue; } //[JAC Bugfix - Don't put unknown dedicated server console commands into chat!] // everything else will NOT also be printed as a say command //trap_SendServerCommand( -1, va("print \"server: %s\n\"", ConcatArgs(0) ) ); //return qtrue; //[/JAC Bugfix - Don't put unknown dedicated server console commands into chat!] //OPENRPTODO - Print that it's an unknown cmd } return qfalse; }