From f6e907e6af691a13ad6eb99448f47c09abbed209 Mon Sep 17 00:00:00 2001 From: owen Date: Mon, 15 Jun 2026 09:55:23 -0400 Subject: [PATCH 1/2] Fix Pantheon 2 lowman false positives for boss push strat (beta-2.2.1). Allow solo Morgeth/IP Rev clears after Spite's boss push discovery, and treat IP Rev checkpoint duo as legit at 15% cheated chance. Co-authored-by: Cursor --- lib/services/cheat_detection/entry.go | 2 +- lib/services/cheat_detection/heuristics.go | 30 ++++++++++++++++++- .../cheat_detection/pantheon_heuristics.go | 8 ++++- tools/cheat-detection/main.go | 2 +- 4 files changed, 38 insertions(+), 4 deletions(-) diff --git a/lib/services/cheat_detection/entry.go b/lib/services/cheat_detection/entry.go index e473a45..542926e 100644 --- a/lib/services/cheat_detection/entry.go +++ b/lib/services/cheat_detection/entry.go @@ -8,7 +8,7 @@ import ( // Logger is declared in database_layer.go const ( - CheatCheckVersion = "beta-2.2.0" + CheatCheckVersion = "beta-2.2.1" Threshold = 0.05 PlayerThreshold = 0.02 ) diff --git a/lib/services/cheat_detection/heuristics.go b/lib/services/cheat_detection/heuristics.go index 2ae7122..ec8bfb7 100644 --- a/lib/services/cheat_detection/heuristics.go +++ b/lib/services/cheat_detection/heuristics.go @@ -231,22 +231,50 @@ var Pantheon2Heuristic = ActivityHeuristic{ {MinPlayers: 3, CheatedChance: 0.10}, }, pantheonVersionInsurrectionPrimeRevolutionary: { + { + MinPlayers: 1, + Range: []DateRange{ + {Start: pantheonBossPushStratStart, End: time.Date(2999, time.January, 1, 0, 0, 0, 0, time.UTC)}, + }, + CheatedChance: 0.25, + }, {MinPlayers: 4, CheatedChance: 0.15}, {MinPlayers: 3, CheatedChance: 0.35}, }, pantheonVersionMorgethSurpassing: { + { + MinPlayers: 1, + Range: []DateRange{ + {Start: pantheonBossPushStratStart, End: time.Date(2999, time.January, 1, 0, 0, 0, 0, time.UTC)}, + }, + CheatedChance: 0.25, + }, {MinPlayers: 4, CheatedChance: 0.65}, }, }, CheckpointLowman: map[int][]LowmanData{ pantheonVersionMorgethSurpassing: { + { + MinPlayers: 1, + Range: []DateRange{ + {Start: pantheonBossPushStratStart, End: time.Date(2999, time.January, 1, 0, 0, 0, 0, time.UTC)}, + }, + CheatedChance: 0.25, + }, {MinPlayers: 4, CheatedChance: 0.50}, }, pantheonVersionCalusResplendent: { {MinPlayers: 2, CheatedChance: 0.15}, }, pantheonVersionInsurrectionPrimeRevolutionary: { - {MinPlayers: 3, CheatedChance: 0.35}, + { + MinPlayers: 1, + Range: []DateRange{ + {Start: pantheonBossPushStratStart, End: time.Date(2999, time.January, 1, 0, 0, 0, 0, time.UTC)}, + }, + CheatedChance: 0.25, + }, + {MinPlayers: 2, CheatedChance: 0.15}, }, }, } diff --git a/lib/services/cheat_detection/pantheon_heuristics.go b/lib/services/cheat_detection/pantheon_heuristics.go index 7b0525f..aa90024 100644 --- a/lib/services/cheat_detection/pantheon_heuristics.go +++ b/lib/services/cheat_detection/pantheon_heuristics.go @@ -1,6 +1,12 @@ package cheat_detection -import "fmt" +import ( + "fmt" + "time" +) + +// Boss push-off strat (solo) discovered by Spite during Pantheon 2 weekend. +var pantheonBossPushStratStart = time.Date(2026, 6, 14, 17, 0, 0, 0, time.UTC) const ( pantheonEmptyFeatSkullHash = int64(790421403) diff --git a/tools/cheat-detection/main.go b/tools/cheat-detection/main.go index 66ee113..e6f3dfa 100644 --- a/tools/cheat-detection/main.go +++ b/tools/cheat-detection/main.go @@ -26,7 +26,7 @@ var logger = logging.NewLogger("cheat-detection") const ( numBungieWorkers = 15 - versionPrefix = "beta-2.2.0" + versionPrefix = "beta-2.2.1" ) // Instances played by level 3+ accounts that have not yet been checked at the current version. From d17e3c60c881e8e9bd736b99934bf93f90fd1a6b Mon Sep 17 00:00:00 2001 From: owen Date: Mon, 15 Jun 2026 10:03:31 -0400 Subject: [PATCH 2/2] Narrow boss push strat window to 2h before Spite's clear. Both Morgeth and IP Rev solo use the same push-off strat; window starts 2026-06-15 06:33 UTC. Co-authored-by: Cursor --- lib/services/cheat_detection/pantheon_heuristics.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/services/cheat_detection/pantheon_heuristics.go b/lib/services/cheat_detection/pantheon_heuristics.go index aa90024..0560e64 100644 --- a/lib/services/cheat_detection/pantheon_heuristics.go +++ b/lib/services/cheat_detection/pantheon_heuristics.go @@ -5,8 +5,9 @@ import ( "time" ) -// Boss push-off strat (solo) discovered by Spite during Pantheon 2 weekend. -var pantheonBossPushStratStart = time.Date(2026, 6, 14, 17, 0, 0, 0, time.UTC) +// Boss push-off strat (solo Morgeth + IP Rev) discovered by Spite#2562 on 2026-06-15 ~08:33 UTC. +// Window starts 2h earlier to cover clears immediately after the strat spread. +var pantheonBossPushStratStart = time.Date(2026, 6, 15, 6, 33, 0, 0, time.UTC) const ( pantheonEmptyFeatSkullHash = int64(790421403)