diff --git a/OpenRA.Game/Server/Server.cs b/OpenRA.Game/Server/Server.cs index 77340ce70d..ed53f791a3 100644 --- a/OpenRA.Game/Server/Server.cs +++ b/OpenRA.Game/Server/Server.cs @@ -371,7 +371,9 @@ namespace OpenRA.Server t.ClientJoined(this, newConn); SyncLobbyInfo(); - SendMessage("{0} has joined the game.".F(client.Name)); + + if (!LobbyInfo.IsSinglePlayer) + SendMessage("{0} has joined the game.".F(client.Name)); // Send initial ping SendOrderTo(newConn, "Ping", Game.RunTime.ToString(CultureInfo.InvariantCulture)); @@ -387,6 +389,9 @@ namespace OpenRA.Server SendOrderTo(newConn, "Message", motd); } + if (Map.RuleDefinitions.Any() && !LobbyInfo.IsSinglePlayer) + SendOrderTo(newConn, "Message", "This map contains custom rules. Game experience may change."); + if (handshake.Mod == "{DEV_VERSION}") SendMessage("{0} is running an unversioned development build, ".F(client.Name) + "and may desynchronize the game state if they have incompatible rules."); diff --git a/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs b/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs index 2a1c2304e1..2867ff62c3 100644 --- a/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs +++ b/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs @@ -371,6 +371,9 @@ namespace OpenRA.Mods.Common.Server server.SendMessage("{0} changed the map to {1}.".F(client.Name, server.Map.Title)); + if (server.Map.RuleDefinitions.Any()) + server.SendMessage("This map contains custom rules. Game experience may change."); + return true; } },