diff --git a/data/sql/db-world/base/Acore_strings.sql b/data/sql/db-world/base/Acore_strings.sql index fe31ee0..2c6146e 100644 --- a/data/sql/db-world/base/Acore_strings.sql +++ b/data/sql/db-world/base/Acore_strings.sql @@ -1,56 +1,26 @@ -DELETE FROM `acore_string` WHERE `entry` IN (30087, 30088, 30089, 30090, 30091, 30092); -INSERT INTO `acore_string` (`entry`, `content_default`, `locale_koKR`, `locale_frFR`, `locale_deDE`, `locale_zhCN`, `locale_zhTW`, `locale_esES`, `locale_esMX`, `locale_ruRU`) VALUES -( - 30087, - '|cffffff00[|cffff0000ANTICHEAT ALERT|r|cffffff00]:|r |cFFFF8C00|r |cFFFF8C00[|Hplayer:%s|h%s|h|r|cFFFF8C00] - Latency: %u ms - Report: %s', - NULL, - '|cffffff00[|cffff0000ALERTE ANTICHEAT|r|cffffff00]:|r |cFFFF8C00|r |cFFFF8C00[|Hplayer:%s|h%s|h|r|cFFFF8C00] - Latence : %u ms - Rapport : %s', - NULL, NULL, NULL, - '|cffffff00[|cffff0000ALERTA ANTITRAMPAS|r|cffffff00]:|r |cFFFF8C00|r |cFFFF8C00[|Hplayer:%s|h%s|h|r|cFFFF8C00] - Latencia: %u ms - Reporte: %s', - '|cffffff00[|cffff0000ALERTA ANTITRAMPAS|r|cffffff00]:|r |cFFFF8C00|r |cFFFF8C00[|Hplayer:%s|h%s|h|r|cFFFF8C00] - Latencia: %u ms - Reporte: %s', - NULL -), -( - 30088, - '|cffffff00[|cffff0000ANTICHEAT ALERT|r|cffffff00]:|r POSSIBLE TELEPORT HACK DETECTED|cFFFF8C00 [|Hplayer:%s|h%s|h|r|cFFFF8C00]|r - Latency: %u ms - GPS Diff x: %f, y: %f, z: %f', - NULL, - '|cffffff00[|cffff0000ALERTE ANTICHEAT|r|cffffff00]:|r POSSIBLE TÉLÉPORT HACK DÉTECTÉ|cFFFF8C00 [|Hplayer:%s|h%s|h|r|cFFFF8C00]|r - Latence : %u ms - Diff GPS x: %f, y: %f, z: %f', - NULL, NULL, NULL, - '|cffffff00[|cffff0000ALERTA ANTITRAMPAS|r|cffffff00]:|r POSIBLE HACK DE TELEPORTE DETECTADO|cFFFF8C00 [|Hplayer:%s|h%s|h|r|cFFFF8C00]|r - Latencia: %u ms - GPS Diff x: %f, y: %f, z: %f', - '|cffffff00[|cffff0000ALERTA ANTITRAMPAS|r|cffffff00]:|r POSIBLE HACK DE TELEPORTE DETECTADO|cFFFF8C00 [|Hplayer:%s|h%s|h|r|cFFFF8C00]|r - Latencia: %u ms - GPS Diff x: %f, y: %f, z: %f', - NULL -), -( - 30089, - '|cffffff00[|cffff0000ANTICHEAT ALERT|r|cffffff00]:|r POSSIBLE IGNORE CONTROL HACK DETECTED|cFFFF8C00 %s|r - Latency: %u ms', - NULL, - '|cffffff00[|cffff0000ALERTE ANTICHEAT|r|cffffff00]:|r POSSIBLE IGNORE CONTROL HACK DÉTECTÉ|cFFFF8C00 %s|r - Latence : %u ms', - NULL, NULL, NULL, - '|cffffff00[|cffff0000ALERTA ANTITRAMPAS|r|cffffff00]:|r POSIBLE CONTROL DE HACK DETECTADO IGNORARADO|cFFFF8C00 %s|r - Latencia: %u ms', - '|cffffff00[|cffff0000ALERTA ANTITRAMPAS|r|cffffff00]:|r POSIBLE CONTROL DE HACK DETECTADO IGNORARADO|cFFFF8C00 %s|r - Latencia: %u ms', - NULL -), -( - 30090, - '|cffffff00[|cffff0000ANTICHEAT ALERT|r|cffffff00]:|r TELEPORT HACK USED WHILE DUELING|cFFFF8C00 %s|r - Latency: %u ms vs |cFFFF8C00 %s|r - Latency: %u ms.', - NULL, - '|cffffff00[|cffff0000ALERTE ANTICHEAT|r|cffffff00]:|r TÉLÉPORT HACK UTILISÉ PENDANT UN DUEL|cFFFF8C00 %s|r - Latence : %u ms vs |cFFFF8C00 %s|r - Latence : %u ms.', - NULL, NULL, NULL, NULL, NULL, NULL -), -( - 30091, - '|cffffff00[|cffff0000ANTICHEAT ALERT|r|cffffff00]:|r BG Start Teleport\\Exploit Hack DETECTED|cFFFF8C00[|Hplayer:%s|h%s|h|r|cFFFF8C00] - Latency: %u ms', - NULL, - '|cffffff00[|cffff0000ALERTE ANTICHEAT|r|cffffff00]:|r Téléport Début BG\\Exploit Hack DÉTECTÉ|cFFFF8C00[|Hplayer:%s|h%s|h|r|cFFFF8C00] - Latence : %u ms', - NULL, NULL, NULL, NULL, NULL, NULL -), -( - 30092, - '|cffffff00[|cffff0000COUNTER MEASURE ALERT|r|cffffff00]:|r |cFFFF8C00|r %s |cFFFF8C00[|Hplayer:%s|h%s|h|r|cFFFF8C00]', - NULL, - '|cffffff00[|cffff0000ALERTE CONTRE MESURE|r|cffffff00]:|r |cFFFF8C00|r %s |cFFFF8C00[|Hplayer:%s|h%s|h|r|cFFFF8C00]', - NULL, NULL, NULL, NULL, NULL, NULL -); +DELETE FROM `module_string` WHERE `module` = 'anticheat' AND `id` IN (1,2,3,4,5,6); +INSERT INTO `module_string` (`module`, `id`, `string`) VALUES +('anticheat', 1, '|cffffff00[|cffff0000ANTICHEAT ALERT|r|cffffff00]:|r |cFFFF8C00|r |cFFFF8C00[|Hplayer:{}|h{}|h|r|cFFFF8C00] - Latency: {} ms - Report: {}'), +('anticheat', 2, '|cffffff00[|cffff0000ANTICHEAT ALERT|r|cffffff00]:|r POSSIBLE TELEPORT HACK DETECTED|cFFFF8C00 [|Hplayer:{}|h{}|h|r|cFFFF8C00]|r - Latency: {} ms - GPS Diff x: {}, y: {}, z: {}'), +('anticheat', 3, '|cffffff00[|cffff0000ANTICHEAT ALERT|r|cffffff00]:|r POSSIBLE IGNORE CONTROL HACK DETECTED|cFFFF8C00 {}|r - Latency: {} ms'), +('anticheat', 4, '|cffffff00[|cffff0000ANTICHEAT ALERT|r|cffffff00]:|r TELEPORT HACK USED WHILE DUELING|cFFFF8C00 {}|r - Latency: {} ms vs |cFFFF8C00 {}|r - Latency: {} ms.'), +('anticheat', 5, '|cffffff00[|cffff0000ANTICHEAT ALERT|r|cffffff00]:|r BG Start Teleport\\Exploit Hack DETECTED|cFFFF8C00[|Hplayer:{}|h{}|h|r|cFFFF8C00] - Latency: {} ms'), +('anticheat', 6, '|cffffff00[|cffff0000COUNTER MEASURE ALERT|r|cffffff00]:|r |cFFFF8C00|r {} |cFFFF8C00[|Hplayer:{}|h{}|h|r|cFFFF8C00]'); + +DELETE FROM `module_string_locale` WHERE `module` = 'anticheat' AND `id` IN (1,2,3,4,5,6) AND `locale` IN ('frFR', 'esES', 'esMX'); +INSERT INTO `module_string_locale` (`module`, `id`, `locale`, `string`) VALUES +('anticheat', 1, 'frFR', '|cffffff00[|cffff0000ALERTE ANTICHEAT|r|cffffff00]:|r |cFFFF8C00|r |cFFFF8C00[|Hplayer:{}|h{}|h|r|cFFFF8C00] - Latence : {} ms - Rapport : {}'), +('anticheat', 1, 'esES', '|cffffff00[|cffff0000ALERTA ANTITRAMPAS|r|cffffff00]:|r |cFFFF8C00|r |cFFFF8C00[|Hplayer:{}|h{}|h|r|cFFFF8C00] - Latencia: {} ms - Reporte: {}'), +('anticheat', 1, 'esMX', '|cffffff00[|cffff0000ALERTA ANTITRAMPAS|r|cffffff00]:|r |cFFFF8C00|r |cFFFF8C00[|Hplayer:{}|h{}|h|r|cFFFF8C00] - Latencia: {} ms - Reporte: {}'), +('anticheat', 2, 'frFR', '|cffffff00[|cffff0000ALERTE ANTICHEAT|r|cffffff00]:|r POSSIBLE TÉLÉPORT HACK DÉTECTÉ|cFFFF8C00 [|Hplayer:{}|h{}|h|r|cFFFF8C00]|r - Latence : {} ms - Diff GPS x: {}, y: {}, z: {}'), +('anticheat', 2, 'esES', '|cffffff00[|cffff0000ALERTA ANTITRAMPAS|r|cffffff00]:|r POSIBLE HACK DE TELEPORTE DETECTADO|cFFFF8C00 [|Hplayer:{}|h{}|h|r|cFFFF8C00]|r - Latencia: {} ms - GPS Diff x: {}, y: {}, z: {}'), +('anticheat', 2, 'esMX', '|cffffff00[|cffff0000ALERTA ANTITRAMPAS|r|cffffff00]:|r POSIBLE HACK DE TELEPORTE DETECTADO|cFFFF8C00 [|Hplayer:{}|h{}|h|r|cFFFF8C00]|r - Latencia: {} ms - GPS Diff x: {}, y: {}, z: {}'), +('anticheat', 3, 'frFR', '|cffffff00[|cffff0000ALERTE ANTICHEAT|r|cffffff00]:|r POSSIBLE IGNORE CONTROL HACK DÉTECTÉ|cFFFF8C00 {}|r - Latence : {} ms'), +('anticheat', 3, 'esES', '|cffffff00[|cffff0000ALERTA ANTITRAMPAS|r|cffffff00]:|r POSIBLE CONTROL DE HACK DETECTADO IGNORARADO|cFFFF8C00 {}|r - Latencia: {} ms'), +('anticheat', 3, 'esMX', '|cffffff00[|cffff0000ALERTA ANTITRAMPAS|r|cffffff00]:|r POSIBLE CONTROL DE HACK DETECTADO IGNORARADO|cFFFF8C00 {}|r - Latencia: {} ms'), +('anticheat', 4, 'frFR', '|cffffff00[|cffff0000ALERTE ANTICHEAT|r|cffffff00]:|r TÉLÉPORT HACK UTILISÉ PENDANT UN DUEL|cFFFF8C00 {}|r - Latence : {} ms vs |cFFFF8C00 {}|r - Latence : {} ms.'), +('anticheat', 5, 'frFR', '|cffffff00[|cffff0000ALERTE ANTICHEAT|r|cffffff00]:|r Téléport Début BG\\Exploit Hack DÉTECTÉ|cFFFF8C00[|Hplayer:{}|h{}|h|r|cFFFF8C00] - Latence : {} ms'), +('anticheat', 6, 'frFR', '|cffffff00[|cffff0000ALERTE CONTRE MESURE|r|cffffff00]:|r |cFFFF8C00|r {} |cFFFF8C00[|Hplayer:{}|h{}|h|r|cFFFF8C00]'); DELETE FROM `command` WHERE `name`='anticheat jail'; DELETE FROM `command` WHERE `name`='anticheat delete'; diff --git a/data/sql/db-world/updates/2024_08_13.sql b/data/sql/db-world/updates/2024_08_13.sql new file mode 100644 index 0000000..37c5a80 --- /dev/null +++ b/data/sql/db-world/updates/2024_08_13.sql @@ -0,0 +1,24 @@ +-- +DELETE FROM `module_string` WHERE `module` = 'anticheat' AND `id` IN (1,2,3,4,5,6); +INSERT INTO `module_string` (`module`, `id`, `string`) VALUES +('anticheat', 1, '|cffffff00[|cffff0000ANTICHEAT ALERT|r|cffffff00]:|r |cFFFF8C00|r |cFFFF8C00[|Hplayer:{}|h{}|h|r|cFFFF8C00] - Latency: {} ms - Report: {}'), +('anticheat', 2, '|cffffff00[|cffff0000ANTICHEAT ALERT|r|cffffff00]:|r POSSIBLE TELEPORT HACK DETECTED|cFFFF8C00 [|Hplayer:{}|h{}|h|r|cFFFF8C00]|r - Latency: {} ms - GPS Diff x: {}, y: {}, z: {}'), +('anticheat', 3, '|cffffff00[|cffff0000ANTICHEAT ALERT|r|cffffff00]:|r POSSIBLE IGNORE CONTROL HACK DETECTED|cFFFF8C00 {}|r - Latency: {} ms'), +('anticheat', 4, '|cffffff00[|cffff0000ANTICHEAT ALERT|r|cffffff00]:|r TELEPORT HACK USED WHILE DUELING|cFFFF8C00 {}|r - Latency: {} ms vs |cFFFF8C00 {}|r - Latency: {} ms.'), +('anticheat', 5, '|cffffff00[|cffff0000ANTICHEAT ALERT|r|cffffff00]:|r BG Start Teleport\\Exploit Hack DETECTED|cFFFF8C00[|Hplayer:{}|h{}|h|r|cFFFF8C00] - Latency: {} ms'), +('anticheat', 6, '|cffffff00[|cffff0000COUNTER MEASURE ALERT|r|cffffff00]:|r |cFFFF8C00|r {} |cFFFF8C00[|Hplayer:{}|h{}|h|r|cFFFF8C00]'); + +DELETE FROM `module_string_locale` WHERE `module` = 'anticheat' AND `id` IN (1,2,3,4,5,6) AND `locale` IN ('frFR', 'esES', 'esMX'); +INSERT INTO `module_string_locale` (`module`, `id`, `locale`, `string`) VALUES +('anticheat', 1, 'frFR', '|cffffff00[|cffff0000ALERTE ANTICHEAT|r|cffffff00]:|r |cFFFF8C00|r |cFFFF8C00[|Hplayer:{}|h{}|h|r|cFFFF8C00] - Latence : {} ms - Rapport : {}'), +('anticheat', 1, 'esES', '|cffffff00[|cffff0000ALERTA ANTITRAMPAS|r|cffffff00]:|r |cFFFF8C00|r |cFFFF8C00[|Hplayer:{}|h{}|h|r|cFFFF8C00] - Latencia: {} ms - Reporte: {}'), +('anticheat', 1, 'esMX', '|cffffff00[|cffff0000ALERTA ANTITRAMPAS|r|cffffff00]:|r |cFFFF8C00|r |cFFFF8C00[|Hplayer:{}|h{}|h|r|cFFFF8C00] - Latencia: {} ms - Reporte: {}'), +('anticheat', 2, 'frFR', '|cffffff00[|cffff0000ALERTE ANTICHEAT|r|cffffff00]:|r POSSIBLE TÉLÉPORT HACK DÉTECTÉ|cFFFF8C00 [|Hplayer:{}|h{}|h|r|cFFFF8C00]|r - Latence : {} ms - Diff GPS x: {}, y: {}, z: {}'), +('anticheat', 2, 'esES', '|cffffff00[|cffff0000ALERTA ANTITRAMPAS|r|cffffff00]:|r POSIBLE HACK DE TELEPORTE DETECTADO|cFFFF8C00 [|Hplayer:{}|h{}|h|r|cFFFF8C00]|r - Latencia: {} ms - GPS Diff x: {}, y: {}, z: {}'), +('anticheat', 2, 'esMX', '|cffffff00[|cffff0000ALERTA ANTITRAMPAS|r|cffffff00]:|r POSIBLE HACK DE TELEPORTE DETECTADO|cFFFF8C00 [|Hplayer:{}|h{}|h|r|cFFFF8C00]|r - Latencia: {} ms - GPS Diff x: {}, y: {}, z: {}'), +('anticheat', 3, 'frFR', '|cffffff00[|cffff0000ALERTE ANTICHEAT|r|cffffff00]:|r POSSIBLE IGNORE CONTROL HACK DÉTECTÉ|cFFFF8C00 {}|r - Latence : {} ms'), +('anticheat', 3, 'esES', '|cffffff00[|cffff0000ALERTA ANTITRAMPAS|r|cffffff00]:|r POSIBLE CONTROL DE HACK DETECTADO IGNORARADO|cFFFF8C00 {}|r - Latencia: {} ms'), +('anticheat', 3, 'esMX', '|cffffff00[|cffff0000ALERTA ANTITRAMPAS|r|cffffff00]:|r POSIBLE CONTROL DE HACK DETECTADO IGNORARADO|cFFFF8C00 {}|r - Latencia: {} ms'), +('anticheat', 4, 'frFR', '|cffffff00[|cffff0000ALERTE ANTICHEAT|r|cffffff00]:|r TÉLÉPORT HACK UTILISÉ PENDANT UN DUEL|cFFFF8C00 {}|r - Latence : {} ms vs |cFFFF8C00 {}|r - Latence : {} ms.'), +('anticheat', 5, 'frFR', '|cffffff00[|cffff0000ALERTE ANTICHEAT|r|cffffff00]:|r Téléport Début BG\\Exploit Hack DÉTECTÉ|cFFFF8C00[|Hplayer:{}|h{}|h|r|cFFFF8C00] - Latence : {} ms'), +('anticheat', 6, 'frFR', '|cffffff00[|cffff0000ALERTE CONTRE MESURE|r|cffffff00]:|r |cFFFF8C00|r {} |cFFFF8C00[|Hplayer:{}|h{}|h|r|cFFFF8C00]'); diff --git a/data/sql/db-world/updates/AC_2022_08_15_00.sql b/data/sql/db-world/updates/AC_2022_08_15_00.sql deleted file mode 100644 index 674af5c..0000000 --- a/data/sql/db-world/updates/AC_2022_08_15_00.sql +++ /dev/null @@ -1,3 +0,0 @@ -DELETE FROM `acore_string` WHERE `entry`=30091; -INSERT INTO `acore_string` (`entry`, `content_default`, `locale_koKR`, `locale_frFR`, `locale_deDE`, `locale_zhCN`, `locale_zhTW`, `locale_esES`, `locale_esMX`, `locale_ruRU`) VALUES -(30091, '|cffffff00[|cffff0000ANTICHEAT ALERT|r|cffffff00]:|r BG Start Teleport\\Exploit Hack DETECTED|cFFFF8C00[|Hplayer:%s|h%s|h|r|cFFFF8C00] - Latency: %u ms', NULL, NULL, NULL, NULL, NULL, '', '', NULL); diff --git a/data/sql/db-world/updates/AC_2022_12_18_00.sql b/data/sql/db-world/updates/AC_2022_12_18_00.sql deleted file mode 100644 index 9abfbaf..0000000 --- a/data/sql/db-world/updates/AC_2022_12_18_00.sql +++ /dev/null @@ -1 +0,0 @@ -UPDATE `acore_string` SET `content_default`='|cffffff00[|cffff0000ANTICHEAT ALERT|r|cffffff00]:|r POSSIBLE TELEPORT HACK DETECTED|cFFFF8C00 [|Hplayer:%s|h%s|h|r|cFFFF8C00]|r - Latency: %u ms - GPS Diff x: %f, y: %f, z: %f', `locale_esES`='|cffffff00[|cffff0000ALERTA ANTITRAMPAS|r|cffffff00]:|r POSIBLE HACK DE TELEPORTE DETECTADO|cFFFF8C00[|Hplayer:%s|h%s|h|r|cFFFF8C00]|r - Latency: %u ms - GPS Diff x: %f, y: %f, z: %f', `locale_esMX`='|cffffff00[|cffff0000ALERTA ANTITRAMPAS|r|cffffff00]:|r POSIBLE HACK DE TELEPORTE DETECTADO|cFFFF8C00 [|Hplayer:%s|h%s|h|r|cFFFF8C00]|r - Latency: %u ms - GPS Diff x: %f, y: %f, z: %f' WHERE `entry`=30088; diff --git a/data/sql/db-world/updates/AC_2023_03_09_00.sql b/data/sql/db-world/updates/AC_2023_03_09_00.sql deleted file mode 100644 index 1e374c2..0000000 --- a/data/sql/db-world/updates/AC_2023_03_09_00.sql +++ /dev/null @@ -1,3 +0,0 @@ -DELETE FROM `acore_string` WHERE `entry`=30092; -INSERT INTO `acore_string` (`entry`, `content_default`, `locale_koKR`, `locale_frFR`, `locale_deDE`, `locale_zhCN`, `locale_zhTW`, `locale_esES`, `locale_esMX`, `locale_ruRU`) VALUES -(30092, '|cffffff00[|cffff0000COUNTER MEASURE ALERT|r|cffffff00]:|r |cFFFF8C00|r %s |cFFFF8C00[|Hplayer:%s|h%s|h|r|cFFFF8C00]', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); diff --git a/data/sql/db-world/updates/AC_2023_06_22_00.sql b/data/sql/db-world/updates/AC_2023_06_22_00.sql deleted file mode 100644 index 17d1ead..0000000 --- a/data/sql/db-world/updates/AC_2023_06_22_00.sql +++ /dev/null @@ -1,53 +0,0 @@ -DELETE FROM `acore_string` WHERE `entry` IN (30087, 30088, 30089, 30090, 30091, 30092); -INSERT INTO `acore_string` (`entry`, `content_default`, `locale_koKR`, `locale_frFR`, `locale_deDE`, `locale_zhCN`, `locale_zhTW`, `locale_esES`, `locale_esMX`, `locale_ruRU`) VALUES -( - 30087, - '|cffffff00[|cffff0000ANTICHEAT ALERT|r|cffffff00]:|r |cFFFF8C00|r |cFFFF8C00[|Hplayer:%s|h%s|h|r|cFFFF8C00] - Latency: %u ms - Report: %s', - NULL, - '|cffffff00[|cffff0000ALERTE ANTICHEAT|r|cffffff00]:|r |cFFFF8C00|r |cFFFF8C00[|Hplayer:%s|h%s|h|r|cFFFF8C00] - Latence : %u ms - Rapport : %s', - NULL, NULL, NULL, - '|cffffff00[|cffff0000ALERTA ANTITRAMPAS|r|cffffff00]:|r |cFFFF8C00|r |cFFFF8C00[|Hplayer:%s|h%s|h|r|cFFFF8C00] - Latencia: %u ms - Reporte: %s', - '|cffffff00[|cffff0000ALERTA ANTITRAMPAS|r|cffffff00]:|r |cFFFF8C00|r |cFFFF8C00[|Hplayer:%s|h%s|h|r|cFFFF8C00] - Latencia: %u ms - Reporte: %s', - NULL -), -( - 30088, - '|cffffff00[|cffff0000ANTICHEAT ALERT|r|cffffff00]:|r POSSIBLE TELEPORT HACK DETECTED|cFFFF8C00 [|Hplayer:%s|h%s|h|r|cFFFF8C00]|r - Latency: %u ms - GPS Diff x: %f, y: %f, z: %f', - NULL, - '|cffffff00[|cffff0000ALERTE ANTICHEAT|r|cffffff00]:|r POSSIBLE TÉLÉPORT HACK DÉTECTÉ|cFFFF8C00 [|Hplayer:%s|h%s|h|r|cFFFF8C00]|r - Latence : %u ms - Diff GPS x: %f, y: %f, z: %f', - NULL, NULL, NULL, - '|cffffff00[|cffff0000ALERTA ANTITRAMPAS|r|cffffff00]:|r POSIBLE HACK DE TELEPORTE DETECTADO|cFFFF8C00 [|Hplayer:%s|h%s|h|r|cFFFF8C00]|r - Latencia: %u ms - GPS Diff x: %f, y: %f, z: %f', - '|cffffff00[|cffff0000ALERTA ANTITRAMPAS|r|cffffff00]:|r POSIBLE HACK DE TELEPORTE DETECTADO|cFFFF8C00 [|Hplayer:%s|h%s|h|r|cFFFF8C00]|r - Latencia: %u ms - GPS Diff x: %f, y: %f, z: %f', - NULL -), -( - 30089, - '|cffffff00[|cffff0000ANTICHEAT ALERT|r|cffffff00]:|r POSSIBLE IGNORE CONTROL HACK DETECTED|cFFFF8C00 %s|r - Latency: %u ms', - NULL, - '|cffffff00[|cffff0000ALERTE ANTICHEAT|r|cffffff00]:|r POSSIBLE IGNORE CONTROL HACK DÉTECTÉ|cFFFF8C00 %s|r - Latence : %u ms', - NULL, NULL, NULL, - '|cffffff00[|cffff0000ALERTA ANTITRAMPAS|r|cffffff00]:|r POSIBLE CONTROL DE HACK DETECTADO IGNORARADO|cFFFF8C00 %s|r - Latencia: %u ms', - '|cffffff00[|cffff0000ALERTA ANTITRAMPAS|r|cffffff00]:|r POSIBLE CONTROL DE HACK DETECTADO IGNORARADO|cFFFF8C00 %s|r - Latencia: %u ms', - NULL -), -( - 30090, - '|cffffff00[|cffff0000ANTICHEAT ALERT|r|cffffff00]:|r TELEPORT HACK USED WHILE DUELING|cFFFF8C00 %s|r - Latency: %u ms vs |cFFFF8C00 %s|r - Latency: %u ms.', - NULL, - '|cffffff00[|cffff0000ALERTE ANTICHEAT|r|cffffff00]:|r TÉLÉPORT HACK UTILISÉ PENDANT UN DUEL|cFFFF8C00 %s|r - Latence : %u ms vs |cFFFF8C00 %s|r - Latence : %u ms.', - NULL, NULL, NULL, NULL, NULL, NULL -), -( - 30091, - '|cffffff00[|cffff0000ANTICHEAT ALERT|r|cffffff00]:|r BG Start Teleport\\Exploit Hack DETECTED|cFFFF8C00[|Hplayer:%s|h%s|h|r|cFFFF8C00] - Latency: %u ms', - NULL, - '|cffffff00[|cffff0000ALERTE ANTICHEAT|r|cffffff00]:|r Téléport Début BG\\Exploit Hack DÉTECTÉ|cFFFF8C00[|Hplayer:%s|h%s|h|r|cFFFF8C00] - Latence : %u ms', - NULL, NULL, NULL, NULL, NULL, NULL -), -( - 30092, - '|cffffff00[|cffff0000ANTICHEAT ALERT|r|cffffff00]:|r|cFFFF8C00|r %s |cFFFF8C00[|Hplayer:%s|h%s|h|r|cFFFF8C00]', - NULL, - '|cffffff00[|cffff0000ALERTE ANTICHEAT|r|cffffff00]:|r|cFFFF8C00|r %s |cFFFF8C00[|Hplayer:%s|h%s|h|r|cFFFF8C00]', - NULL, NULL, NULL, NULL, NULL, NULL -); diff --git a/src/AnticheatMgr.cpp b/src/AnticheatMgr.cpp index 974c6b2..2def1bb 100644 --- a/src/AnticheatMgr.cpp +++ b/src/AnticheatMgr.cpp @@ -24,6 +24,7 @@ #include "AnticheatMgr.h" #include "BanMgr.h" +#include "Chat.h" #include "Log.h" #include "MapMgr.h" #include "Player.h" @@ -31,12 +32,13 @@ #include "SpellAuras.h" #include "DatabaseEnv.h" -constexpr auto LANG_ANTICHEAT_ALERT = 30087; -constexpr auto LANG_ANTICHEAT_TELEPORT = 30088; -constexpr auto LANG_ANTICHEAT_IGNORECONTROL = 30089; -constexpr auto LANG_ANTICHEAT_DUEL = 30090; -constexpr auto LANG_ANTICHEAT_BG_EXPLOIT = 30091; -constexpr auto LANG_ANTICHEAT_COUNTERMEASURE = 30092; +constexpr std::string modulestring = "anticheat"; +constexpr auto LANG_ANTICHEAT_ALERT = 1; +constexpr auto LANG_ANTICHEAT_TELEPORT = 2; +constexpr auto LANG_ANTICHEAT_IGNORECONTROL = 3; +constexpr auto LANG_ANTICHEAT_DUEL = 4; +constexpr auto LANG_ANTICHEAT_BG_EXPLOIT = 5; +constexpr auto LANG_ANTICHEAT_COUNTERMEASURE = 6; // Time between server sends acknowledgement, and client is actually acknowledged constexpr auto ALLOWED_ACK_LAG = 2000; @@ -89,6 +91,15 @@ AnticheatMgr::~AnticheatMgr() m_Players.clear(); } +void AnticheatMgr::DoToAllGMs(std::function exec) +{ + SessionMap::const_iterator itr; + for (itr = sWorld->GetAllSessions().begin(); itr != sWorld->GetAllSessions().end(); ++itr) + if (Player* player = itr->second->GetPlayer()) + if (!AccountMgr::IsPlayerAccount(player->GetSession()->GetSecurity()) && player->IsInWorld()) + exec(player); +} + void AnticheatMgr::StartHackDetection(Player* player, MovementInfo movementInfo, uint32 opcode) { if (!sConfigMgr->GetOption("Anticheat.Enabled", true)) @@ -320,15 +331,24 @@ void AnticheatMgr::BuildAndSendReportToIngameGameMasters(Player* player, ReportT float xDiff = lastPosition.GetPositionX() - position.GetPositionX(); float yDiff = lastPosition.GetPositionY() - position.GetPositionY(); float zDiff = lastPosition.GetPositionZ() - position.GetPositionZ(); - ChatHandler(nullptr).SendGMText(LANG_ANTICHEAT_TELEPORT, playerName, playerName, latency, xDiff, yDiff, zDiff); + DoToAllGMs([&](Player* p) + { + ChatHandler(p->GetSession()).PSendModuleSysMessage(modulestring, LANG_ANTICHEAT_TELEPORT, playerName, playerName, latency, xDiff, yDiff, zDiff); + }); } else if (reportType == IGNORE_CONTROL_REPORT) { - ChatHandler(nullptr).SendGMText(LANG_ANTICHEAT_IGNORECONTROL, playerName, latency); + DoToAllGMs([&](Player* p) + { + ChatHandler(p->GetSession()).PSendModuleSysMessage(modulestring, LANG_ANTICHEAT_IGNORECONTROL, playerName, latency); + }); } else { - ChatHandler(nullptr).SendGMText(LANG_ANTICHEAT_ALERT, playerName, playerName, latency, reportName); + DoToAllGMs([&](Player* p) + { + ChatHandler(p->GetSession()).PSendModuleSysMessage(modulestring, LANG_ANTICHEAT_ALERT, playerName, playerName, latency, reportName); + }); } } } @@ -469,7 +489,10 @@ void AnticheatMgr::SpeedHackDetection(Player* player, MovementInfo movementInfo) if (sConfigMgr->GetOption("Anticheat.CM.ALERTCHAT", true)) { const char* str = "|cFFFFFC00 TIME MANIPULATION COUNTER MEASURE ALERT"; - ChatHandler(nullptr).SendGMText(LANG_ANTICHEAT_COUNTERMEASURE, str, player->GetName().c_str(), player->GetName().c_str()); + DoToAllGMs([&](Player* p) + { + ChatHandler(p->GetSession()).PSendModuleSysMessage(modulestring, LANG_ANTICHEAT_COUNTERMEASURE, str, player->GetName(), player->GetName()); + }); } timeDiff = 1; BuildReport(player, COUNTER_MEASURES_REPORT, movementInfo); @@ -489,7 +512,10 @@ void AnticheatMgr::SpeedHackDetection(Player* player, MovementInfo movementInfo) if (sConfigMgr->GetOption("Anticheat.CM.ALERTCHAT", true)) { const char* str = "|cFFFFFC00 TIME MANIPULATION COUNTER MEASURE ALERT"; - ChatHandler(nullptr).SendGMText(LANG_ANTICHEAT_COUNTERMEASURE, str, player->GetName().c_str(), player->GetName().c_str()); + DoToAllGMs([&](Player* p) + { + ChatHandler(p->GetSession()).PSendModuleSysMessage(modulestring, LANG_ANTICHEAT_COUNTERMEASURE, str, player->GetName(), player->GetName()); + }); } timeDiff = 1; BuildReport(player, COUNTER_MEASURES_REPORT, movementInfo); @@ -554,7 +580,10 @@ void AnticheatMgr::SpeedHackDetection(Player* player, MovementInfo movementInfo) if (sConfigMgr->GetOption("Anticheat.CM.ALERTCHAT", true)) { const char* str = "|cFFFFFC00 SPEED HACK COUNTER MEASURE ALERT"; - ChatHandler(nullptr).SendGMText(LANG_ANTICHEAT_COUNTERMEASURE, str, player->GetName().c_str(), player->GetName().c_str()); + DoToAllGMs([&](Player* p) + { + ChatHandler(p->GetSession()).PSendModuleSysMessage(modulestring, LANG_ANTICHEAT_COUNTERMEASURE, str, player->GetName(), player->GetName()); + }); } BuildReport(player, COUNTER_MEASURES_REPORT, movementInfo); } @@ -614,7 +643,10 @@ void AnticheatMgr::FlyHackDetection(Player* player, MovementInfo movementInfo) if (sConfigMgr->GetOption("Anticheat.CM.ALERTCHAT", true)) { const char* str = "|cFFFFFC00 FLY HACK COUNTER MEASURE ALERT"; - ChatHandler(nullptr).SendGMText(LANG_ANTICHEAT_COUNTERMEASURE, str, player->GetName().c_str(), player->GetName().c_str()); + DoToAllGMs([&](Player* p) + { + ChatHandler(p->GetSession()).PSendModuleSysMessage(modulestring, LANG_ANTICHEAT_COUNTERMEASURE, str, player->GetName(), player->GetName()); + }); } BuildReport(player, COUNTER_MEASURES_REPORT, movementInfo); } @@ -663,7 +695,10 @@ void AnticheatMgr::JumpHackDetection(Player* player, MovementInfo movementInfo, if (sConfigMgr->GetOption("Anticheat.CM.ALERTCHAT", true)) { const char* str = "|cFFFFFC00 JUMP HACK COUNTER MEASURE ALERT"; - ChatHandler(nullptr).SendGMText(LANG_ANTICHEAT_COUNTERMEASURE, str, player->GetName().c_str(), player->GetName().c_str()); + DoToAllGMs([&](Player* p) + { + ChatHandler(p->GetSession()).PSendModuleSysMessage(modulestring, LANG_ANTICHEAT_COUNTERMEASURE, str, player->GetName(), player->GetName()); + }); } BuildReport(player, COUNTER_MEASURES_REPORT, movementInfo); } @@ -724,7 +759,10 @@ void AnticheatMgr::JumpHackDetection(Player* player, MovementInfo movementInfo, if (sConfigMgr->GetOption("Anticheat.CM.ALERTCHAT", true)) { const char* str = "|cFFFFFC00 ADVANCE JUMP HACK COUNTER MEASURE ALERT"; - ChatHandler(nullptr).SendGMText(LANG_ANTICHEAT_COUNTERMEASURE, str, player->GetName().c_str(), player->GetName().c_str()); + DoToAllGMs([&](Player* p) + { + ChatHandler(p->GetSession()).PSendModuleSysMessage(modulestring, LANG_ANTICHEAT_COUNTERMEASURE, str, player->GetName(), player->GetName()); + }); } BuildReport(player, COUNTER_MEASURES_REPORT, movementInfo); } @@ -916,7 +954,10 @@ void AnticheatMgr::TeleportHackDetection(Player* player, MovementInfo movementIn std::string goXYZ = ".go xyz " + std::to_string(player->GetPositionX()) + " " + std::to_string(player->GetPositionY()) + " " + std::to_string(player->GetPositionZ() + 1.0f) + " " + std::to_string(player->GetMap()->GetId()) + " " + std::to_string(player->GetOrientation()); std::string goXYZ2 = ".go xyz " + std::to_string(opponent->GetPositionX()) + " " + std::to_string(opponent->GetPositionY()) + " " + std::to_string(opponent->GetPositionZ() + 1.0f) + " " + std::to_string(opponent->GetMap()->GetId()) + " " + std::to_string(opponent->GetOrientation()); uint32 latency2 = opponent->GetSession()->GetLatency(); - ChatHandler(nullptr).SendGMText(LANG_ANTICHEAT_DUEL, player->GetName().c_str(), latency, opponent->GetName().c_str(), latency2); + DoToAllGMs([&](Player* p) + { + ChatHandler(p->GetSession()).PSendModuleSysMessage(modulestring, LANG_ANTICHEAT_DUEL, player->GetName(), latency, opponent->GetName(), latency2); + }); if (sConfigMgr->GetOption("Anticheat.WriteLog", true)) { @@ -952,7 +993,10 @@ void AnticheatMgr::TeleportHackDetection(Player* player, MovementInfo movementIn if (sConfigMgr->GetOption("Anticheat.CM.ALERTCHAT", true)) { const char* str = "|cFFFFFC00 TELEPORT COUNTER MEASURE ALERT"; - ChatHandler(nullptr).SendGMText(LANG_ANTICHEAT_COUNTERMEASURE, str, player->GetName().c_str(), player->GetName().c_str()); + DoToAllGMs([&](Player* p) + { + ChatHandler(p->GetSession()).PSendModuleSysMessage(modulestring, LANG_ANTICHEAT_COUNTERMEASURE, str, player->GetName(), player->GetName()); + }); } player->TeleportTo(player->GetMapId(), lastX, lastY, lastZ, player->GetOrientation()); BuildReport(player, COUNTER_MEASURES_REPORT, movementInfo); @@ -1156,7 +1200,10 @@ void AnticheatMgr::ZAxisHackDetection(Player* player, MovementInfo movementInfo) if (sConfigMgr->GetOption("Anticheat.CM.ALERTCHAT", true)) { const char* str = "|cFFFFFC00 IGNORE-Z HACK COUNTER MEASURE ALERT"; - ChatHandler(nullptr).SendGMText(LANG_ANTICHEAT_COUNTERMEASURE, str, player->GetName().c_str(), player->GetName().c_str()); + DoToAllGMs([&](Player* p) + { + ChatHandler(p->GetSession()).PSendModuleSysMessage(modulestring, LANG_ANTICHEAT_COUNTERMEASURE, str, player->GetName(), player->GetName()); + }); } BuildReport(player, COUNTER_MEASURES_REPORT, movementInfo); } @@ -1288,7 +1335,10 @@ void AnticheatMgr::BGreport(Player* player, MovementInfo movementInfo) if (counter >= GetMinimumReportInChatThresholdConfigFromReportType(TELEPORT_HACK_REPORT) && counter <= GetMaximumReportInChatThresholdConfigFromReportType(TELEPORT_HACK_REPORT)) { uint32 latency = player->GetSession()->GetLatency(); - ChatHandler(nullptr).SendGMText(LANG_ANTICHEAT_BG_EXPLOIT, player->GetName().c_str(), player->GetName().c_str(), latency); + DoToAllGMs([&](Player* p) + { + ChatHandler(p->GetSession()).PSendModuleSysMessage(modulestring, LANG_ANTICHEAT_BG_EXPLOIT, player->GetName(), player->GetName(), latency); + }); } } @@ -1328,7 +1378,10 @@ void AnticheatMgr::CheckStartPositions(Player* player, MovementInfo movementInfo if (sConfigMgr->GetOption("Anticheat.CM.ALERTCHAT", true)) { const char* str = "|cFFFFFC00 BG START SPOT COUNTER MEASURE ALERT"; - ChatHandler(nullptr).SendGMText(LANG_ANTICHEAT_COUNTERMEASURE, str, player->GetName().c_str(), player->GetName().c_str()); + DoToAllGMs([&](Player* p) + { + ChatHandler(p->GetSession()).PSendModuleSysMessage(modulestring, LANG_ANTICHEAT_COUNTERMEASURE, str, player->GetName(), player->GetName()); + }); } BuildReport(player, COUNTER_MEASURES_REPORT, movementInfo); player->TeleportTo(player->GetMapId(), startPos->GetPositionX(), startPos->GetPositionY(), startPos->GetPositionZ(), startPos->GetOrientation()); @@ -1778,7 +1831,7 @@ void AnticheatMgr::AnticheatGlobalCommand(ChatHandler* handler) uint32 total_reports = fieldsDB[2].Get(); if (Player* player = ObjectAccessor::FindConnectedPlayer(guid)) - handler->PSendSysMessage("Player: %s Total Reports: %u Average: %f", player->GetName().c_str(), total_reports, average); + handler->PSendSysMessage("Player: {} Total Reports: {} Average: {}", player->GetName(), total_reports, average); } while (resultDB->NextRow()); } diff --git a/src/AnticheatMgr.h b/src/AnticheatMgr.h index 9ac36de..532db51 100644 --- a/src/AnticheatMgr.h +++ b/src/AnticheatMgr.h @@ -88,6 +88,8 @@ class AnticheatMgr EventEmitter OnReport; + void DoToAllGMs(std::function exec); + void StartHackDetection(Player* player, MovementInfo movementInfo, uint32 opcode); void SavePlayerData(Player* player); void SavePlayerDataDaily(Player* player);