Add dedicated_server_step setting

This commit is contained in:
Perttu Ahola 2012-03-07 21:44:53 +02:00
parent 14a71590c3
commit 0309021359
2 changed files with 5 additions and 3 deletions

@ -123,5 +123,6 @@ void set_default_settings(Settings *settings)
settings->setDefault("server_map_save_interval", "5.3"); settings->setDefault("server_map_save_interval", "5.3");
settings->setDefault("full_block_send_enable_min_time_from_building", "2.0"); settings->setDefault("full_block_send_enable_min_time_from_building", "2.0");
settings->setDefault("enable_experimental", "false"); settings->setDefault("enable_experimental", "false");
settings->setDefault("dedicated_server_step", "0.05");
} }

@ -4500,13 +4500,14 @@ void dedicated_server_loop(Server &server, bool &kill)
for(;;) for(;;)
{ {
float steplen = g_settings->getFloat("dedicated_server_step");
// This is kind of a hack but can be done like this // This is kind of a hack but can be done like this
// because server.step() is very light // because server.step() is very light
{ {
ScopeProfiler sp(g_profiler, "dedicated server sleep"); 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) if(server.getShutdownRequested() || kill)
{ {
@ -4521,7 +4522,7 @@ void dedicated_server_loop(Server &server, bool &kill)
g_settings->getFloat("profiler_print_interval"); g_settings->getFloat("profiler_print_interval");
if(profiler_print_interval != 0) 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; infostream<<"Profiler:"<<std::endl;
g_profiler->print(infostream); g_profiler->print(infostream);