summaryrefslogtreecommitdiff
path: root/src/scripts/Commands/cs_server.cpp
diff options
context:
space:
mode:
authorYehonal <yehonal.azeroth@gmail.com>2017-12-20 20:48:35 +0100
committerYehonal <yehonal.azeroth@gmail.com>2017-12-21 00:20:29 +0100
commit17332304fdf129076d0196010602350d5750c808 (patch)
treed161f8845df9e5c8ec0b149bd846646c2b112d49 /src/scripts/Commands/cs_server.cpp
parent0fc4a6a153ca3a09ccb6e1311131b12a59c6cba3 (diff)
Using TC structure allowing easier patches importing
Diffstat (limited to 'src/scripts/Commands/cs_server.cpp')
-rw-r--r--src/scripts/Commands/cs_server.cpp379
1 files changed, 0 insertions, 379 deletions
diff --git a/src/scripts/Commands/cs_server.cpp b/src/scripts/Commands/cs_server.cpp
deleted file mode 100644
index a0055f594a..0000000000
--- a/src/scripts/Commands/cs_server.cpp
+++ /dev/null
@@ -1,379 +0,0 @@
-/*
- * Copyright (C) 2016+ AzerothCore <www.azerothcore.org>, released under GNU GPL v2 license: http://github.com/azerothcore/azerothcore-wotlk/LICENSE-GPL2
- * Copyright (C) 2008-2016 TrinityCore <http://www.trinitycore.org/>
- * Copyright (C) 2005-2009 MaNGOS <http://getmangos.com/>
- */
-
-/* ScriptData
-Name: server_commandscript
-%Complete: 100
-Comment: All server related commands
-Category: commandscripts
-EndScriptData */
-
-#include "Chat.h"
-#include "Config.h"
-#include "Language.h"
-#include "ObjectAccessor.h"
-#include "Player.h"
-#include "ScriptMgr.h"
-#include "SystemConfig.h"
-#include "AvgDiffTracker.h"
-
-class server_commandscript : public CommandScript
-{
-public:
- server_commandscript() : CommandScript("server_commandscript") { }
-
- std::vector<ChatCommand> GetCommands() const override
- {
- static std::vector<ChatCommand> serverIdleRestartCommandTable =
- {
- { "cancel", SEC_ADMINISTRATOR, true, &HandleServerShutDownCancelCommand, "" },
- { "" , SEC_ADMINISTRATOR, true, &HandleServerIdleRestartCommand, "" }
- };
-
- static std::vector<ChatCommand> serverIdleShutdownCommandTable =
- {
- { "cancel", SEC_ADMINISTRATOR, true, &HandleServerShutDownCancelCommand, "" },
- { "" , SEC_ADMINISTRATOR, true, &HandleServerIdleShutDownCommand, "" }
- };
-
- static std::vector<ChatCommand> serverRestartCommandTable =
- {
- { "cancel", SEC_ADMINISTRATOR, true, &HandleServerShutDownCancelCommand, "" },
- { "" , SEC_ADMINISTRATOR, true, &HandleServerRestartCommand, "" }
- };
-
- static std::vector<ChatCommand> serverShutdownCommandTable =
- {
- { "cancel", SEC_ADMINISTRATOR, true, &HandleServerShutDownCancelCommand, "" },
- { "" , SEC_ADMINISTRATOR, true, &HandleServerShutDownCommand, "" }
- };
-
- static std::vector<ChatCommand> serverSetCommandTable =
- {
- { "difftime", SEC_CONSOLE, true, &HandleServerSetDiffTimeCommand, "" },
- { "loglevel", SEC_CONSOLE, true, &HandleServerSetLogLevelCommand, "" },
- { "logfilelevel", SEC_CONSOLE, true, &HandleServerSetLogFileLevelCommand, "" },
- { "motd", SEC_ADMINISTRATOR, true, &HandleServerSetMotdCommand, "" },
- { "closed", SEC_ADMINISTRATOR, true, &HandleServerSetClosedCommand, "" }
- };
-
- static std::vector<ChatCommand> serverCommandTable =
- {
- { "corpses", SEC_GAMEMASTER, true, &HandleServerCorpsesCommand, "" },
- { "exit", SEC_CONSOLE, true, &HandleServerExitCommand, "" },
- { "idlerestart", SEC_ADMINISTRATOR, true, nullptr, "", serverIdleRestartCommandTable },
- { "idleshutdown", SEC_ADMINISTRATOR, true, nullptr, "", serverIdleShutdownCommandTable },
- { "info", SEC_PLAYER, true, &HandleServerInfoCommand, "" },
- { "motd", SEC_PLAYER, true, &HandleServerMotdCommand, "" },
- { "restart", SEC_ADMINISTRATOR, true, nullptr, "", serverRestartCommandTable },
- { "shutdown", SEC_ADMINISTRATOR, true, nullptr, "", serverShutdownCommandTable },
- { "set", SEC_ADMINISTRATOR, true, nullptr, "", serverSetCommandTable },
- { "togglequerylog", SEC_CONSOLE, true, &HandleServerToggleQueryLogging, "" }
- };
-
- static std::vector<ChatCommand> commandTable =
- {
- { "server", SEC_PLAYER, true, nullptr, "", serverCommandTable }
- };
- return commandTable;
- }
-
- // Triggering corpses expire check in world
- static bool HandleServerCorpsesCommand(ChatHandler* /*handler*/, char const* /*args*/)
- {
- sObjectAccessor->RemoveOldCorpses();
- return true;
- }
-
- static bool HandleServerInfoCommand(ChatHandler* handler, char const* /*args*/)
- {
- std::string realmName = sWorld->GetRealmName();
- uint32 playerCount = sWorld->GetPlayerCount();
- uint32 activeSessionCount = sWorld->GetActiveSessionCount();
- uint32 queuedSessionCount = sWorld->GetQueuedSessionCount();
- uint32 connPeak = sWorld->GetMaxActiveSessionCount();
- std::string uptime = secsToTimeString(sWorld->GetUptime()).append(".");
- uint32 updateTime = sWorld->GetUpdateTime();
- uint32 avgUpdateTime = avgDiffTracker.getAverage();
-
- handler->PSendSysMessage("%s", _FULLVERSION);
- if (!queuedSessionCount)
- handler->PSendSysMessage("Connected players: %u. Characters in world: %u.", activeSessionCount, playerCount);
- else
- handler->PSendSysMessage("Connected players: %u. Characters in world: %u. Queue: %u.", activeSessionCount, playerCount, queuedSessionCount);
- handler->PSendSysMessage("Connection peak: %u.", connPeak);
- handler->PSendSysMessage(LANG_UPTIME, uptime.c_str());
- handler->PSendSysMessage("Update time diff: %ums, average: %ums.", updateTime, avgUpdateTime);
-
- if (handler->GetSession())
- if (Player* p = handler->GetSession()->GetPlayer())
- if (p->HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_DEVELOPER))
- handler->PSendSysMessage("DEV wavg: %ums, nsmax: %ums, nsavg: %ums. LFG avg: %ums, max: %ums.", avgDiffTracker.getTimeWeightedAverage(), devDiffTracker.getMax(), devDiffTracker.getAverage(), lfgDiffTracker.getAverage(), lfgDiffTracker.getMax());
-
- //! Can't use sWorld->ShutdownMsg here in case of console command
- if (sWorld->IsShuttingDown())
- handler->PSendSysMessage(LANG_SHUTDOWN_TIMELEFT, secsToTimeString(sWorld->GetShutDownTimeLeft()).append(".").c_str());
-
- return true;
- }
- // Display the 'Message of the day' for the realm
- static bool HandleServerMotdCommand(ChatHandler* handler, char const* /*args*/)
- {
- handler->PSendSysMessage(LANG_MOTD_CURRENT, sWorld->GetMotd());
- return true;
- }
-
- static bool HandleServerShutDownCancelCommand(ChatHandler* /*handler*/, char const* /*args*/)
- {
- sWorld->ShutdownCancel();
-
- return true;
- }
-
- static bool HandleServerShutDownCommand(ChatHandler* /*handler*/, char const* args)
- {
- if (!*args)
- return false;
-
- char* timeStr = strtok((char*) args, " ");
- char* exitCodeStr = strtok(nullptr, "");
-
- int32 time = atoi(timeStr);
-
- // Prevent interpret wrong arg value as 0 secs shutdown time
- if ((time == 0 && (timeStr[0] != '0' || timeStr[1] != '\0')) || time < 0)
- return false;
-
- if (exitCodeStr)
- {
- int32 exitCode = atoi(exitCodeStr);
-
- // Handle atoi() errors
- if (exitCode == 0 && (exitCodeStr[0] != '0' || exitCodeStr[1] != '\0'))
- return false;
-
- // Exit code should be in range of 0-125, 126-255 is used
- // in many shells for their own return codes and code > 255
- // is not supported in many others
- if (exitCode < 0 || exitCode > 125)
- return false;
-
- sWorld->ShutdownServ(time, 0, exitCode);
- }
- else
- sWorld->ShutdownServ(time, 0, SHUTDOWN_EXIT_CODE);
-
- return true;
- }
-
- static bool HandleServerRestartCommand(ChatHandler* /*handler*/, char const* args)
- {
- if (!*args)
- return false;
-
- char* timeStr = strtok((char*) args, " ");
- char* exitCodeStr = strtok(nullptr, "");
-
- int32 time = atoi(timeStr);
-
- // Prevent interpret wrong arg value as 0 secs shutdown time
- if ((time == 0 && (timeStr[0] != '0' || timeStr[1] != '\0')) || time < 0)
- return false;
-
- if (exitCodeStr)
- {
- int32 exitCode = atoi(exitCodeStr);
-
- // Handle atoi() errors
- if (exitCode == 0 && (exitCodeStr[0] != '0' || exitCodeStr[1] != '\0'))
- return false;
-
- // Exit code should be in range of 0-125, 126-255 is used
- // in many shells for their own return codes and code > 255
- // is not supported in many others
- if (exitCode < 0 || exitCode > 125)
- return false;
-
- sWorld->ShutdownServ(time, SHUTDOWN_MASK_RESTART, exitCode);
- }
- else
- sWorld->ShutdownServ(time, SHUTDOWN_MASK_RESTART, RESTART_EXIT_CODE);
-
- return true;
- }
-
- static bool HandleServerIdleRestartCommand(ChatHandler* /*handler*/, char const* args)
- {
- if (!*args)
- return false;
-
- char* timeStr = strtok((char*) args, " ");
- char* exitCodeStr = strtok(nullptr, "");
-
- int32 time = atoi(timeStr);
-
- // Prevent interpret wrong arg value as 0 secs shutdown time
- if ((time == 0 && (timeStr[0] != '0' || timeStr[1] != '\0')) || time < 0)
- return false;
-
- if (exitCodeStr)
- {
- int32 exitCode = atoi(exitCodeStr);
-
- // Handle atoi() errors
- if (exitCode == 0 && (exitCodeStr[0] != '0' || exitCodeStr[1] != '\0'))
- return false;
-
- // Exit code should be in range of 0-125, 126-255 is used
- // in many shells for their own return codes and code > 255
- // is not supported in many others
- if (exitCode < 0 || exitCode > 125)
- return false;
-
- sWorld->ShutdownServ(time, SHUTDOWN_MASK_RESTART | SHUTDOWN_MASK_IDLE, exitCode);
- }
- else
- sWorld->ShutdownServ(time, SHUTDOWN_MASK_RESTART | SHUTDOWN_MASK_IDLE, RESTART_EXIT_CODE);
- return true;
- }
-
- static bool HandleServerIdleShutDownCommand(ChatHandler* /*handler*/, char const* args)
- {
- if (!*args)
- return false;
-
- char* timeStr = strtok((char*) args, " ");
- char* exitCodeStr = strtok(nullptr, "");
-
- int32 time = atoi(timeStr);
-
- // Prevent interpret wrong arg value as 0 secs shutdown time
- if ((time == 0 && (timeStr[0] != '0' || timeStr[1] != '\0')) || time < 0)
- return false;
-
- if (exitCodeStr)
- {
- int32 exitCode = atoi(exitCodeStr);
-
- // Handle atoi() errors
- if (exitCode == 0 && (exitCodeStr[0] != '0' || exitCodeStr[1] != '\0'))
- return false;
-
- // Exit code should be in range of 0-125, 126-255 is used
- // in many shells for their own return codes and code > 255
- // is not supported in many others
- if (exitCode < 0 || exitCode > 125)
- return false;
-
- sWorld->ShutdownServ(time, SHUTDOWN_MASK_IDLE, exitCode);
- }
- else
- sWorld->ShutdownServ(time, SHUTDOWN_MASK_IDLE, SHUTDOWN_EXIT_CODE);
- return true;
- }
-
- // Exit the realm
- static bool HandleServerExitCommand(ChatHandler* handler, char const* /*args*/)
- {
- handler->SendSysMessage(LANG_COMMAND_EXIT);
- World::StopNow(SHUTDOWN_EXIT_CODE);
- return true;
- }
-
- // Define the 'Message of the day' for the realm
- static bool HandleServerSetMotdCommand(ChatHandler* handler, char const* args)
- {
- sWorld->SetMotd(args);
- handler->PSendSysMessage(LANG_MOTD_NEW, args);
- return true;
- }
-
- // Set whether we accept new clients
- static bool HandleServerSetClosedCommand(ChatHandler* handler, char const* args)
- {
- if (strncmp(args, "on", 3) == 0)
- {
- handler->SendSysMessage(LANG_WORLD_CLOSED);
- sWorld->SetClosed(true);
- return true;
- }
- else if (strncmp(args, "off", 4) == 0)
- {
- handler->SendSysMessage(LANG_WORLD_OPENED);
- sWorld->SetClosed(false);
- return true;
- }
-
- handler->SendSysMessage(LANG_USE_BOL);
- handler->SetSentErrorMessage(true);
- return false;
- }
-
- // Set the level of logging
- static bool HandleServerSetLogFileLevelCommand(ChatHandler* /*handler*/, char const* args)
- {
- if (!*args)
- return false;
-
- char* newLevel = strtok((char*)args, " ");
- if (!newLevel)
- return false;
-
- sLog->SetLogFileLevel(newLevel);
- return true;
- }
-
- // Set the level of logging
- static bool HandleServerSetLogLevelCommand(ChatHandler* /*handler*/, char const* args)
- {
- if (!*args)
- return false;
-
- char* newLevel = strtok((char*)args, " ");
- if (!newLevel)
- return false;
-
- sLog->SetLogLevel(newLevel);
- return true;
- }
-
- // set diff time record interval
- static bool HandleServerSetDiffTimeCommand(ChatHandler* /*handler*/, char const* args)
- {
- if (!*args)
- return false;
-
- char* newTimeStr = strtok((char*)args, " ");
- if (!newTimeStr)
- return false;
-
- int32 newTime = atoi(newTimeStr);
- if (newTime < 0)
- return false;
-
- sWorld->SetRecordDiffInterval(newTime);
- printf("Record diff every %u ms\n", newTime);
-
- return true;
- }
-
- // toggle sql driver query logging
- static bool HandleServerToggleQueryLogging(ChatHandler* handler, char const* /*args*/)
- {
- sLog->SetSQLDriverQueryLogging(!sLog->GetSQLDriverQueryLogging());
-
- if (sLog->GetSQLDriverQueryLogging())
- handler->PSendSysMessage(LANG_SQLDRIVER_QUERY_LOGGING_ENABLED);
- else
- handler->PSendSysMessage(LANG_SQLDRIVER_QUERY_LOGGING_DISABLED);
- return true;
- }
-};
-
-void AddSC_server_commandscript()
-{
- new server_commandscript();
-}