Clearobjects: Send progress messages to terminal using actionstream
Change default mode to 'quick' as 'full' can lock up a server for a long time.master
parent
f7733f41ea
commit
912ba1e47f
|
@ -896,10 +896,10 @@ core.register_chatcommand("clearobjects", {
|
||||||
privs = {server=true},
|
privs = {server=true},
|
||||||
func = function(name, param)
|
func = function(name, param)
|
||||||
local options = {}
|
local options = {}
|
||||||
if param == "" or param == "full" then
|
if param == "" or param == "quick" then
|
||||||
options.mode = "full"
|
|
||||||
elseif param == "quick" then
|
|
||||||
options.mode = "quick"
|
options.mode = "quick"
|
||||||
|
elseif param == "full" then
|
||||||
|
options.mode = "full"
|
||||||
else
|
else
|
||||||
return false, "Invalid usage, see /help clearobjects."
|
return false, "Invalid usage, see /help clearobjects."
|
||||||
end
|
end
|
||||||
|
|
|
@ -956,7 +956,7 @@ int ModApiEnvMod::l_clear_objects(lua_State *L)
|
||||||
{
|
{
|
||||||
GET_ENV_PTR;
|
GET_ENV_PTR;
|
||||||
|
|
||||||
ClearObjectsMode mode = CLEAR_OBJECTS_MODE_FULL;
|
ClearObjectsMode mode = CLEAR_OBJECTS_MODE_QUICK;
|
||||||
if (lua_istable(L, 1)) {
|
if (lua_istable(L, 1)) {
|
||||||
mode = (ClearObjectsMode)getenumfield(L, 1, "mode",
|
mode = (ClearObjectsMode)getenumfield(L, 1, "mode",
|
||||||
ModApiEnvMod::es_ClearObjectsMode, mode);
|
ModApiEnvMod::es_ClearObjectsMode, mode);
|
||||||
|
|
|
@ -1024,7 +1024,7 @@ void ServerEnvironment::clearObjects(ClearObjectsMode mode)
|
||||||
loadable_blocks = loaded_blocks;
|
loadable_blocks = loaded_blocks;
|
||||||
}
|
}
|
||||||
|
|
||||||
infostream << "ServerEnvironment::clearObjects(): "
|
actionstream << "ServerEnvironment::clearObjects(): "
|
||||||
<< "Now clearing objects in " << loadable_blocks.size()
|
<< "Now clearing objects in " << loadable_blocks.size()
|
||||||
<< " blocks" << std::endl;
|
<< " blocks" << std::endl;
|
||||||
|
|
||||||
|
@ -1070,7 +1070,7 @@ void ServerEnvironment::clearObjects(ClearObjectsMode mode)
|
||||||
num_blocks_checked % report_interval == 0) {
|
num_blocks_checked % report_interval == 0) {
|
||||||
float percent = 100.0 * (float)num_blocks_checked /
|
float percent = 100.0 * (float)num_blocks_checked /
|
||||||
loadable_blocks.size();
|
loadable_blocks.size();
|
||||||
infostream << "ServerEnvironment::clearObjects(): "
|
actionstream << "ServerEnvironment::clearObjects(): "
|
||||||
<< "Cleared " << num_objs_cleared << " objects"
|
<< "Cleared " << num_objs_cleared << " objects"
|
||||||
<< " in " << num_blocks_cleared << " blocks ("
|
<< " in " << num_blocks_cleared << " blocks ("
|
||||||
<< percent << "%)" << std::endl;
|
<< percent << "%)" << std::endl;
|
||||||
|
@ -1090,7 +1090,7 @@ void ServerEnvironment::clearObjects(ClearObjectsMode mode)
|
||||||
|
|
||||||
m_last_clear_objects_time = m_game_time;
|
m_last_clear_objects_time = m_game_time;
|
||||||
|
|
||||||
infostream << "ServerEnvironment::clearObjects(): "
|
actionstream << "ServerEnvironment::clearObjects(): "
|
||||||
<< "Finished: Cleared " << num_objs_cleared << " objects"
|
<< "Finished: Cleared " << num_objs_cleared << " objects"
|
||||||
<< " in " << num_blocks_cleared << " blocks" << std::endl;
|
<< " in " << num_blocks_cleared << " blocks" << std::endl;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue