Fix #5617 - respect message and reconnect parameters when shutting down immediately...
authororwell96 <mono96.mml@gmail.com>
Fri, 21 Apr 2017 17:31:59 +0000 (19:31 +0200)
committerLoïc Blot <nerzhul@users.noreply.github.com>
Fri, 21 Apr 2017 17:31:59 +0000 (19:31 +0200)
src/server.cpp

index a9e5c3d08820f0e441ab2b6e1c09066feca34b52..a921423d281b0475b4e9de040587205ee9853c25 100644 (file)
@@ -3479,9 +3479,16 @@ v3f Server::findSpawnPos()
 
 void Server::requestShutdown(const std::string &msg, bool reconnect, float delay)
 {
+       m_shutdown_timer = delay;
+       m_shutdown_msg = msg;
+       m_shutdown_ask_reconnect = reconnect;
+
        if (delay == 0.0f) {
        // No delay, shutdown immediately
                m_shutdown_requested = true;
+               // only print to the infostream, a chat message saying 
+               // "Server Shutting Down" is sent when the server destructs.
+               infostream << "*** Immediate Server shutdown requested." << std::endl;
        } else if (delay < 0.0f && m_shutdown_timer > 0.0f) {
        // Negative delay, cancel shutdown if requested
                m_shutdown_timer = 0.0f;
@@ -3495,10 +3502,7 @@ void Server::requestShutdown(const std::string &msg, bool reconnect, float delay
                infostream << wide_to_utf8(ws.str()).c_str() << std::endl;
                SendChatMessage(PEER_ID_INEXISTENT, ws.str());
        } else if (delay > 0.0f) {
-       // Positive delay, delay the shutdown
-               m_shutdown_timer = delay;
-               m_shutdown_msg = msg;
-               m_shutdown_ask_reconnect = reconnect;
+       // Positive delay, tell the clients when the server will shut down
                std::wstringstream ws;
 
                ws << L"*** Server shutting down in "