diff --git a/src/server.cpp b/src/server.cpp index e1befcffc..0aaec809a 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -3013,36 +3013,39 @@ PlayerSAO* Server::getPlayerSAO(u16 peer_id) std::wstring Server::getStatusString() { std::wostringstream os(std::ios_base::binary); - os< clients = m_clients.getClientIDs(); - for (std::vector::iterator i = clients.begin(); i != clients.end(); ++i) { - // Get player - RemotePlayer *player = m_env->getPlayer(*i); - // Get name of player - std::wstring name = L"unknown"; - if (player != NULL) - name = narrow_to_wide(player->getName()); - // Add name to information string - if(!first) - os << L", "; - else - first = false; - os << name; - } + os << L", clients={"; + if (m_env) { + std::vector clients = m_clients.getClientIDs(); + for (session_t client_id : clients) { + RemotePlayer *player = m_env->getPlayer(client_id); + + // Get name of player + std::wstring name = L"unknown"; + if (player) + name = narrow_to_wide(player->getName()); + + // Add name to information string + if (!first) + os << L", "; + else + first = false; + + os << name; + } os << L"}"; - if(((ServerMap*)(&m_env->getMap()))->isSavingEnabled() == false) - os<get("motd") != "") - os<get("motd")); + if (m_env && !((ServerMap*)(&m_env->getMap()))->isSavingEnabled()) + os << std::endl << L"# Server: " << " WARNING: Map saving is disabled."; + if (!g_settings->get("motd").empty()) + os << std::endl << L"# Server: " << narrow_to_wide(g_settings->get("motd")); return os.str(); }