diff --git a/OpenRA.Mods.RA/Player/PlaceBuilding.cs b/OpenRA.Mods.RA/Player/PlaceBuilding.cs index 9adbef1df0..607b8f647f 100755 --- a/OpenRA.Mods.RA/Player/PlaceBuilding.cs +++ b/OpenRA.Mods.RA/Player/PlaceBuilding.cs @@ -62,7 +62,8 @@ namespace OpenRA.Mods.RA } else { - if (!self.World.CanPlaceBuilding(order.TargetString, buildingInfo, order.TargetLocation, null)) + if (!self.World.CanPlaceBuilding(order.TargetString, buildingInfo, order.TargetLocation, null) + || !buildingInfo.IsCloseEnoughToBase(self.World, order.Player, order.TargetString, order.TargetLocation)) { return; } diff --git a/OpenRA.Mods.RA/ServerTraits/LobbyCommands.cs b/OpenRA.Mods.RA/ServerTraits/LobbyCommands.cs index cea8278a39..d9bfcaac4d 100644 --- a/OpenRA.Mods.RA/ServerTraits/LobbyCommands.cs +++ b/OpenRA.Mods.RA/ServerTraits/LobbyCommands.cs @@ -91,6 +91,12 @@ namespace OpenRA.Mods.RA.Server { "startgame", s => { + if (!client.IsAdmin) + { + server.SendOrderTo(conn, "Message", "Only the host can start the game"); + return true; + } + if (server.lobbyInfo.Slots.Any(sl => sl.Value.Required && server.lobbyInfo.ClientInSlot(sl.Key) == null)) {