From 0adadba2182e416f768c83804401e2c177307f0a Mon Sep 17 00:00:00 2001
From: Kahrl <kahrl@gmx.net>
Date: Mon, 10 Nov 2014 22:06:24 +0100
Subject: [PATCH] Serverlist: announce mg_name from map_meta.txt instead of
 minetest.conf

---
 src/server.cpp     | 1 +
 src/serverlist.cpp | 3 ++-
 src/serverlist.h   | 1 +
 3 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/server.cpp b/src/server.cpp
index 7be1f5860..2694f1bbe 100644
--- a/src/server.cpp
+++ b/src/server.cpp
@@ -687,6 +687,7 @@ void Server::AsyncRunStep(bool initial_step)
 					m_env->getGameTime(),
 					m_lag,
 					m_gamespec.id,
+					m_emerge->params.mg_name,
 					m_mods);
 			counter = 0.01;
 		}
diff --git a/src/serverlist.cpp b/src/serverlist.cpp
index 4d770a1c2..65c75fec2 100644
--- a/src/serverlist.cpp
+++ b/src/serverlist.cpp
@@ -194,6 +194,7 @@ void sendAnnounce(const std::string &action,
 		const u32 game_time,
 		const float lag,
 		const std::string &gameid,
+		const std::string &mg_name,
 		const std::vector<ModSpec> &mods)
 {
 	Json::Value server;
@@ -227,7 +228,7 @@ void sendAnnounce(const std::string &action,
 	if (action == "start") {
 		server["dedicated"]         = g_settings->getBool("server_dedicated");
 		server["rollback"]          = g_settings->getBool("enable_rollback_recording");
-		server["mapgen"]            = g_settings->get("mg_name");
+		server["mapgen"]            = mg_name;
 		server["privs"]             = g_settings->get("default_privs");
 		server["can_see_far_names"] = g_settings->getS16("player_transfer_distance") <= 0;
 		server["mods"]              = Json::Value(Json::arrayValue);
diff --git a/src/serverlist.h b/src/serverlist.h
index aa3f1d610..7a7461ebd 100644
--- a/src/serverlist.h
+++ b/src/serverlist.h
@@ -42,6 +42,7 @@ namespace ServerList
 			const std::vector<std::string> &clients_names = std::vector<std::string>(),
 			const double uptime = 0, const u32 game_time = 0,
 			const float lag = 0, const std::string &gameid = "",
+			const std::string &mg_name = "",
 			const std::vector<ModSpec> &mods = std::vector<ModSpec>());
 	#endif
 } // ServerList namespace
-- 
GitLab