summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/Server.cpp34
1 files changed, 29 insertions, 5 deletions
diff --git a/src/Server.cpp b/src/Server.cpp
index 91bc6853e..8e222b743 100644
--- a/src/Server.cpp
+++ b/src/Server.cpp
@@ -476,13 +476,34 @@ void cServer::ExecuteConsoleCommand(const AString & a_Cmd, cCommandOutputCallbac
a_Output.Finished();
return;
}
- if (split[0] == "load" && !split[1].empty())
+ if (split[0] == "load")
{
- cPluginManager::Get()->LoadPlugin(split[1]);
- a_Output.Out("Plugin " + split[1] + " added and activated!");
- a_Output.Finished();
+ if (split.size() > 1)
+ {
+ cPluginManager::Get()->LoadPlugin(split[1]);
+ return;
+ }
+ else
+ {
+ a_Output.Out("No plugin given! Command: load <pluginname>");
+ a_Output.Finished();
+ return;
+ }
}
-
+ /*
+ * TODO: Declare unload command
+ if (split[0] == "unload")
+ {
+ if (split.size() > 1)
+ {
+
+ }
+ else
+ {
+
+ }
+ }
+ */
// There is currently no way a plugin can do these (and probably won't ever be):
if (split[0].compare("chunkstats") == 0)
{
@@ -573,6 +594,9 @@ void cServer::BindBuiltInConsoleCommands(void)
PlgMgr->BindConsoleCommand("restart", NULL, " - Restarts the server cleanly");
PlgMgr->BindConsoleCommand("stop", NULL, " - Stops the server cleanly");
PlgMgr->BindConsoleCommand("chunkstats", NULL, " - Displays detailed chunk memory statistics");
+ PlgMgr->BindConsoleCommand("load <pluginname>", NULL, " - Adds and enables the specified plugin");
+ PlgMgr->BindConsoleCommand("unload <pluginname>", NULL, " - Disables the specified plugin");
+
#if defined(_MSC_VER) && defined(_DEBUG) && defined(ENABLE_LEAK_FINDER)
PlgMgr->BindConsoleCommand("dumpmem", NULL, " - Dumps all used memory blocks together with their callstacks into memdump.xml");
#endif