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;
|
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>();
|
var players = new List<string>();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -144,7 +144,7 @@ namespace TShockAPI
|
||||||
return new JsonData()
|
return new JsonData()
|
||||||
{
|
{
|
||||||
port = Terraria.Netplay.ListenPort,
|
port = Terraria.Netplay.ListenPort,
|
||||||
currentPlayers = TShock.Players.Length,
|
currentPlayers = TSPlayer.ActivePlayers.Count,
|
||||||
maxPlayers = TShock.Config.MaxSlots,
|
maxPlayers = TShock.Config.MaxSlots,
|
||||||
systemRam = GetTotalSystemRam(ServerApi.RunningMono),
|
systemRam = GetTotalSystemRam(ServerApi.RunningMono),
|
||||||
version = TShock.VersionNum.ToString(),
|
version = TShock.VersionNum.ToString(),
|
||||||
|
|
|
||||||
|
|
@ -1621,7 +1621,7 @@ namespace TShockAPI
|
||||||
if (Config.EnableGeoIP && TShock.Geo != null)
|
if (Config.EnableGeoIP && TShock.Geo != null)
|
||||||
{
|
{
|
||||||
Log.Info("{0} ({1}) from '{2}' group from '{3}' joined. ({4}/{5})", player.Name, player.IP,
|
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);
|
TShock.Config.MaxSlots);
|
||||||
if (!player.SilentJoinInProgress)
|
if (!player.SilentJoinInProgress)
|
||||||
Utils.Broadcast(string.Format("{0} ({1}) has joined.", player.Name, player.Country), Color.Yellow);
|
Utils.Broadcast(string.Format("{0} ({1}) has joined.", player.Name, player.Country), Color.Yellow);
|
||||||
|
|
@ -1629,7 +1629,7 @@ namespace TShockAPI
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Log.Info("{0} ({1}) from '{2}' group joined. ({3}/{4})", player.Name, player.IP,
|
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)
|
if (!player.SilentJoinInProgress)
|
||||||
Utils.Broadcast(player.Name + " has joined.", Color.Yellow);
|
Utils.Broadcast(player.Name + " has joined.", Color.Yellow);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1108,7 +1108,7 @@ namespace TShockAPI
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
invasionSize = 100 + (TShock.Config.InvasionMultiplier * TShock.Players.Length);
|
invasionSize = 100 + (TShock.Config.InvasionMultiplier * TSPlayer.ActivePlayers.Count);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Order matters
|
// Order matters
|
||||||
|
|
@ -1147,7 +1147,7 @@ namespace TShockAPI
|
||||||
{
|
{
|
||||||
Console.Title = string.Format("{0}{1}/{2} on {3} @ {4}:{5} (TShock for Terraria v{6})",
|
Console.Title = string.Format("{0}{1}/{2} on {3} @ {4}:{5} (TShock for Terraria v{6})",
|
||||||
!string.IsNullOrWhiteSpace(TShock.Config.ServerName) ? TShock.Config.ServerName + " - " : "",
|
!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);
|
TShock.Config.MaxSlots, Main.worldName, Netplay.ServerIP.ToString(), Netplay.ListenPort, TShock.VersionNum);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue