diff --git a/OpenRA.Game/Server/Server.cs b/OpenRA.Game/Server/Server.cs index a6b8e7c53b..cc7640f373 100644 --- a/OpenRA.Game/Server/Server.cs +++ b/OpenRA.Game/Server/Server.cs @@ -395,6 +395,11 @@ namespace OpenRA.Server if (Map.RuleDefinitions.Any() && !LobbyInfo.IsSinglePlayer) SendOrderTo(newConn, "Message", "This map contains custom rules. Game experience may change."); + if (Settings.LockBots) + SendOrderTo(newConn, "Message", "Bots have been disabled on this server."); + else if (MapPlayers.Players.Where(p => p.Value.Playable).All(p => !p.Value.AllowBots)) + SendOrderTo(newConn, "Message", "Bots have been disabled on this map."); + 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 0c60aab18e..c6b398afc4 100644 --- a/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs +++ b/OpenRA.Mods.Common/ServerTraits/LobbyCommands.cs @@ -378,6 +378,11 @@ namespace OpenRA.Mods.Common.Server if (server.Map.RuleDefinitions.Any()) server.SendMessage("This map contains custom rules. Game experience may change."); + if (server.Settings.LockBots) + server.SendMessage("Bots have been disabled on this server."); + else if (server.MapPlayers.Players.Where(p => p.Value.Playable).All(p => !p.Value.AllowBots)) + server.SendMessage("Bots have been disabled on this map."); + return true; } },