Missing group safeguards.

- Server will no longer start up when the guest or default groups cannot
  be located.
- Players joining with unknown groups assigned to them will be
  disconnected with an error
This commit is contained in:
quake1337 2021-07-13 21:33:35 +02:00
parent c5421460ae
commit 48370d74b7
6 changed files with 41 additions and 5 deletions

View file

@ -2450,10 +2450,13 @@ namespace TShockAPI
args.Player.State = 2;
NetMessage.SendData((int)PacketTypes.WorldInfo, args.Player.Index);
args.Player.PlayerData = TShock.CharacterDB.GetPlayerData(args.Player, account.ID);
var group = TShock.Groups.GetGroupByName(account.Group);
if (!TShock.Utils.AssertGroupValid(args.Player, group))
return true;
args.Player.PlayerData = TShock.CharacterDB.GetPlayerData(args.Player, account.ID);
args.Player.Group = group;
args.Player.tempGroup = null;
args.Player.Account = account;
@ -3004,6 +3007,9 @@ namespace TShockAPI
var group = TShock.Groups.GetGroupByName(account.Group);
if (!TShock.Utils.AssertGroupValid(args.Player, group))
return true;
args.Player.Group = group;
args.Player.tempGroup = null;
args.Player.Account = account;