Clearobjects: Send progress messages to terminal using actionstream
authorparamat <paramat@users.noreply.github.com>
Tue, 21 Nov 2017 02:55:33 +0000 (02:55 +0000)
committerparamat <mat.gregory@virginmedia.com>
Fri, 24 Nov 2017 05:38:53 +0000 (05:38 +0000)
Change default mode to 'quick' as 'full' can lock up a server for a
long time.

builtin/game/chatcommands.lua
src/script/lua_api/l_env.cpp
src/serverenvironment.cpp

index cbfe2fb257bb82412a26fa0228f1116f71e0d352..1402724e5dfcefc887a3b36847b6c27838486609 100644 (file)
@@ -896,10 +896,10 @@ core.register_chatcommand("clearobjects", {
        privs = {server=true},
        func = function(name, param)
                local options = {}
-               if param == "" or param == "full" then
-                       options.mode = "full"
-               elseif param == "quick" then
+               if param == "" or param == "quick" then
                        options.mode = "quick"
+               elseif param == "full" then
+                       options.mode = "full"
                else
                        return false, "Invalid usage, see /help clearobjects."
                end
index f45a8da80d2d78863402674f4ca74f5e1a7046fb..870eeb1aef694b5b8c383189cd9ea06ed4b3a6ae 100644 (file)
@@ -956,7 +956,7 @@ int ModApiEnvMod::l_clear_objects(lua_State *L)
 {
        GET_ENV_PTR;
 
-       ClearObjectsMode mode = CLEAR_OBJECTS_MODE_FULL;
+       ClearObjectsMode mode = CLEAR_OBJECTS_MODE_QUICK;
        if (lua_istable(L, 1)) {
                mode = (ClearObjectsMode)getenumfield(L, 1, "mode",
                        ModApiEnvMod::es_ClearObjectsMode, mode);
index f68f2a27de4490b66995a41d0fe096bb2205366d..1ac1ac1ba9738f2d5d3d541466a1c7c957667725 100644 (file)
@@ -1024,7 +1024,7 @@ void ServerEnvironment::clearObjects(ClearObjectsMode mode)
                loadable_blocks = loaded_blocks;
        }
 
-       infostream << "ServerEnvironment::clearObjects(): "
+       actionstream << "ServerEnvironment::clearObjects(): "
                << "Now clearing objects in " << loadable_blocks.size()
                << " blocks" << std::endl;
 
@@ -1070,7 +1070,7 @@ void ServerEnvironment::clearObjects(ClearObjectsMode mode)
                        num_blocks_checked % report_interval == 0) {
                        float percent = 100.0 * (float)num_blocks_checked /
                                loadable_blocks.size();
-                       infostream << "ServerEnvironment::clearObjects(): "
+                       actionstream << "ServerEnvironment::clearObjects(): "
                                << "Cleared " << num_objs_cleared << " objects"
                                << " in " << num_blocks_cleared << " blocks ("
                                << percent << "%)" << std::endl;
@@ -1090,7 +1090,7 @@ void ServerEnvironment::clearObjects(ClearObjectsMode mode)
 
        m_last_clear_objects_time = m_game_time;
 
-       infostream << "ServerEnvironment::clearObjects(): "
+       actionstream << "ServerEnvironment::clearObjects(): "
                << "Finished: Cleared " << num_objs_cleared << " objects"
                << " in " << num_blocks_cleared << " blocks" << std::endl;
 }