Migrate calls from Players.Length to ActivePlayers
As pointed out by @QuiCM, TShock.Players is actually an array and not a smarter collection, so length will return the total collection size and not the active players. An earlier commit was added that gives TSPlayer an ICollection<TSPlayer> that contains only active players. This is now the basis of determining the number of active players on the server.
This commit is contained in:
parent
17cfdc3a16
commit
521283c36b
4 changed files with 6 additions and 6 deletions
|
|
@ -4819,7 +4819,7 @@ namespace TShockAPI
|
|||
return;
|
||||
}
|
||||
|
||||
args.Player.SendSuccessMessage("Online Players ({0}/{1})", TShock.Players.Length, TShock.Config.MaxSlots);
|
||||
args.Player.SendSuccessMessage("Online Players ({0}/{1})", TSPlayer.ActivePlayers.Count, TShock.Config.MaxSlots);
|
||||
|
||||
var players = new List<string>();
|
||||
|
||||
|
|
|
|||
|
|
@ -144,7 +144,7 @@ namespace TShockAPI
|
|||
return new JsonData()
|
||||
{
|
||||
port = Terraria.Netplay.ListenPort,
|
||||
currentPlayers = TShock.Players.Length,
|
||||
currentPlayers = TSPlayer.ActivePlayers.Count,
|
||||
maxPlayers = TShock.Config.MaxSlots,
|
||||
systemRam = GetTotalSystemRam(ServerApi.RunningMono),
|
||||
version = TShock.VersionNum.ToString(),
|
||||
|
|
|
|||
|
|
@ -1621,7 +1621,7 @@ namespace TShockAPI
|
|||
if (Config.EnableGeoIP && TShock.Geo != null)
|
||||
{
|
||||
Log.Info("{0} ({1}) from '{2}' group from '{3}' joined. ({4}/{5})", player.Name, player.IP,
|
||||
player.Group.Name, player.Country, TShock.Players.Length,
|
||||
player.Group.Name, player.Country, TSPlayer.ActivePlayers.Count,
|
||||
TShock.Config.MaxSlots);
|
||||
if (!player.SilentJoinInProgress)
|
||||
Utils.Broadcast(string.Format("{0} ({1}) has joined.", player.Name, player.Country), Color.Yellow);
|
||||
|
|
@ -1629,7 +1629,7 @@ namespace TShockAPI
|
|||
else
|
||||
{
|
||||
Log.Info("{0} ({1}) from '{2}' group joined. ({3}/{4})", player.Name, player.IP,
|
||||
player.Group.Name, TShock.Players.Length, TShock.Config.MaxSlots);
|
||||
player.Group.Name, TSPlayer.ActivePlayers.Count, TShock.Config.MaxSlots);
|
||||
if (!player.SilentJoinInProgress)
|
||||
Utils.Broadcast(player.Name + " has joined.", Color.Yellow);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1108,7 +1108,7 @@ namespace TShockAPI
|
|||
}
|
||||
else
|
||||
{
|
||||
invasionSize = 100 + (TShock.Config.InvasionMultiplier * TShock.Players.Length);
|
||||
invasionSize = 100 + (TShock.Config.InvasionMultiplier * TSPlayer.ActivePlayers.Count);
|
||||
}
|
||||
|
||||
// Order matters
|
||||
|
|
@ -1147,7 +1147,7 @@ namespace TShockAPI
|
|||
{
|
||||
Console.Title = string.Format("{0}{1}/{2} on {3} @ {4}:{5} (TShock for Terraria v{6})",
|
||||
!string.IsNullOrWhiteSpace(TShock.Config.ServerName) ? TShock.Config.ServerName + " - " : "",
|
||||
empty ? 0 : TShock.Players.Length,
|
||||
empty ? 0 : TSPlayer.ActivePlayers.Count,
|
||||
TShock.Config.MaxSlots, Main.worldName, Netplay.ServerIP.ToString(), Netplay.ListenPort, TShock.VersionNum);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue