You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
let ban_end :DateTime<Utc> = Utc.from_utc_datetime(&ban.ban_end_time);// assume our data is UTC.
34
+
Ok(Some(ban)) => {
35
+
let now = OffsetDateTime::now_utc();
39
36
40
-
let is_banned_time = now < ban_end;
41
-
let is_banned_status = ban.ban_status == BanStatus::Active;
37
+
// let ban_end : DateTime<Utc> = Utc.from_utc_datetime(&ban.ban_end_time); // assume our data is UTC.
38
+
39
+
let is_banned_time = now < ban.end;
40
+
let is_banned_status = ban.status == BanStatus::Active;
42
41
43
42
if is_banned_time != is_banned_status {
44
-
warn!("Ban end time and ban_status mismatch for player {player}. All times (assumed) in UTC. Now = {}, ban_end = {}, ban_status = {:?}",&now,&ban_end, ban.ban_status);
43
+
warn!("Ban end time and ban_status mismatch for player {player}. All times (assumed) in UTC. Now = {}, ban_end = {}, ban_status = {:?}",&now,&ban.end, ban.status);
45
44
}
46
45
47
46
// ban expiry time is more important than the ban_status column.
@@ -51,21 +50,21 @@ impl BanEnforcer {
51
50
match bf4.ban_add(
52
51
Ban::Guid(player.eaid),
53
52
BanTimeout::Time(Duration::from_secs(1)),// I guess rcon will remove this by itself?
54
-
Some("")// reason
53
+
Some(ban.reason.clone())// reason
55
54
).await{
56
55
Ok(()) => (),
57
56
Err(BanListError::BanListFull) => warn!("Ban list is full?!"),
58
57
Err(BanListError::NotFound) => unreachable!(),
59
58
Err(BanListError::Rcon(rcon_err)) => error!("Failed to tempban player for a second: {rcon_err:?}"),
60
59
}
61
60
62
-
match bf4.kick(player.name,"").await{
61
+
match bf4.kick(player.name,ban.reason).await{
63
62
Ok(()) => (),
64
63
Err(PlayerKickError::PlayerNotFound) => (),
65
64
Err(PlayerKickError::Rcon(rcon_err)) => error!("Failed to kick player: {rcon_err:?}"),
66
65
}
67
66
}else{
68
-
debug!("Player {player} is in , but the ban has expired.");
67
+
debug!("Player {player} is in adkats_bans, but the ban has expired.");
0 commit comments