server can now direct lag
This commit is contained in:
@@ -280,6 +280,22 @@ namespace OpenRA.Server
|
||||
DispatchOrders(null, 0,
|
||||
new ServerOrder(conn.PlayerIndex, "SetName", newName).Serialize());
|
||||
}
|
||||
|
||||
if (so.Data.StartsWith("/lag "))
|
||||
{
|
||||
int lag;
|
||||
if (!int.TryParse(so.Data.Substring(5), out lag))
|
||||
{
|
||||
Console.WriteLine("Invalid order lag: {0}",
|
||||
so.Data.Substring(5));
|
||||
return;
|
||||
}
|
||||
|
||||
Console.WriteLine("Order lag is now {0} frames.", lag);
|
||||
|
||||
DispatchOrders(null, 0,
|
||||
new ServerOrder(0, "SetLag", lag.ToString()).Serialize());
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace OpenRa.Game
|
||||
List<OrderSource> sources;
|
||||
int frameNumber = 0;
|
||||
|
||||
const int FramesAhead = 3;
|
||||
public int FramesAhead = 3;
|
||||
|
||||
public bool GameStarted { get { return frameNumber != 0; } }
|
||||
public bool IsNetplay { get { return sources.OfType<NetworkOrderSource>().Any(); } }
|
||||
|
||||
@@ -119,6 +119,24 @@ namespace OpenRa.Game
|
||||
order.Player.PlayerName = order.TargetString;
|
||||
break;
|
||||
}
|
||||
|
||||
case "SetLag":
|
||||
{
|
||||
int lag = int.Parse(order.TargetString);
|
||||
if (Game.orderManager.GameStarted)
|
||||
{
|
||||
Game.chat.AddLine(Pair.New("Server",
|
||||
string.Format("Failed to change lag to {0} frames",
|
||||
lag)));
|
||||
return;
|
||||
}
|
||||
|
||||
Game.orderManager.FramesAhead = lag;
|
||||
Game.chat.AddLine(Pair.New("Server",
|
||||
string.Format("Order lag is now {0} frames.",
|
||||
lag)));
|
||||
break;
|
||||
}
|
||||
case "StartGame":
|
||||
{
|
||||
Game.chat.AddLine(Pair.New("Server:", "The game has started."));
|
||||
|
||||
Reference in New Issue
Block a user