Skip to content

Commit 535cb02

Browse files
author
尧杰 曾
committed
Fix bug:Permission group synchronization
1 parent 44121ab commit 535cb02

File tree

4 files changed

+16
-11
lines changed

4 files changed

+16
-11
lines changed

PermissionSync/Command/PermissionSync.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public class PermissionSync :IRocketCommand
1919

2020
public string Help => "Sync permission group between multiple servers";
2121

22-
public string Syntax => "<add | remove > <player> <PermiisonGroupId> [ExpireDate] ";
22+
public string Syntax => "<add | remove > <player> <PermissionGroupId> [ExpireDate] ";
2323

2424
public AllowedCaller AllowedCaller => AllowedCaller.Both;
2525

PermissionSync/Database/DBManager.cs

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,18 @@ public DBManager()
2626
public void CheckSchama()
2727
{
2828
DBConnection.ExecuteQuery(true,
29-
$"CREATE TABLE IF NOT EXISTS `{Main.Instance.Configuration.Instance.DatabaseTableName}` (`SteamID` BIGINT NOT NULL, `PermissionGroup` varchar(32) NOT NULL, `ExpireDate` datetime(6) NOT NULL DEFAULT '{DateTime.MaxValue}', `Operator` BIGINT NOT NULL)");
29+
$"CREATE TABLE IF NOT EXISTS `{Main.Instance.Configuration.Instance.DatabaseTableName}` (`SteamID` BIGINT NOT NULL, `PermissionGroup` varchar(32) NOT NULL, `ExpireDate` datetime(6) NOT NULL DEFAULT '{DateTime.MaxValue}', `Operator`VARCHAR(32) NOT NULL)");
3030
}
3131

3232
internal void PermissionSync(UnturnedPlayer player)
3333
{
34+
//UnturnedChat.Say(player, "[DEBUG] Sync permission");
3435
var servergroupids = GetPlayerPermissionGroupId(player);
36+
// Get Player's PermissionGroup
3537
var dbgroups = GetDBPermissionGroup(player.CSteamID, EDBQueryType.ByStamID);
3638
foreach (var dbgroup in dbgroups )
3739
{
38-
if( servergroupids.Contains(dbgroup.PermissionID))
40+
if(servergroupids.Contains(dbgroup.PermissionID))
3941
{
4042
if(dbgroup.ExpireDate < DateTime.Now)
4143
{
@@ -45,7 +47,7 @@ internal void PermissionSync(UnturnedPlayer player)
4547
}
4648
else
4749
{
48-
if(dbgroup.ExpireDate> DateTime.Now)
50+
if(dbgroup.ExpireDate >= DateTime.Now)
4951
{
5052
R.Permissions.AddPlayerToGroup(dbgroup.PermissionID, player);
5153
UnturnedChat.Say(player, Main.Instance.Translate("sync_permission",dbgroup.PermissionID));
@@ -76,24 +78,27 @@ public List<PermissionData> GetDBPermissionGroup(CSteamID steamID,EDBQueryType t
7678
}
7779
connection.Open();
7880
var reader = command.ExecuteReader();
81+
// Logger.LogWarning("[GetDB]");
7982
while(reader.Read())
8083
{
81-
PermissionData permissionData = new PermissionData(new CSteamID((ulong)reader["SteamID"]), reader["PermissionGroup"].ToString(), DateTime.Parse(reader["ExpireDate"].ToString()), reader["Operator"].ToString());
84+
PermissionData permissionData = new PermissionData(new CSteamID(Convert.ToUInt64(reader["SteamID"])), reader["PermissionGroup"].ToString(), DateTime.Parse(reader["ExpireDate"].ToString()), reader["Operator"].ToString());
8285
permissionDatas.Add(permissionData);
86+
//Logger.LogWarning("[DEBUG]SID:" + permissionData.SteamID + "PG:" + permissionData.PermissionID + "Date" + permissionData.ExpireDate);
8387
}
88+
//Logger.LogWarning("[GetDBS]");
8489

8590
}
86-
catch
91+
catch(Exception ex)
8792
{
88-
93+
Logger.LogException(ex);
8994
}
9095
return permissionDatas;
9196
}
9297

9398
private List<string> GetPlayerPermissionGroupId(UnturnedPlayer player)
9499
{
95100
var groupids = new List<string>();
96-
var playergroups = R.Permissions.GetGroups(player, false);
101+
var playergroups = R.Permissions.GetGroups(player, true);
97102
foreach (var group in playergroups)
98103
{
99104
groupids.Add(group.Id);

PermissionSync/Main.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ protected override void Unload()
3939
public override TranslationList DefaultTranslations => new TranslationList
4040
{
4141
{"player_not_found","Player not found!" },
42-
{"","" }
42+
{"permission_expired","your permission group has been expired:{0}" }
4343
};
4444
}
4545
}

PermissionSync/Properties/AssemblyInfo.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,5 @@
3232
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
3333
//通过使用 "*",如下所示:
3434
// [assembly: AssemblyVersion("1.0.*")]
35-
[assembly: AssemblyVersion("1.0.0.2")]
36-
[assembly: AssemblyFileVersion("1.0.0.2")]
35+
[assembly: AssemblyVersion("1.0.0.3")]
36+
[assembly: AssemblyFileVersion("1.0.0.3")]

0 commit comments

Comments
 (0)