Web
Web copied to clipboard
Объединение выдачи Мут+Гаг через Веб-панель
При попытке выдать Мут+Гаг одновременно, указать этот тип блокировки при добавлении

создаёт 2 отдельные блокировки, и мне кажется, что это иногда вызывает баг, когда игрок не может говорить в микро, но может при этом писать в чат.

Было бы лучше, если бы этот способ выдачи создавал одну запись (с жёлтой иконкой) вместо 2 отдельных.
Было бы лучше, если бы этот способ выдачи создавал одну запись (с жёлтой иконкой) вместо 2 отдельных.
Тогда это сломает поддержку старой серверной части. Это пока недопустимо.
а если попробовать сделать коммит в отдельную ветку?
Пока нет времени заняться этим, но в целом, чтобы сделать одной записью, надо сделать следующее. Заменить следующий кусок кода: https://github.com/SB-MaterialAdmin/Web/blob/45d0f5b8b83a37b21807efd15669a9c0673456ac/web_upload/includes/sb-callback.php#L3811-L3834 На это: https://gist.github.com/CrazyHackGUT/9beb8dd537702b722389c610b4edbdd9
Я не пойму почему, но веб-блокировки коммуникаций (если блокировать через админ-меню в игре либо серверной командой, то блокирует нормально) не работают. Они есть в БД, но не блокируют микро. Перед выдачей происходит поиск игрока на сервере. Пишет, что игрока нет на сервере, даже если он есть.

И да, после применения патча я выдал Мут+Гаг через веб-панель, в логе это появилось, а в БД (т.е. в списке блоков) блокировки нету.

И вот ещё. Мелочь, но неприятно.
При удалении блокировки из списка

Происходит это:

Пустая страница, нельзя нажать на какую-либо кнопку (кроме логотипа SourceBans), но при этом блокировка всё таки удаляется.
@MAGNAT2645 если что...
https://github.com/SB-MaterialAdmin/Web/issues/222#issuecomment-481881714
Ну ладно ещё это, не мешает особо, потому что удалять блокировки часто не приходится. Просто не пойму, почему блокировки коммуникаций толком не работают. Давным давно ставил пермамент мут некоторым игрокам, а они могут спамить этими СаундПадами до сих пор. Если выдать сайленс, то микро может и не будет работать больше, но зато в чат можно свободно спамить дальше.
Я не пойму как этот баг происходит конкретно.
Пишет, что игрока нет на сервере, даже если он есть.
Так работает движок. Устроить нормальную коммуникацию веб-сервера и игрового чисто на уровне PHP и ркона - невозможно.
а в БД (т.е. в списке блоков) блокировки нету.
Так Вы именно в БД смотрели, или только в веб-панели? Лучше всего смотреть в БД, если не уверены. Вообще, если происходит ошибка, СБ падает с ошибкой. А тут поскольку был и поиск игрока, и запись в логе появилась - запрос явно прошёл успешно, либо база не вернула ошибку (кривая конфигурация?).
Пустая страница, нельзя нажать на какую-либо кнопку (кроме логотипа SourceBans), но при этом блокировка всё таки удаляется.
Удаления происходить не должно. Пустая страница отображается только если происходит ошибка безопасности (когда SB сомневается, что это именно Вы сами сделали запрос).
Если происходят проблемы с мутами (когда они не работают), а ошибок в логах нет - показывайте плагин-лист. Это явно похоже на конфликт, когда один плагин пытается переопределить состояние возможности "разговаривать" у игрока.
Я видел, что в SourceBans++ 1.6.3 перешли на SourceQuery (я просто не знаю, используется ли эта библиотека в этом форке), но я не уверен, что это поможет с корректным поиском нарушителя на сервере.
В БД мута походу тоже нет.
Ошибок на странице нет, блокировка действительно удаляется. Просто не происходит переадресация на список блоков.
Я заметил, что в Fake Voice Lag используется SetClientListeningFlags. Вот кусочек кода:
public OnGameFrame()
{
for (new x=1; x<=MaxClients; x++)
{
if(!RoboticListen[x]) // Эта переменная переключается через админскую команду
continue; // Client isnt valid
if (!ValidPlayer(x))
continue; // Client isnt valid
ClientPing( x, GetRandomInt(600, 999) );
if(!RoboticListenToggle[x])
{
SetClientListeningFlags(x,VOICE_NORMAL);
}
else if(RoboticListenToggle[x])
{
SetClientListeningFlags(x,VOICE_MUTED);
}
}
}
Но в целом, SetClientListeningFlags у меня используется только в basecomm (отключён, использую замену - ma_basecomm) и Fake Voice Lag.
EDIT: Не, Fake Voice Lag у меня только среди сурсов есть, но на сервере он не используется.
Я видел, что в SourceBans++ 1.6.3 перешли на SourceQuery
Тут - она же. Мы на неё перешли ещё до того, как это стало мейнстримом.
В БД мута походу тоже нет.
Теперь блокировка появилась.

