From bcd082e690b1a71d8d44e8d9d646ac218a6e2b38 Mon Sep 17 00:00:00 2001 From: Maverick Motherfucker Date: Sun, 5 Jun 2011 15:47:04 -0700 Subject: [PATCH 1/3] added reserved slots --- TShockAPI/config/groups.txt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/TShockAPI/config/groups.txt b/TShockAPI/config/groups.txt index d6b3cbd8..b23e8df8 100644 --- a/TShockAPI/config/groups.txt +++ b/TShockAPI/config/groups.txt @@ -12,9 +12,10 @@ #maintenance cfg causeevents spawnboss tp #spawnmob cheat kill pvpfun #immunetoban immunetokick editspawn -#ignoregriefdetection +#ignoregriefdetection reservedslot default null -newadmin default kick editspawn +vip null reservedslot +newadmin default kick editspawn reservedslot admin newadmin ban causeevents spawnboss spawnmob tp immunetokick kill trustedadmin admin ignorecheatdetection maintenance cfg cheat pvpfun ignorecheatdetection immunetoban ignoregriefdetection \ No newline at end of file From 26a4a299f35692fb6deb53eea0f29118168b9a70 Mon Sep 17 00:00:00 2001 From: Maverick Motherfucker Date: Sun, 5 Jun 2011 15:47:16 -0700 Subject: [PATCH 2/3] added reserved slots --- TShockAPI/TShock.cs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/TShockAPI/TShock.cs b/TShockAPI/TShock.cs index 36949739..5b511226 100644 --- a/TShockAPI/TShock.cs +++ b/TShockAPI/TShock.cs @@ -448,13 +448,16 @@ namespace TShockAPI for (int i = 0; i < Main.player.Length; i++) count += Main.player[i].active ? 1 : 0; - if (count > ConfigurationManager.maxSlots) + string ip = Tools.GetRealIP((Convert.ToString(Netplay.serverSock[ply].tcpClient.Client.RemoteEndPoint))); + players[ply] = new TSPlayer(ply); + players[ply].group = Tools.GetGroupForIP(ip); + + if (count > ConfigurationManager.maxSlots && ! players[ply].group.HasPermission("reservedslot")) { Tools.Kick(ply, "Server is full"); return; } - string ip = Tools.GetRealIP((Convert.ToString(Netplay.serverSock[ply].tcpClient.Client.RemoteEndPoint))); if (FileTools.CheckBanned(ip)) { Tools.Kick(ply, "You are banned."); @@ -476,8 +479,6 @@ namespace TShockAPI { Tools.Kick(ply, "Not on whitelist."); } - players[ply] = new TSPlayer(ply); - players[ply].group = Tools.GetGroupForIP(ip); } void OnLoadContent(Microsoft.Xna.Framework.Content.ContentManager obj) From 0b637c14816a18b1a557780c9a7c7271d83803af Mon Sep 17 00:00:00 2001 From: Maverick Motherfucker Date: Sun, 5 Jun 2011 15:48:22 -0700 Subject: [PATCH 3/3] Fixed /off --- TShockAPI/Commands.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/TShockAPI/Commands.cs b/TShockAPI/Commands.cs index d25efdda..1aec8fb1 100644 --- a/TShockAPI/Commands.cs +++ b/TShockAPI/Commands.cs @@ -194,7 +194,10 @@ namespace TShockAPI { for (int player = 0; player < Main.maxPlayers; player++) { - Tools.Kick(player, "server shutting down"); + if (Main.player[player].active) + { + Tools.Kick(player, "Server shutting down!"); + } } WorldGen.saveWorld(); Netplay.disconnect = true;