edited the LobbyLogic to include a spectator toggle in the server admin dropdown.
This commit is contained in:
@@ -127,6 +127,7 @@ namespace OpenRA.Network
|
||||
public int RandomSeed = 0;
|
||||
public bool FragileAlliances = false; // Allow diplomatic stance changes after game start.
|
||||
public bool AllowCheats = false;
|
||||
public bool AllowSpectate = true;
|
||||
public bool Dedicated;
|
||||
public string Difficulty;
|
||||
public bool Crates = true;
|
||||
|
||||
@@ -276,6 +276,13 @@ namespace OpenRA.Server
|
||||
IsAdmin = !LobbyInfo.Clients.Any(c1 => c1.IsAdmin)
|
||||
};
|
||||
|
||||
if (client.IsObserver && !LobbyInfo.GlobalSettings.AllowSpectate)
|
||||
{
|
||||
SendOrderTo(newConn, "ServerError", "The game is full");
|
||||
DropClient(newConn);
|
||||
return;
|
||||
}
|
||||
|
||||
if (client.Slot != null)
|
||||
SyncClientToPlayerReference(client, Map.Players[client.Slot]);
|
||||
else
|
||||
@@ -317,7 +324,7 @@ namespace OpenRA.Server
|
||||
LobbyInfo.Clients.Add(client);
|
||||
|
||||
Log.Write("server", "Client {0}: Accepted connection from {1}.",
|
||||
newConn.PlayerIndex, newConn.socket.RemoteEndPoint);
|
||||
newConn.PlayerIndex, newConn.socket.RemoteEndPoint);
|
||||
|
||||
foreach (var t in serverTraits.WithInterface<IClientJoined>())
|
||||
t.ClientJoined(this, newConn);
|
||||
|
||||
Reference in New Issue
Block a user