Add enable_rollback_recording setting, defaulting to false
parent
e64feefc61
commit
c9ed379e39
|
@ -160,6 +160,8 @@
|
||||||
#disallow_empty_password = false
|
#disallow_empty_password = false
|
||||||
# If true, disable cheat prevention in multiplayer
|
# If true, disable cheat prevention in multiplayer
|
||||||
#disable_anticheat = false
|
#disable_anticheat = false
|
||||||
|
# If true, actions are recorded for rollback
|
||||||
|
#enable_rollback_recording = false
|
||||||
|
|
||||||
# Profiler data print interval. #0 = disable.
|
# Profiler data print interval. #0 = disable.
|
||||||
#profiler_print_interval = 0
|
#profiler_print_interval = 0
|
||||||
|
|
|
@ -122,6 +122,7 @@ void set_default_settings(Settings *settings)
|
||||||
settings->setDefault("enable_pvp", "true");
|
settings->setDefault("enable_pvp", "true");
|
||||||
settings->setDefault("disallow_empty_password", "false");
|
settings->setDefault("disallow_empty_password", "false");
|
||||||
settings->setDefault("disable_anticheat", "false");
|
settings->setDefault("disable_anticheat", "false");
|
||||||
|
settings->setDefault("enable_rollback_recording", "false");
|
||||||
|
|
||||||
settings->setDefault("profiler_print_interval", "0");
|
settings->setDefault("profiler_print_interval", "0");
|
||||||
settings->setDefault("enable_mapgen_debug_info", "false");
|
settings->setDefault("enable_mapgen_debug_info", "false");
|
||||||
|
|
|
@ -937,6 +937,7 @@ Server::Server(
|
||||||
m_banmanager(path_world+DIR_DELIM+"ipban.txt"),
|
m_banmanager(path_world+DIR_DELIM+"ipban.txt"),
|
||||||
m_rollback(NULL),
|
m_rollback(NULL),
|
||||||
m_rollback_sink_enabled(true),
|
m_rollback_sink_enabled(true),
|
||||||
|
m_enable_rollback_recording(false),
|
||||||
m_lua(NULL),
|
m_lua(NULL),
|
||||||
m_itemdef(createItemDefManager()),
|
m_itemdef(createItemDefManager()),
|
||||||
m_nodedef(createNodeDefManager()),
|
m_nodedef(createNodeDefManager()),
|
||||||
|
@ -1873,6 +1874,10 @@ void Server::AsyncRunStep()
|
||||||
counter = 0.0;
|
counter = 0.0;
|
||||||
|
|
||||||
m_emergethread.trigger();
|
m_emergethread.trigger();
|
||||||
|
|
||||||
|
// Update m_enable_rollback_recording here too
|
||||||
|
m_enable_rollback_recording =
|
||||||
|
g_settings->getBool("enable_rollback_recording");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4658,6 +4663,8 @@ MtEventManager* Server::getEventManager()
|
||||||
}
|
}
|
||||||
IRollbackReportSink* Server::getRollbackReportSink()
|
IRollbackReportSink* Server::getRollbackReportSink()
|
||||||
{
|
{
|
||||||
|
if(!m_enable_rollback_recording)
|
||||||
|
return NULL;
|
||||||
if(!m_rollback_sink_enabled)
|
if(!m_rollback_sink_enabled)
|
||||||
return NULL;
|
return NULL;
|
||||||
return m_rollback;
|
return m_rollback;
|
||||||
|
|
|
@ -734,6 +734,7 @@ private:
|
||||||
// Rollback manager (behind m_env_mutex)
|
// Rollback manager (behind m_env_mutex)
|
||||||
IRollbackManager *m_rollback;
|
IRollbackManager *m_rollback;
|
||||||
bool m_rollback_sink_enabled;
|
bool m_rollback_sink_enabled;
|
||||||
|
bool m_enable_rollback_recording; // Updated once in a while
|
||||||
|
|
||||||
// Scripting
|
// Scripting
|
||||||
// Envlock and conlock should be locked when using Lua
|
// Envlock and conlock should be locked when using Lua
|
||||||
|
|
Loading…
Reference in New Issue