Web icon indicating copy to clipboard operation
Web copied to clipboard

Объединение выдачи Мут+Гаг через Веб-панель

Open MAGNAT2645 opened this issue 6 years ago • 23 comments
trafficstars

При попытке выдать Мут+Гаг одновременно, указать этот тип блокировки при добавлении изображение

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

изображение

Было бы лучше, если бы этот способ выдачи создавал одну запись (с жёлтой иконкой) вместо 2 отдельных.

MAGNAT2645 avatar May 13 '19 14:05 MAGNAT2645

Было бы лучше, если бы этот способ выдачи создавал одну запись (с жёлтой иконкой) вместо 2 отдельных.

Тогда это сломает поддержку старой серверной части. Это пока недопустимо.

CrazyHackGUT avatar May 13 '19 19:05 CrazyHackGUT

а если попробовать сделать коммит в отдельную ветку?

MAGNAT2645 avatar May 14 '19 02:05 MAGNAT2645

Пока нет времени заняться этим, но в целом, чтобы сделать одной записью, надо сделать следующее. Заменить следующий кусок кода: https://github.com/SB-MaterialAdmin/Web/blob/45d0f5b8b83a37b21807efd15669a9c0673456ac/web_upload/includes/sb-callback.php#L3811-L3834 На это: https://gist.github.com/CrazyHackGUT/9beb8dd537702b722389c610b4edbdd9

CrazyHackGUT avatar May 17 '19 03:05 CrazyHackGUT

Я не пойму почему, но веб-блокировки коммуникаций (если блокировать через админ-меню в игре либо серверной командой, то блокирует нормально) не работают. Они есть в БД, но не блокируют микро. Перед выдачей происходит поиск игрока на сервере. Пишет, что игрока нет на сервере, даже если он есть.

MAGNAT2645 avatar May 21 '19 10:05 MAGNAT2645

изображение

MAGNAT2645 avatar May 21 '19 10:05 MAGNAT2645

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

MAGNAT2645 avatar May 21 '19 10:05 MAGNAT2645

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

Происходит это: изображение

Пустая страница, нельзя нажать на какую-либо кнопку (кроме логотипа SourceBans), но при этом блокировка всё таки удаляется.

MAGNAT2645 avatar May 21 '19 12:05 MAGNAT2645

@MAGNAT2645 если что...

https://github.com/SB-MaterialAdmin/Web/issues/222#issuecomment-481881714

megoRU avatar May 21 '19 12:05 megoRU

Ну ладно ещё это, не мешает особо, потому что удалять блокировки часто не приходится. Просто не пойму, почему блокировки коммуникаций толком не работают. Давным давно ставил пермамент мут некоторым игрокам, а они могут спамить этими СаундПадами до сих пор. Если выдать сайленс, то микро может и не будет работать больше, но зато в чат можно свободно спамить дальше.

Я не пойму как этот баг происходит конкретно.

MAGNAT2645 avatar May 21 '19 12:05 MAGNAT2645

Пишет, что игрока нет на сервере, даже если он есть.

Так работает движок. Устроить нормальную коммуникацию веб-сервера и игрового чисто на уровне PHP и ркона - невозможно.

а в БД (т.е. в списке блоков) блокировки нету.

Так Вы именно в БД смотрели, или только в веб-панели? Лучше всего смотреть в БД, если не уверены. Вообще, если происходит ошибка, СБ падает с ошибкой. А тут поскольку был и поиск игрока, и запись в логе появилась - запрос явно прошёл успешно, либо база не вернула ошибку (кривая конфигурация?).

Пустая страница, нельзя нажать на какую-либо кнопку (кроме логотипа SourceBans), но при этом блокировка всё таки удаляется.

Удаления происходить не должно. Пустая страница отображается только если происходит ошибка безопасности (когда SB сомневается, что это именно Вы сами сделали запрос).

Если происходят проблемы с мутами (когда они не работают), а ошибок в логах нет - показывайте плагин-лист. Это явно похоже на конфликт, когда один плагин пытается переопределить состояние возможности "разговаривать" у игрока.

CrazyHackGUT avatar May 22 '19 04:05 CrazyHackGUT

Я видел, что в 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 у меня только среди сурсов есть, но на сервере он не используется.

MAGNAT2645 avatar May 22 '19 12:05 MAGNAT2645

Я видел, что в SourceBans++ 1.6.3 перешли на SourceQuery

Тут - она же. Мы на неё перешли ещё до того, как это стало мейнстримом.

В БД мута походу тоже нет.

А так?

CrazyHackGUT avatar May 22 '19 15:05 CrazyHackGUT

Теперь блокировка появилась. изображение

