diff options
author | nerzhul <loic.blot@unix-experience.fr> | 2015-07-16 17:37:46 +0200 |
---|---|---|
committer | Loic Blot <loic.blot@unix-experience.fr> | 2015-07-16 20:27:42 +0200 |
commit | f9dbec6edf94ce20d52d38569545674cfb742eae (patch) | |
tree | fcb4e9f1b3d96a97fb5998d4aea7a67e2d28ba73 /src/server.cpp | |
parent | 655fc6010ffd4be7de315be261df2a61d5d4538a (diff) | |
download | minetest-f9dbec6edf94ce20d52d38569545674cfb742eae.tar.gz minetest-f9dbec6edf94ce20d52d38569545674cfb742eae.tar.bz2 minetest-f9dbec6edf94ce20d52d38569545674cfb742eae.zip |
Kick players when shutting down server and there is a crash due to a Lua stack exception
Diffstat (limited to 'src/server.cpp')
-rw-r--r-- | src/server.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/server.cpp b/src/server.cpp index 9d70ad7b7..0cad82613 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -394,10 +394,13 @@ Server::~Server() // Execute script shutdown hooks m_script->on_shutdown(); - infostream<<"Server: Saving players"<<std::endl; + infostream << "Server: Saving players" << std::endl; m_env->saveLoadedPlayers(); - infostream<<"Server: Saving environment metadata"<<std::endl; + infostream << "Server: kick players" << std::endl; + m_env->kickAllPlayers("Server shutting down..."); + + infostream << "Server: Saving environment metadata" << std::endl; m_env->saveMeta(); } @@ -499,6 +502,7 @@ void Server::step(float dtime) throw ServerError(async_err); } else { + m_env->kickAllPlayers("The server has crashed. Disconnecting all players. Please reconnect soon..."); errorstream << "UNRECOVERABLE error occurred. Stopping server. " << "Please fix the following error:" << std::endl << async_err << std::endl; |