Skip to content
M'Dic edited this page Nov 17, 2022 · 68 revisions

Azerothcore Anticheat Module

Brought to you by Azerothcore Anticheat Crew

Compliance thru Discipline.

Features

  • Passive Anticheat implemented and updated
  • Automatic Moderation options
  • False Positives Reduced Greatly
  • Reports to GM's online or Automatically takes actions thru jail\kick\ban.
  • Actual Detections improved upon drastically
  • If you are in .GM on it should not flag you or report you.
  • Configuration reloadable via .reload conf gm cmd

image

Detections Provided

  • Fly hack
  • Teleport Hack
  • Jump Hack
  • Speed Hack
  • Ignore Control (Move while rooted) Hack
  • Water Walk Hack
  • Climb Hack
  • Teleport Z pane Hack
  • Ignore Z Axis Hack
  • Anti-Swim Hack
  • Gravity Hack
  • Anti-Knock Back
  • No Fall Damage
  • BG Start Exploit\Hack
  • Op Ack Hack

image

Know False Positives \ Feature Concerns

  • Ignore Control: Excessive Latency will cause false flags, if the lag is that bad they shouldnt even be playing on the server but it was shown that was the case in CC

  • Ignore Z-Axis Hack: On occaussion depending on player's build at times the player may get hit with a false positive based on if there are "potholes" in the maps\vmaps. Updating maps\vmaps ot latest will help reduce this, ensure compile and maps are at latest.

  • Auto Moderation Jail Feature If offender is a DK in the DK Starter Area they will be shackled on the spot and not teleported. Its the way the core handles keeping the DK in it's zone until successifully completed.

  • Following will Jail Break a player out [Issue 59]: Summoned by a GM (.sum)

Common Sense Notice

This anticheat is designed to operate with none modded characters. Modding characters beyond the basic stats of what they are suppose to have possible will cause issues in some cases with false flags. Using select GM CMDS while not in .gm on may cause flags as well. It goes back to the character being modified for that moment outside of stock.

Custom Map Notice

Due to the unique handling and creation methods of custom maps with the GroundZ + FloorZ and player Z handling, lack of propper mmaps and vmaps, You may experience false detection hits for Teleport to Pane and Ignore Z Axis and other detections. This is due to impropper creation of the custom map and not the handling of the anticheat itself.

Apply SQLs Files

  1. Files are located in the mod-anticheat/sql folder.
  2. Apply charactersdb_anticheat.sql to the acore_characters DB.
  3. Apply Acore_strings.sql to the acore_world DB.

Understanding the Report Tables

Characters DB:

players_reports_status Table: is the 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 with .anticheat purge gm cmd. image

GM CMDS

  • .anticheat global Informs you if anticheat is turned on
  • .anticheat player Tells you current auto reports
  • .anticheat delete PLAYERNAME Deletes reports on player from anticheat system
  • .anticheat purge completely clears the player_daily_reports table
  • .anticheat jail Sends Player to gm jail which then shackles them and hearthstone binds them to gm jail.
  • .anticheat parole Recommended to be used in gm jail, teles to faction capital and rebinds hearthstone there while clearing their reports and their deserter auras.
  • .anticheat warn Sends player warning message that they are being monitored

image

World Console Logging

Currently spams into server.log and world console

Put in world conf if you want the anticheat to dump into its own file instead of the server.log:

Appender.Anticheat=2,4,15,anticheat.log,a

Logger.anticheat.module=4, Anticheat

Change up existing Logger.module in worldserver.conf:

Logger.module=4, Console Server

image

Conf

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 Stricter moveflag jumping (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 - (Kick 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 - (Ban 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

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

Target branch(es): 335 Azerothcore Master

Issues addressed: Anticheat Module

Tests performed: Builds and Performs as intended

Known issues and TODO list

  • Localize

Localize Acore_Strings

  • LOCALE_enUS = 0
  • LOCALE_koKR = 1
  • LOCALE_frFR = 2
  • LOCALE_deDE = 3
  • LOCALE_zhCN = 4
  • LOCALE_zhTW = 5
  • LOCALE_esES = 6
  • LOCALE_esMX = 7
  • LOCALE_ruRU = 8
Clone this wiki locally