Skip to content
This repository was archived by the owner on Mar 11, 2025. It is now read-only.

Commit 890ca17

Browse files
committed
fix: Data invalid
1 parent 1089e69 commit 890ca17

File tree

2 files changed

+52
-54
lines changed

2 files changed

+52
-54
lines changed

src/KitsuneSteamRestrict.cs

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -189,53 +189,53 @@ private void OnPlayerConnectFull(CCSPlayerController player)
189189
}
190190
}
191191

192-
await CheckUserViolations(handle, authorizedSteamID);
192+
Server.NextWorldUpdate(() =>
193+
{
194+
CheckUserViolations(handle, authorizedSteamID);
195+
});
193196
});
194197
}
195198

196-
private async Task CheckUserViolations(nint handle, ulong authorizedSteamID)
199+
private void CheckUserViolations(nint handle, ulong authorizedSteamID)
197200
{
198201
SteamService steamService = new SteamService(this);
199-
await steamService.FetchSteamUserInfo(handle, authorizedSteamID);
202+
steamService.FetchSteamUserInfo(handle, authorizedSteamID);
200203

201204
SteamUserInfo? userInfo = steamService.UserInfo;
202205

203-
Server.NextWorldUpdate(() =>
204-
{
205-
CCSPlayerController? player = Utilities.GetPlayerFromSteamId(authorizedSteamID);
206+
CCSPlayerController? player = Utilities.GetPlayerFromSteamId(authorizedSteamID);
206207

207-
if (player?.IsValid == true && userInfo != null)
208+
if (player?.IsValid == true && userInfo != null)
209+
{
210+
Logger.LogInformation($"{player.PlayerName} info:");
211+
Logger.LogInformation($"CS2Playtime: {userInfo.CS2Playtime}");
212+
Logger.LogInformation($"CS2Level: {userInfo.CS2Level}");
213+
Logger.LogInformation($"SteamLevel: {userInfo.SteamLevel}");
214+
if ((DateTime.Now - userInfo.SteamAccountAge).TotalSeconds > 30)
215+
Logger.LogInformation($"Steam Account Creation Date: {userInfo.SteamAccountAge:dd-MM-yyyy}");
216+
else
217+
Logger.LogInformation($"Steam Account Creation Date: N/A");
218+
Logger.LogInformation($"HasPrime: {userInfo.HasPrime}");
219+
Logger.LogInformation($"HasPrivateProfile: {userInfo.IsPrivate}");
220+
Logger.LogInformation($"IsTradeBanned: {userInfo.IsTradeBanned}");
221+
Logger.LogInformation($"IsGameBanned: {userInfo.IsGameBanned}");
222+
Logger.LogInformation($"IsInSteamGroup: {userInfo.IsInSteamGroup}");
223+
224+
if (IsRestrictionViolated(player, userInfo))
208225
{
209-
Logger.LogInformation($"{player.PlayerName} info:");
210-
Logger.LogInformation($"CS2Playtime: {userInfo.CS2Playtime}");
211-
Logger.LogInformation($"CS2Level: {userInfo.CS2Level}");
212-
Logger.LogInformation($"SteamLevel: {userInfo.SteamLevel}");
213-
if ((DateTime.Now - userInfo.SteamAccountAge).TotalSeconds > 30)
214-
Logger.LogInformation($"Steam Account Creation Date: {userInfo.SteamAccountAge:dd-MM-yyyy}");
215-
else
216-
Logger.LogInformation($"Steam Account Creation Date: N/A");
217-
Logger.LogInformation($"HasPrime: {userInfo.HasPrime}");
218-
Logger.LogInformation($"HasPrivateProfile: {userInfo.IsPrivate}");
219-
Logger.LogInformation($"IsTradeBanned: {userInfo.IsTradeBanned}");
220-
Logger.LogInformation($"IsGameBanned: {userInfo.IsGameBanned}");
221-
Logger.LogInformation($"IsInSteamGroup: {userInfo.IsInSteamGroup}");
222-
223-
if (IsRestrictionViolated(player, userInfo))
224-
{
225-
Server.ExecuteCommand($"kickid {player.UserId} \"You have been kicked for not meeting the minimum requirements.\"");
226-
}
227-
else if (!IsDatabaseConfigDefault())
228-
{
229-
ulong steamID = player.AuthorizedSteamID?.SteamId64 ?? 0;
226+
Server.ExecuteCommand($"kickid {player.UserId} \"You have been kicked for not meeting the minimum requirements.\"");
227+
}
228+
else if (!IsDatabaseConfigDefault())
229+
{
230+
ulong steamID = player.AuthorizedSteamID?.SteamId64 ?? 0;
230231

231-
if (steamID != 0)
232-
{
233-
var databaseService = new DatabaseService(Config.DatabaseSettings);
234-
Task.Run(async () => await databaseService.AddAllowedUserAsync(steamID, Config.DatabaseSettings.TablePurgeDays));
235-
}
232+
if (steamID != 0)
233+
{
234+
var databaseService = new DatabaseService(Config.DatabaseSettings);
235+
Task.Run(async () => await databaseService.AddAllowedUserAsync(steamID, Config.DatabaseSettings.TablePurgeDays));
236236
}
237237
}
238-
});
238+
}
239239
}
240240

241241
private bool IsRestrictionViolated(CCSPlayerController player, SteamUserInfo userInfo)

src/Models/SteamService.cs

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -36,30 +36,28 @@ public SteamService(SteamRestrictPlugin plugin)
3636
_steamWebAPIKey = _config.SteamWebAPI;
3737
}
3838