Но я так и не пойму, почему мут и гаг не работают корректно. Бан работает отлично, не видел случаев обхода блокировки.
С Мутом и гагом есть такая дрянь. Как я понял, если добавить мут с игрового сервера, то он вроде как работает. И опять же, есть игроки с пермамент мутом, но они могут спамить СаундПадом.
С гагом что-то подобное тоже есть, но происходит вроде только если выдаёшь Сайленс.
Гаг видимо не работает, если его выдать через Веб.
(Сорян, я только щас заметил, что это мут а не гаг)
И ещё, не по теме: не отображаются аватарки со Стима. Я пробовал очистить кэш аватарок, но это ничего не изменило.
Я вижу всегда подобную (одну из) аватарку:

почему мут и гаг не работают корректно.
Если происходят проблемы с мутами (когда они не работают), а ошибок в логах нет - показывайте плагин-лист. Это явно похоже на конфликт, когда один плагин пытается переопределить состояние возможности "разговаривать" у игрока.
Если у Вас там онли приват, и Вы боитесь опубликовать полный список - пишите в личку. Гадать на картах тут, увы, сложно.
не отображаются аватарки со Стима. Я пробовал очистить кэш аватарок, но это ничего не изменило.
Это ничего и не изменит, если Вы не прописали ключ от Steam Web API, либо он прописан неправильно.
А где ключ можно поменять? В том же data/config.php? Я создал новый ключ и поместил в config.php, потом опять очистил кэш аватарок, но это всё равно не помогло.
Могу показать неполный плагин-лист, потому что некоторые плагины загружаются только на определённых картах, НО в этом списке есть все основные плагины. Вот плагин-лист (могу объяснить, если какой плагин непонятен):
01 "[UMC] Map Commands" (3.6.2) by Steell
02 "Easy Downloader" (1.03) by Invex | Byte
03 "[Source 2013] Custom Chat Colors" (3.1.0) by Dr. McKay
04 "[UMC] Admin Menu" (3.6.2) by Steell
05 "SMAC Command Monitor" (0.8.6.3) by SMAC Development Team (original), Mr. Silence (updated)
06 "[TF2Items] Give Weapon" (3.14159) by FlaminSarge (orig by asherkin)
07 "[TF2] Civilian" (1.0b) by Bitl
08 "Reserved Slots" (1.9.0.6275) by AlliedModders LLC
09 "Chdata's Car data" (0x0D) by Chdata
10 "[UMC] Vote Command" (3.6.2) by Steell
11 "[ANY] Ninja Leap" (1.0.2) by DarthNinja
12 "[TF2] Remove Weapons" (1.3) by Starman2098
13 "armyofnaithons-test/testing_stringtables.smx"
14 "Basic Commands" (1.9.0.6275) by AlliedModders LLC
15 "Intelligence Protector" (1.1.2) by Heffebaycay, updated by MAGNAT2645
16 "Resize Players" (1.5.1) by 11530
17 "Default SM Text Replacer" (0.32) by Mitch/Bacardi
18 "[TF2] TF2Attributes" (1.3.2) by FlaminSarge
19 "Vip Areas" (1.2.3) by Twisted|Panda
20 "Player Commands" (1.9.0.6275) by AlliedModders LLC
21 "[TF2] Annotate" (1.5) by Geit
22 "Anti-Flood" (1.9.0.6275) by AlliedModders LLC
23 "Player Outline" (1.2.0) by ReFlexPoison
24 "[TF2]Be Merasmus!" (2.1) by Mitch
25 "Trade Chat" (1.5.1) by Luki
26 "[TF2] Custom Boss Spawner" (5.0.2) by Tak (chaosxk)
27 "[ANY] Cvar Configs Updater" (1.5) by SilverShot
28 "[UMC] Nominations" (3.6.2) by Steell
29 "Basic Info Triggers" (1.9.0.6275) by AlliedModders LLC
30 "[UMC] End of Map Vote" (3.6.2) by Steell
31 "Fake sv_downloadurl to players" (1.0) by Bacardi
32 "Map Rate" (1.2) by Ryan "FLOOR_MASTER" Mannion & Chefe, Edit by MAGNAT2645
33 "Admin Help" (1.9.0.6275) by AlliedModders LLC
34 "Simple Chat Processor (Redux)" (1.1.5) by Simple Plugins, Mini
35 "SMFire" (2.2) by pear
36 "[UMC] Map Rate Reweight" (3.6.2) by Steell
37 "[UMC] Echo Nextmap" (3.6.2) by Steell
38 "BROFIST" (1.2.1) by MasterOfTheXP
39 "[TF2] Homing Rocket" (2409) by Leonardo
40 "SourceMod Anti-Cheat" (0.8.6.3) by SMAC Development Team (original), Mr. Silence (updated)
41 "LAZERRRRSSSS!" (1.3.2) by MitchDizzle_
42 "[UMC] Rock The Vote" (3.6.2) by Steell
43 "[UMC] Player Count Monitor" (3.6.2) by Steell
44 "[UMC] Post-Played Exclusion" (3.6.2) by Sazpaimon and Steell
45 "Basic Votes" (1.9.0.6275) by AlliedModders LLC
46 "[TF2] Voice Commands Pitch" (1.0) by SirDigby
47 "Tidy Chat" (0.5) by linux_lover
48 "SMAC Aimbot Detector" (0.8.6.3) by SMAC Development Team (original), Mr. Silence (updated)
49 "SM Crazy Jet" (1.0.3) by Rodrigo286
50 "[UMC] Player Limits" (3.6.2) by Steell
51 "Client Preferences" (1.9.0.6275) by AlliedModders LLC
52 "Admin Menu" (1.9.0.6275) by AlliedModders LLC
53 "[TF2] Balls" (0.5) by Geit
54 "SMAC AutoTrigger Detector" (0.8.6.3) by SMAC Development Team (original), Mr. Silence (updated)
55 "[TF2] Be The Ghost" (1.1.3) by xpenia, MAGNAT2645 (Syntax >1.7)
56 "Ent-Control" (0.0.1.8) by LeGone
57 "Roll The Dice (Revamped)" (2.3.1) by Phil25
58 "Melee" (0.7) by linux_lover
59 "Fun Votes" (1.9.0.6275) by AlliedModders LLC
60 "[TF2] Physics Gun" (3.00) by BattlefieldDuck
61 "SM DEV Zones" (3.2) by Franc1sco, root, Totenfluch
62 "Clientprefs Cleaner (Cookies Purge)" (1.0) by Root
63 "[UMC] Random Cycle" (3.6.2) by Steell
64 "Admin Stealth REDUX" (1.6) by necavi and Naydef (new developer)
65 "Basic Chat" (1.9.0.6275) by AlliedModders LLC
67 "[ANY] Voice Changer!" (0.2b) by Benoist3012, Glubbable
68 "Player Spawns" (1.14) by noodleboy347,11530
69 "[TF2] Be the Deflector" (1.0) by Pelipoika (FlamingSarge)
70 "[ANY] Impersonate" (1.5.0) by Dr. McKay
72 "Jetpack" (1.1.0) by Knagg0
73 "Evil Admin - Rocket" (1.4) by <eVa>Dog, 50DKP, MAGNAT2645
74 "Source Chat Relay" (1.1.5) by Fishy
75 "SMAC Rcon Locker" (0.8.6.3) by SMAC Development Team (original), Mr. Silence (updated)
76 "Bonus Round Immunity" (1.1.1) by Antithasys
77 "TF2 Taunts TF2IDB" (1.6.3.*-tf2idb) by fakuivan
78 "Super Spray Handler" (1.3.1) by shavit, Nican132, CptMoore, Lebson506th, and TheWreckingCrew6
79 "Fun Commands X" (2.5) by Spazman0 and Arg!
80 "[UMC] Prefix Exclusion" (3.6.2) by Steell
81 "[UMC] End of Map Vote Warnings" (3.6.2) by Steell
82 "Admin Smite" (2.1) by Hipster
83 "Map configs" (1.3) by Berni
84 "Admin File Reader" (1.9.0.6275) by AlliedModders LLC
85 "Admin Grabber" (1.0.2) by Friagram
86 "[TF2Items] Manager" (1.4.1) by Damizean & Asherkin
87 "Basic Comm Control" (0.7.7) by AlliedModders LLC
88 "Hook Grab Rope" (1.1.4) by Sheepdude, SumGuy14
89 "[TF2] Friendly Mode" (16.0112) by Derek D. Howard
90 "Thirdperson View" (2.1.0) by NAITHONS TEAM
91 "Advertisements" (2.0.2) by Tsunami
92 "[ANY] MuteCheck" (1.9.2) by Dr. McKay
93 "Server Clean Up _Xnet CS:GO" (1.2.2) by Jamster
94 "TOGs File Cleaner" (4.2) by That One Guy
95 "[TF2] Halloween Footprints with clientprefs (Revisited)" (1.16) by Oshizu + Dyl0n + Pelipoika + Benjamin
96 "[TF2] SourcePets" (1.185) by Oshizu & noodleboy347
97 "Be the Skeleton" (1.0) by Mitchell
98 "Be the Robot: Sentry Buster" (1.3) by MasterOfTheXP
99 "[Any] Deluxe Godmode" (2.3.1) by DarthNinja
100 "[DEV] TF2IDB Adapter for TF2ItemsInfo" (1.0.0) by FlaminSarge
101 "[Any] Command Dumper" (1.1.0) by DarthNinja
102 "ShapeShift" (1.5.5) by Plex (aka Use My Teleporter)
103 "[TF2] Destroy Engineer Buildings" (1.2.0) by DarthNinja
104 "[UMC] Ultimate Mapchooser Core" (3.6.2) by Original:Steell, Updates:Powerlord (3.4.6-dev), Mr.Silence (3.6.2)
105 "Advanced Infinite Ammo" (1.5.3) by Tylerst
106 "Nextmap" (1.9.0.6275) by AlliedModders LLC
107 "Sound Commands" (1.9.0.6275) by AlliedModders LLC
108 "Noise Maker Player" (2.3.1) by Jouva Moufette <[email protected]>, DarthNinja, Velture
109 "LMAOBAN" (1.4) by Aderic
110 "Material Admin" (0.7.7) by Material Admin Dev Team
111 "[TF2] Be the Horsemann" (1.4) by FlaminSarge
112 "Fun Commands" (1.9.0.6275) by AlliedModders LLC
113 "TF2 Building God Mode" (1.1.0) by Tylerst
114 "[TF2] Rate of Fire" (1.2) by EHG
115 "SteamWorks Game Description Override" (1.1) by Dr. McKay, Sarabveer(VEER�)
116 "SMAC Client Protection" (0.8.6.3) by SMAC Development Team (original), Mr. Silence (updated)
117 "TF2IDB" (0.94.0) by Bottiger, FlaminSarge
118 "SMAC Anti-Speedhack" (0.8.6.3) by SMAC Development Team (original), Mr. Silence (updated)
119 "[Any] Command Cooldowns" (18.0116.0) by Derek D. Howard
120 "Be the Robot" (1.3) by MasterOfTheXP, FIX by MAGNAT2645
121 "[UMC] Map Weight" (3.6.2) by Steell
122 "[UMC] Time Limits" (3.6.2) by Steell
123 "Monster" (1.1.1) by Panzer
124 "Fake and Force Unlimited" (2.0) by MasterOfTheXP
125 "[TF2] Stunmod" (1.4.4.7) by DarthNinja
126 "[TF2] DSP Effects" (1.1) by A.I, Hurp Durp
127 "Observer Point" (1.0.100) by <eVa>Dog
128 "Mind Control" (1.0.1) by Friagram
129 "[TF2] Rainbow Glow" (1.0) by Pelipoika
130 "Updater" (1.2.2) by GoD-Tony
131 "[TF2] Necromasher" (1.1) by Pelipoika
132 "[AON] Звуковой проигрыватель" (0.1.3.1) by MAGNAT2645
133 "[AON] Магазин - Инвентарь" (0.1) by MAGNAT2645
134 "[АРМИЯ НЕЙТОНОВ] Система CAD" (0.5.1) by MAGNAT2645
135 "[AON] Менеджер контента" (1.0) by MAGNAT2645
136 "[АРМИЯ НЕЙТОНОВ] Главное меню сервера" (0.7) by MAGNAT2645
137 "[АРМИЯ НЕЙТОНОВ] Эмотиконы" (0.2) by MAGNAT2645, Rachnus
138 "[AON] Система возрождений" (1.2.2) by MAGNAT2645
139 "[AON] Магазин - Таблица предметов" (0.1) by MAGNAT2645, Тихон
140 "[AON] Магазин - Основные свойства предметов" (0.1) by MAGNAT2645
141 "[АРМИЯ НЕЙТОНОВ] Множество команд" (0.1.8) by MAGNAT2645
142 "[AON] Система Уровней Игроков v1" (1.3.3) by MAGNAT2645
143 "[AON] Магазин - Ядро" (0.1) by MAGNAT2645
144 "[AON] Фильтрация целей" (1.0) by MAGNAT2645
145 "[АРМИЯ НЕЙТОНОВ - СУИ] Аркада - Мини-игры" (0.3.1) by MAGNAT2645
146 "[АРМИЯ НЕЙТОНОВ] Режим строителя" (0.4.3) by MAGNAT2645
147 "[AON] Данные клиентов" (0.25) by MAGNAT2645
148 "[AON] Главный движок" (0.1.102) by MAGNAT2645
149 "Dynamic MOTD Replacer" (2.2.3) by psychonic
150 "Player Warnings" (1.1.3) by Panduh
151 "TF2 Custom Projectiles" (1.1) by Patka
152 "Killstreak" (1.8) by Dr_Knuckles / Kredit
А где ключ можно поменять? В том же data/config.php?
Угу.
Я создал новый ключ и поместил в config.php, потом опять очистил кэш аватарок, но это всё равно не помогло.
А cURL на веб-сервере есть? Работа со Steam Web API тестировалась, и работает гарантированно только с ним, хотя в случае проблем, SB переключается на стандартные сокеты.
Видя приличное кол-во самописа/дописанных плагинов, даже спрашивать не буду про них. Поверю в то, что там всё хорошо, и размута не происходит.
Около 5-и лет назад испытывал проблему со слетающими мутами из-за [ANY] MuteCheck. К слову, сервер тогда был именно в TF2. Попробуйте его отключить на время.
У меня аватарки работали на стабильном релизе последнем, это стало происходить именно после установки из master ветки.
Мои плагины могут только если использовать хук для чата, чтобы вылавливать сообщения. Как-то влиять на микро точно не могут. У меня даже один плагин использует Material Admin в качестве защиты от разговора другими способами, т.е. не через чат или микро.
Я вообще не подозревал MuteCheck, потому что там увидел только IsClientMuted.
Этот баг до сих пор остался. У нарушителей стоит пермамент на микро, но они спокойно пищят в него. Приходится их банить по причине "Обход наказания".
Я просто не верю в то, что это может быть из-за MuteCheck.
EDIT: И да, у меня всё это время не был установлен cURL. Хотя раньше аватарки работали и без него. В прошлых версиях что-то другое использовалось, не cURL?
Я просто не верю в то, что это может быть из-за MuteCheck.
Так Вы попробуйте ради эксперимента отключить на время, и станет понятно, в нём дело или нет.
И да, у меня всё это время не был установлен cURL. Хотя раньше аватарки работали и без него. В прошлых версиях что-то другое использовалось, не cURL?
в случае проблем, SB переключается на стандартные сокеты.
Установил cURL (думаю, что это даже необязательно было), очистил кэш аватарок. Их всё ещё нет.
Я сделал как тут https://github.com/SB-MaterialAdmin/Web/issues/224#issuecomment-493305926 так как я использую только новую северную часть и вот проблема

Не показывает количество предыдущих блокировок и если я при действующем муте буду добавлять этого же игрока, то веб не будет предупреждать, что игрок в муте. Как это исправить? И да, с мутами на сервере как и тут писали, тоже такой бред, что бывает игрок в муте или гаге начинает писать или болтать, как будто нет блокировки и если карту поменять, то мут начинает снова работать.
Я сделал как тут #224 (comment) так как я использую только новую северную часть и вот проблема
Не показывает количество предыдущих блокировок и если я при действующем муте буду добавлять этого же игрока, то веб не будет предупреждать, что игрок в муте. Как это исправить? И да, с мутами на сервере как и тут писали, тоже такой бред, что бывает игрок в муте или гаге начинает писать или болтать, как будто нет блокировки и если карту поменять, то мут начинает снова работать.
CrazyHackGUT Подскажи где исправить?