The-Cataclysm-Preservation-Project / TrinityCore

Archived repository for WoW 4.3.4.15595. The project will be reworked for Cataclysm Classic as an official new branch of TrinityCore at https://github.com/TrinityCore/TrinityCore
GNU General Public License v2.0
239 stars 97 forks source link

Feat: (Passive Anticheat) Update, Features, New confs. #369

Closed acidmanifesto closed 1 year ago

acidmanifesto commented 1 year ago

Changes proposed:

Issues addressed: Fixes # : Lack of Anticheat

Tests performed: (Does it build, tested in-game, etc)

Description:

Detections Provided:

image

Understanding the Report Tables

Characters DB: players_reports_status Table: is that logged anticheat stats for the players current active sessions. daily_players_reports Table: is the log of the players life time anticheat stats that is logged until purged. image

Know false positives \ Feature Concerns:

Apply SQLs Files

  1. Files are located in the sql folder.
  2. Apply sql/AUTH_ANTICHEAT_2022_08_14_00.sql to the trinity_auth DB.
  3. Apply sql/CHARACTERS_ANTICHEAT_2022_08_13_00.sql to the trinity_characters DB.
  4. Apply sql/WORLD_ANTICHEAT_2022_18_13_00.sql to the trinity_world DB.

GM cmds included:

World Console Logging:

Anticheat Logging\Appenders Currently spams into its own file If you want world console spam just use Logger.anticheat=3,Console Server Anticheat Thanks to Smerdokryl from TC Discord

Appender.Anticheat=2,3,15,anticheat.log,a Logger.anticheat=3,Server Anticheat

image

RECOMMEND CONF SETTINGS Confs are reloadable with .reload conf

#    Anti-Cheat System
#
#     Anticheat.Enable
#        Description: Enables or disables the Anticheat System functionality
#        Default:     1 - (Enabled)
#                     0 - (Disabled)

Anticheat.Enable = 1

#     Anticheat.ReportsForIngameWarnings
#        Description: How many reports the player must have to notify to GameMasters ingame when he generates a new report.
#        Default:     70

Anticheat.ReportsForIngameWarnings = 70

#     Anticheat.MaxReportsForDailyReport
#        Description: How many reports must the player have to make a report that it is in DB for a day (not only during the player's session).
#        Default:     70

Anticheat.MaxReportsForDailyReport = 70

#     Anticheat.ReportinChat
#       Description: min and max total reports to trigger gm chat message spam.
#       Default:     So with 70 being min and 80 being max, it will spam gm in chat 10 times.
#                    Anticheat.ReportinChat.Min = 70
#                    Anticheat.ReportinChat.Max = 80

Anticheat.ReportinChat.Min = 70
Anticheat.ReportinChat.Max = 80

#     Anticheat.AlertFrequency
#       Description: Once Ingame warngings and report in chat min is met, this will throttle to alert the gms every other count
#       Default:     So with 1 being the default, u will get a message alert for every 1 violations.
#       Anticheat.AlertFrequency = 1

Anticheat.AlertFrequency = 1

#     Anticheat.WriteLog
#       Description: Enable writing to log when a player is detected using hacks
#       Default:    0 - (Disabled)
#                   1 - (Enabled)

Anticheat.WriteLog = 1

#     Anticheat.Detect
#       Description: It represents which detections are enabled (ClimbHack disabled by default).
#       Default:    1 - (Enabled)
#                   0 - (Disabled)

Anticheat.DetectFlyHack = 1
Anticheat.DetectWaterWalkHack = 1
Anticheat.DetectJumpHack = 1
Anticheat.DetectTelePlaneHack = 1
Anticheat.DetectSpeedHack = 1
Anticheat.DetectClimbHack = 1
Anticheat.DetectTelePortHack = 1
Anticheat.IgnoreControlHack = 1
Anticheat.DetectZaxisHack = 1
Anticheat.AntiSwimHack = 1
Anticheat.DetectGravityHack = 1
Anticheat.AntiKnockBack = 1
Anticheat.NoFallDamage = 1
Anticheat.DetectBGStartHack = 1
Anticheat.OpAckOrderHack = 1

#     Anticheat.StricterFlyHackCheck
#       Description: Checks moveflag ascending (may give false positives)
#       Default:    0 - (Disabled)
#                   1 - (Enabled)

Anticheat.StricterFlyHackCheck = 1

#     Anticheat.StricterDetectJumpHack
#       Description: Checks moveflag for advance stricter jump hacks (may give false positives)
#       Default:    0 - (Disabled)
#                   1 - (Enabled)

Anticheat.StricterDetectJumpHack = 1

#     Anticheat.SpeedLimitTolerance
#       Description: Speed Limit Tolerance allows a certain whole percentage of tolerance to speed 
#       hack logging and detection.
#
#       Example: AnticheatMgr:: Speed-Hack (Speed Movement at 12% above allowed Server Set rate 8%.)
#       will be detected since its 4 (default) and higher, but anything 3 and lower will not be flagged.
#       Default:    4 - (Default)
#

Anticheat.SpeedLimitTolerance = 4

###################################################################################################
#     Automatic Moderation Features
#
#     Anticheat.KickPlayer
#     Anticheat.ReportsForKick
#
#       Description: Enables and Auto kick when reports reach threshhold
#       Default:    0 - (Disabled)
#                   1 - (Enabled)
#       Default:    70 - (Kicks at 70 auto reports)
#

Anticheat.KickPlayer = 0
Anticheat.ReportsForKick = 70

#     Anticheat.BanPlayer
#     Anticheat.ReportsForBan
#
#       Description: Enables and Auto ban when reports reach threshhold
#       Default:    0 - (Disabled)
#                   1 - (Enabled)
#       Default:    70 - (Bans at 70 auto reports)
#

Anticheat.BanPlayer = 0
Anticheat.ReportsForBan = 70

#     Anticheat.JailPlayer
#     Anticheat.ReportsForJail
#
#       Description: Enables and Auto Jail when reports reach threshhold
#       Default:    0 - (Disabled)
#                   1 - (Enabled)
#       Default:    70 - (Jails at 70 auto reports)
#

Anticheat.JailPlayer = 0
Anticheat.ReportsForJail = 70

#     Anticheat.AnnounceKick
#     Anticheat.AnnounceBan
#     Anticheat.AnnounceJail
#       Description: Send a message to all players when a user kicked, banned, jailed.
#       Default:    0 - (Disabled)
#                   1 - (Enabled)

Anticheat.AnnounceKick = 0
Anticheat.AnnounceBan = 0
Anticheat.AnnounceJail = 0

# Anticheat Logging\Appenders
# Currently spams into its own file
# If you want world console spam just use Logger.anticheat=3,Console Server Anticheat

Appender.Anticheat=2,3,15,anticheat.log,a
Logger.anticheat=3,Server Anticheat

###################################################################################################

Known issues and TODO list: