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..0560e64 100644 --- a/lib/services/cheat_detection/pantheon_heuristics.go +++ b/lib/services/cheat_detection/pantheon_heuristics.go @@ -1,6 +1,13 @@ package cheat_detection -import "fmt" +import ( + "fmt" + "time" +) + +// 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) 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.