add slot open/close server commands with boot on close
This commit is contained in:
@@ -384,6 +384,59 @@ namespace OpenRA.Server
|
|||||||
return false;
|
return false;
|
||||||
|
|
||||||
GetClient(conn).Slot = slot;
|
GetClient(conn).Slot = slot;
|
||||||
|
SyncLobbyInfo();
|
||||||
|
return true;
|
||||||
|
}},
|
||||||
|
{ "slot_close",
|
||||||
|
s =>
|
||||||
|
{
|
||||||
|
int slot;
|
||||||
|
if (!int.TryParse(s, out slot)) { Log.Write("server", "Invalid slot: {0}", s ); return false; }
|
||||||
|
|
||||||
|
var slotData = lobbyInfo.Slots.FirstOrDefault( x => x.Index == slot );
|
||||||
|
if (slotData == null)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if (conn.PlayerIndex != 0)
|
||||||
|
{
|
||||||
|
SendChatTo( conn, "Only the host can alter slots" );
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
slotData.Closed = true;
|
||||||
|
slotData.Bot = null;
|
||||||
|
|
||||||
|
/* kick any player that's in the slot */
|
||||||
|
var occupant = lobbyInfo.Clients.FirstOrDefault( c => c.Slot == slotData.Index );
|
||||||
|
if (occupant != null)
|
||||||
|
{
|
||||||
|
var occupantConn = conns.FirstOrDefault( c => c.PlayerIndex == occupant.Index );
|
||||||
|
if (occupantConn != null)
|
||||||
|
DropClient( occupantConn, new Exception() );
|
||||||
|
}
|
||||||
|
|
||||||
|
SyncLobbyInfo();
|
||||||
|
return true;
|
||||||
|
}},
|
||||||
|
{ "slot_open",
|
||||||
|
s =>
|
||||||
|
{
|
||||||
|
int slot;
|
||||||
|
if (!int.TryParse(s, out slot)) { Log.Write("server", "Invalid slot: {0}", s ); return false; }
|
||||||
|
|
||||||
|
var slotData = lobbyInfo.Slots.FirstOrDefault( x => x.Index == slot );
|
||||||
|
if (slotData == null)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if (conn.PlayerIndex != 0)
|
||||||
|
{
|
||||||
|
SendChatTo( conn, "Only the host can alter slots" );
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
slotData.Closed = false;
|
||||||
|
slotData.Bot = null;
|
||||||
|
|
||||||
SyncLobbyInfo();
|
SyncLobbyInfo();
|
||||||
return true;
|
return true;
|
||||||
}},
|
}},
|
||||||
|
|||||||
Reference in New Issue
Block a user