39-
public async Task FetchSteamUserInfo(nint handle, ulong authorizedSteamID)
39+
public void FetchSteamUserInfo(nint handle, ulong authorizedSteamID)
4040
{
41-
await Server.NextWorldUpdateAsync(() =>
41+
CSteamID cSteamID = new CSteamID(authorizedSteamID);
42+
43+
UserInfo = new SteamUserInfo
4244
{
43-
string steamId = authorizedSteamID.ToString();
44-
CSteamID cSteamID = new CSteamID(authorizedSteamID);
45+
HasPrime = SteamGameServer.UserHasLicenseForApp(cSteamID, (AppId_t)624820) == EUserHasLicenseForAppResult.k_EUserHasLicenseResultHasLicense
46+
|| SteamGameServer.UserHasLicenseForApp(cSteamID, (AppId_t)54029) == EUserHasLicenseForAppResult.k_EUserHasLicenseResultHasLicense,
47+
CS2Level = new CCSPlayerController_InventoryServices(handle).PersonaDataPublicLevel
48+
};
4549

46-
UserInfo = new SteamUserInfo
47-
{
48-
HasPrime = SteamGameServer.UserHasLicenseForApp(cSteamID, (AppId_t)624820) == EUserHasLicenseForAppResult.k_EUserHasLicenseResultHasLicense
49-
|| SteamGameServer.UserHasLicenseForApp(cSteamID, (AppId_t)54029) == EUserHasLicenseForAppResult.k_EUserHasLicenseResultHasLicense,
50-
CS2Level = new CCSPlayerController_InventoryServices(handle).PersonaDataPublicLevel
51-
};
50+
Task.Run(async () => await FetchSteamUserInfo(authorizedSteamID.ToString())).Wait();
51+
}
5252

53-
Task.Run(async () =>
54-
{
55-
UserInfo.CS2Playtime = await FetchCS2PlaytimeAsync(steamId) / 60;
56-
UserInfo.SteamLevel = await FetchSteamLevelAsync(steamId);
57-
await FetchProfilePrivacyAsync(steamId, UserInfo);
58-
await FetchTradeBanStatusAsync(steamId, UserInfo);
59-
await FetchGameBanStatusAsync(steamId, UserInfo);
60-
await FetchSteamGroupMembershipAsync(steamId, UserInfo);
61-
});
62-
});
53+
public async Task FetchSteamUserInfo(string steamId)
54+
{
55+
UserInfo!.CS2Playtime = await FetchCS2PlaytimeAsync(steamId) / 60;
56+
UserInfo.SteamLevel = await FetchSteamLevelAsync(steamId);
57+
await FetchProfilePrivacyAsync(steamId, UserInfo);
58+
await FetchTradeBanStatusAsync(steamId, UserInfo);
59+
await FetchGameBanStatusAsync(steamId, UserInfo);
60+
await FetchSteamGroupMembershipAsync(steamId, UserInfo);
6361
}
6462

6563
private async Task<int> FetchCS2PlaytimeAsync(string steamId)

0 commit comments

Comments
 (0)