Merge pull request #535 from Olink/permissions_change

Fixed ancient permissions defaults that sucked.
This commit is contained in:
Lucas Nicodemus 2013-09-22 20:52:19 -07:00
commit e0809427e0
4 changed files with 25 additions and 10 deletions

View file

@ -267,6 +267,7 @@ namespace TShockAPI
[Description("The maximum value that a character may have for health.")] public int MaxMana = 400; [Description("The maximum value that a character may have for health.")] public int MaxMana = 400;
[Description("The number of reserved slots past your max server slot that can be joined by reserved players")] public int ReservedSlots = 20;
/// <summary> /// <summary>
/// Reads a configuration file from a given path /// Reads a configuration file from a given path
/// </summary> /// </summary>

View file

@ -53,15 +53,29 @@ namespace TShockAPI.DB
LoadPermisions(); LoadPermisions();
// Add default groups if they don't exist // Add default groups if they don't exist
AddDefaultGroup(TShock.Config.DefaultGuestGroupName, "", "canbuild,canregister,canlogin,canpartychat,cantalkinthird"); AddDefaultGroup(TShock.Config.DefaultGuestGroupName, "",
AddDefaultGroup("default", TShock.Config.DefaultGuestGroupName, "warp,canchangepassword"); string.Join(",", Permissions.canbuild, Permissions.canregister, Permissions.canlogin, Permissions.canpartychat,
AddDefaultGroup("newadmin", "default", "kick,editspawn,reservedslot"); Permissions.cantalkinthird));
AddDefaultGroup("admin", "newadmin",
"ban,unban,whitelist,causeevents,spawnboss,spawnmob,managewarp,time,tp,pvpfun,kill,logs,immunetokick,tphere");
AddDefaultGroup("trustedadmin", "admin", "maintenance,cfg,butcher,item,heal,immunetoban,usebanneditem,manageusers");
AddDefaultGroup("vip", "default", "reservedslot");
Group.DefaultGroup = GetGroupByName(TShock.Config.DefaultGuestGroupName); AddDefaultGroup("default", TShock.Config.DefaultGuestGroupName,
string.Join(",", Permissions.warp, Permissions.canchangepassword));
AddDefaultGroup("newadmin", "default",
string.Join(",", Permissions.kick, Permissions.editspawn, Permissions.reservedslot));
AddDefaultGroup("admin", "newadmin",
string.Join(",", Permissions.ban, Permissions.whitelist, Permissions.causeevents, Permissions.spawnboss,
Permissions.spawnmob, Permissions.managewarp, Permissions.time, Permissions.tp, Permissions.pvpfun,
Permissions.kill, Permissions.logs,
Permissions.immunetokick, Permissions.tphere));
AddDefaultGroup("trustedadmin", "admin",
string.Join(",", Permissions.maintenance, Permissions.cfg, Permissions.butcher, Permissions.item,
Permissions.heal, Permissions.immunetoban, Permissions.usebanneditem));
AddDefaultGroup("vip", "default", string.Join(",", Permissions.reservedslot));
Group.DefaultGroup = GetGroupByName(TShock.Config.DefaultGuestGroupName);
} }
private void AddDefaultGroup(string name, string parent, string permissions) private void AddDefaultGroup(string name, string parent, string permissions)

View file

@ -181,7 +181,7 @@ namespace TShockAPI
{ {
foreach (var field in typeof (Permissions).GetFields()) foreach (var field in typeof (Permissions).GetFields())
{ {
field.SetValue(null, field.Name); field.SetValue(null, String.Format("tshock.{0}", field.Name));
} }
} }

View file

@ -771,7 +771,7 @@ namespace TShockAPI
{ {
var player = new TSPlayer(ply); var player = new TSPlayer(ply);
if (Utils.ActivePlayers() + 1 > Config.MaxSlots + 20) if (Utils.ActivePlayers() + 1 > Config.MaxSlots + Config.ReservedSlots)
{ {
Utils.ForceKick(player, Config.ServerFullNoReservedReason, true, false); Utils.ForceKick(player, Config.ServerFullNoReservedReason, true, false);
handler.Handled = true; handler.Handled = true;