Но я так и не пойму, почему мут и гаг не работают корректно. Бан работает отлично, не видел случаев обхода блокировки.

С Мутом и гагом есть такая дрянь. Как я понял, если добавить мут с игрового сервера, то он вроде как работает. И опять же, есть игроки с пермамент мутом, но они могут спамить СаундПадом.

С гагом что-то подобное тоже есть, но происходит вроде только если выдаёшь Сайленс.

MAGNAT2645 avatar May 22 '19 16:05 MAGNAT2645

Гаг видимо не работает, если его выдать через Веб. изображение изображение (Сорян, я только щас заметил, что это мут а не гаг)

И ещё, не по теме: не отображаются аватарки со Стима. Я пробовал очистить кэш аватарок, но это ничего не изменило. Я вижу всегда подобную (одну из) аватарку: изображение

MAGNAT2645 avatar May 22 '19 16:05 MAGNAT2645

почему мут и гаг не работают корректно.

Если происходят проблемы с мутами (когда они не работают), а ошибок в логах нет - показывайте плагин-лист. Это явно похоже на конфликт, когда один плагин пытается переопределить состояние возможности "разговаривать" у игрока.

Если у Вас там онли приват, и Вы боитесь опубликовать полный список - пишите в личку. Гадать на картах тут, увы, сложно.

не отображаются аватарки со Стима. Я пробовал очистить кэш аватарок, но это ничего не изменило.

Это ничего и не изменит, если Вы не прописали ключ от Steam Web API, либо он прописан неправильно.

CrazyHackGUT avatar May 23 '19 06:05 CrazyHackGUT

А где ключ можно поменять? В том же 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

MAGNAT2645 avatar May 23 '19 11:05 MAGNAT2645

А где ключ можно поменять? В том же data/config.php?

Угу.

Я создал новый ключ и поместил в config.php, потом опять очистил кэш аватарок, но это всё равно не помогло.

А cURL на веб-сервере есть? Работа со Steam Web API тестировалась, и работает гарантированно только с ним, хотя в случае проблем, SB переключается на стандартные сокеты.

Видя приличное кол-во самописа/дописанных плагинов, даже спрашивать не буду про них. Поверю в то, что там всё хорошо, и размута не происходит. Около 5-и лет назад испытывал проблему со слетающими мутами из-за [ANY] MuteCheck. К слову, сервер тогда был именно в TF2. Попробуйте его отключить на время.

CrazyHackGUT avatar May 23 '19 18:05 CrazyHackGUT

У меня аватарки работали на стабильном релизе последнем, это стало происходить именно после установки из master ветки.

Мои плагины могут только если использовать хук для чата, чтобы вылавливать сообщения. Как-то влиять на микро точно не могут. У меня даже один плагин использует Material Admin в качестве защиты от разговора другими способами, т.е. не через чат или микро.

Я вообще не подозревал MuteCheck, потому что там увидел только IsClientMuted.

MAGNAT2645 avatar May 24 '19 02:05 MAGNAT2645

Этот баг до сих пор остался. У нарушителей стоит пермамент на микро, но они спокойно пищят в него. Приходится их банить по причине "Обход наказания".

Я просто не верю в то, что это может быть из-за MuteCheck.

EDIT: И да, у меня всё это время не был установлен cURL. Хотя раньше аватарки работали и без него. В прошлых версиях что-то другое использовалось, не cURL?

MAGNAT2645 avatar Jun 11 '19 17:06 MAGNAT2645

Я просто не верю в то, что это может быть из-за MuteCheck.

Так Вы попробуйте ради эксперимента отключить на время, и станет понятно, в нём дело или нет.

И да, у меня всё это время не был установлен cURL. Хотя раньше аватарки работали и без него. В прошлых версиях что-то другое использовалось, не cURL?

в случае проблем, SB переключается на стандартные сокеты.

CrazyHackGUT avatar Jun 11 '19 21:06 CrazyHackGUT

Установил cURL (думаю, что это даже необязательно было), очистил кэш аватарок. Их всё ещё нет.

MAGNAT2645 avatar Jun 12 '19 06:06 MAGNAT2645

Я сделал как тут https://github.com/SB-MaterialAdmin/Web/issues/224#issuecomment-493305926 так как я использую только новую северную часть и вот проблема img-2019-07-14-19-44-03

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

IIIef avatar Jul 14 '19 16:07 IIIef

Я сделал как тут #224 (comment) так как я использую только новую северную часть и вот проблема img-2019-07-14-19-44-03

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

CrazyHackGUT Подскажи где исправить?

IIIef avatar Apr 13 '20 04:04 IIIef