Add dedicated_server_step setting
authorPerttu Ahola <celeron55@gmail.com>
Wed, 7 Mar 2012 19:44:53 +0000 (21:44 +0200)
committerPerttu Ahola <celeron55@gmail.com>
Wed, 7 Mar 2012 19:44:53 +0000 (21:44 +0200)
src/defaultsettings.cpp
src/server.cpp

index 3f6901e8f4b8d33b16efed11945bee52290dc161..6c611d6721770ed78a16613c0cb5d9530d469e52 100644 (file)
@@ -123,5 +123,6 @@ void set_default_settings(Settings *settings)
        settings->setDefault("server_map_save_interval", "5.3");
        settings->setDefault("full_block_send_enable_min_time_from_building", "2.0");
        settings->setDefault("enable_experimental", "false");
+       settings->setDefault("dedicated_server_step", "0.05");
 }
 
index bf90b2aa7289b03b7d455913e9937857bdf3f219..97fafd2c22c5355011a44dffab753b9ba681ec48 100644 (file)
@@ -4500,13 +4500,14 @@ void dedicated_server_loop(Server &server, bool &kill)
 
        for(;;)
        {
+               float steplen = g_settings->getFloat("dedicated_server_step");
                // This is kind of a hack but can be done like this
                // because server.step() is very light
                {
                        ScopeProfiler sp(g_profiler, "dedicated server sleep");
-                       sleep_ms(30);
+                       sleep_ms((int)(steplen*1000.0));
                }
-               server.step(0.030);
+               server.step(steplen);
 
                if(server.getShutdownRequested() || kill)
                {
@@ -4521,7 +4522,7 @@ void dedicated_server_loop(Server &server, bool &kill)
                                g_settings->getFloat("profiler_print_interval");
                if(profiler_print_interval != 0)
                {
-                       if(m_profiler_interval.step(0.030, profiler_print_interval))
+                       if(m_profiler_interval.step(steplen, profiler_print_interval))
                        {
                                infostream<<"Profiler:"<<std::endl;
                                g_profiler->print(infostream);