diff --git a/builtin/game/auth.lua b/builtin/game/auth.lua index 00f305316..dfddb1a0d 100644 --- a/builtin/game/auth.lua +++ b/builtin/game/auth.lua @@ -232,7 +232,7 @@ if not core.is_singleplayer() then local save_interval = tonumber(core.settings:get("server_map_save_interval")) local function auto_save() core.auth_commit() - core.after(save_interval * 2, auto_save) + core.after(save_interval * 3, auto_save) end core.after(60, auto_save) diff --git a/builtin/game/chatcommands.lua b/builtin/game/chatcommands.lua index 8ad448a01..5c62c9fd6 100644 --- a/builtin/game/chatcommands.lua +++ b/builtin/game/chatcommands.lua @@ -895,10 +895,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 diff --git a/src/database-files.cpp b/src/database-files.cpp index 29151a529..a0e0bbd8d 100644 --- a/src/database-files.cpp +++ b/src/database-files.cpp @@ -30,6 +30,11 @@ with this program; if not, write to the Free Software Foundation, Inc., // This backend is intended to be used on Minetest 0.4.16 only for the transition backend // for player files +PlayerDatabaseFiles::PlayerDatabaseFiles(const std::string &savedir) : m_savedir(savedir) +{ + fs::CreateDir(m_savedir); +} + void PlayerDatabaseFiles::serialize(std::ostringstream &os, RemotePlayer *player) { // Utilize a Settings object for storing values @@ -57,6 +62,8 @@ void PlayerDatabaseFiles::serialize(std::ostringstream &os, RemotePlayer *player void PlayerDatabaseFiles::savePlayer(RemotePlayer *player) { + fs::CreateDir(m_savedir); + std::string savedir = m_savedir + DIR_DELIM; std::string path = savedir + player->getName(); bool path_found = false; diff --git a/src/database-files.h b/src/database-files.h index 80824455f..43ea64994 100644 --- a/src/database-files.h +++ b/src/database-files.h @@ -29,7 +29,7 @@ with this program; if not, write to the Free Software Foundation, Inc., class PlayerDatabaseFiles : public PlayerDatabase { public: - PlayerDatabaseFiles(const std::string &savedir) : m_savedir(savedir) {} + PlayerDatabaseFiles(const std::string &savedir); virtual ~PlayerDatabaseFiles() {} void savePlayer(RemotePlayer *player); diff --git a/src/environment.cpp b/src/environment.cpp index 4351e1b4f..f21fa8b71 100644 --- a/src/environment.cpp +++ b/src/environment.cpp @@ -29,8 +29,8 @@ with this program; if not, write to the Free Software Foundation, Inc., Environment::Environment(IGameDef *gamedef): m_time_of_day_speed(0), - m_time_of_day(9000), - m_time_of_day_f(9000./24000), + m_time_of_day(6000), + m_time_of_day_f(6000./24000), m_time_conversion_skew(0.0f), m_enable_day_night_ratio_override(false), m_day_night_ratio_override(0.0f), diff --git a/src/script/lua_api/l_env.cpp b/src/script/lua_api/l_env.cpp index c21374a03..a2e6c7dce 100644 --- a/src/script/lua_api/l_env.cpp +++ b/src/script/lua_api/l_env.cpp @@ -831,7 +831,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); diff --git a/src/serverenvironment.cpp b/src/serverenvironment.cpp index 20736cd27..afdcc1fbb 100644 --- a/src/serverenvironment.cpp +++ b/src/serverenvironment.cpp @@ -542,9 +542,6 @@ void ServerEnvironment::kickAllPlayers(AccessDeniedCode reason, void ServerEnvironment::saveLoadedPlayers() { - std::string players_path = m_path_world + DIR_DELIM + "players"; - fs::CreateDir(players_path); - for (std::vector::iterator it = m_players.begin(); it != m_players.end(); ++it) { @@ -663,7 +660,7 @@ void ServerEnvironment::loadMeta() setTimeOfDay(args.exists("time_of_day") ? // set day to morning by default - args.getU64("time_of_day") : 9000); + args.getU64("time_of_day") : 6000); m_last_clear_objects_time = args.exists("last_clear_objects_time") ? // If missing, do as if clearObjects was never called @@ -1084,7 +1081,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; @@ -1132,7 +1129,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; @@ -1154,7 +1151,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; }