Помоги защититься от спама в микрофон.

Обсуждаем все, что относится к выделенным серверам *NIX (Unix, Linux) и Windows
Ответить
Сообщение
Автор
Аватара пользователя
GenyaArikado878
Сержант
Сержант
Сообщения: 62
Зарегистрирован: 19.11.2010
Поблагодарили: 1 раз

#1 Сообщение 09.01.2014, 15:14

Заходит нехороший человек и вкл микрофон(без звука). Народ выкидывает с ошибкой buffer overflow. Игра Zombie Panic Source.
Изображение

Изображение

Проект 787 Hard-Mod https://vkontakte.ru/source787servers

weinstreizeR
Эксперты no-Steam
Эксперты no-Steam
Сообщения: 2105
Зарегистрирован: 30.08.2011
Благодарил (а): 32 раза
Поблагодарили: 760 раз
Контактная информация:

#2 Сообщение 09.01.2014, 16:27

Админский mute не помогает?

Аватара пользователя
GenyaArikado878
Сержант
Сержант
Сообщения: 62
Зарегистрирован: 19.11.2010
Поблагодарили: 1 раз

#3 Сообщение 10.01.2014, 00:10

weinstreizeR
Даже банили. С новыми никами заходит.
Изображение

Изображение

Проект 787 Hard-Mod https://vkontakte.ru/source787servers

RU_6uK
Капитан
Капитан
Сообщения: 319
Зарегистрирован: 26.12.2009
Поблагодарили: 15 раз

#4 Сообщение 10.01.2014, 02:22

Можно посмотреть в сторону этого плагина: https://forums.alliedmods.net/showpost. ... tcount=144
Или каким-либо другим способом определять, когда клиент начал говорить, запускать таймер и проверять, как долго говорит клиент. Затем через нужный промежуток времени выдавать мут.
ИзображениеИзображение
/.ZoZo./ Zombie Zone - Серверы Left 4 Dead 2, Team Fortress 2, Killing Floor. Всегда рады хорошим игрокам!

Renaissance
Полковник
Полковник
Сообщения: 6942
Зарегистрирован: 03.06.2009
Благодарил (а): 2390 раз
Поблагодарили: 2807 раз
Контактная информация:

#5 Сообщение 10.01.2014, 08:41

А мут останавливает передачу голосовых данных или просто отключает их слышимость?
Просто если последнее, то мут не поможет.

Аватара пользователя
__A
Капитан
Капитан
Сообщения: 392
Зарегистрирован: 03.02.2009
Благодарил (а): 38 раз
Поблагодарили: 113 раз

#6 Сообщение 10.01.2014, 13:28

GenyaArikado878 писал(а):Даже банили.
Так в чем же проблема? У вас что бан по нику?)
Зачем такие игроки.

Аватара пользователя
GenyaArikado878
Сержант
Сержант
Сообщения: 62
Зарегистрирован: 19.11.2010
Поблагодарили: 1 раз

#7 Сообщение 10.01.2014, 16:22

BearDED
И по стиму и по ip банили.
Изображение

Изображение

Проект 787 Hard-Mod https://vkontakte.ru/source787servers

RU_6uK
Капитан
Капитан
Сообщения: 319
Зарегистрирован: 26.12.2009
Поблагодарили: 15 раз

#8 Сообщение 10.01.2014, 17:01

Renaissance писал(а):А мут останавливает передачу голосовых данных или просто отключает их слышимость?
Просто если последнее, то мут не поможет.
Передача данных на клиенты идет через сервер. Клиенты между собой не имеют прямого обмена данными, а ошибка переполнения буфера, как я понимаю, возникает на клиенте. Если выдать мут, то игроки перестанут получать данные от того игрока, значит в теории не будет и переполнения буфера у всех игроков.
В любом случае, попытка - не пытка. Проверить при желании можно.
ИзображениеИзображение
/.ZoZo./ Zombie Zone - Серверы Left 4 Dead 2, Team Fortress 2, Killing Floor. Всегда рады хорошим игрокам!

Аватара пользователя
GenyaArikado878
Сержант
Сержант
Сообщения: 62
Зарегистрирован: 19.11.2010
Поблагодарили: 1 раз

#9 Сообщение 11.01.2014, 12:14

RU_6uK
Мне подсказали поставить команду sv_allow_voice_from_file 0 и все это прекратится. Сейчас тестирую. Хак используется через HLDJ.
Изображение

Изображение

Проект 787 Hard-Mod https://vkontakte.ru/source787servers

Renaissance
Полковник
Полковник
Сообщения: 6942
Зарегистрирован: 03.06.2009
Благодарил (а): 2390 раз
Поблагодарили: 2807 раз
Контактная информация:

#10 Сообщение 11.01.2014, 13:18

GenyaArikado878
в принципе правильное решение, вряд ли там голосом вызывали краш.
Отпишись потом.

RU_6uK
Капитан
Капитан
Сообщения: 319
Зарегистрирован: 26.12.2009
Поблагодарили: 15 раз

#11 Сообщение 11.01.2014, 15:56

У нас эта команда очень давно прописана, но я все равно иногда слышу, как люди балуются звуками из hldj.
Можно еще поставить хук на консоль и ловить выполнение команд hldj, затем выдавать мут игроку.

Что-то вроде такого. Не проверял, как будет работать. Команды HLDJ еще надо добавить, не знаю их. Управление HLDJ идет через консоль клиента, значит клиент будет выполнять команды, которые можно определить с помощью плагина.
HLDJ Auto-Mute

Код: Выделить всё

#include <sourcemod>
#include <sdktools>

public Plugin:myinfo =
{
	name = "HLDJ Auto-Mute",
	author = "RU_6uK",
	description = "Mute player who using HLDJ",
	version = "0.1",
	url = "zo-zo.org"
}

new bool:isMuted[MAXPLAYERS+1] = false;

static const String:hldj_cmd_list[][] = {
	"hldj_command1",
	"hldj_command2",
	"hldj_command3"
};

public OnPluginStart()
{
	AddCommandListener(CMD_Listener);
}

public OnClientPostAdminCheck(client)
{
	if (!IsFakeClient(client)) isMuted[client] = false;
}

public Action:CMD_Listener(client, const String:command[], argc)
{
	if(client == 0 || !IsClientInGame(client) || IsFakeClient(client) || isMuted[client]) return Plugin_Continue;
	
	for(new i = 0; i < sizeof(hldj_cmd_list); ++i) {
		if(StrContains(command, hldj_cmd_list[i], false) != -1) {
			SetClientListeningFlags(client, VOICE_MUTED);
			isMuted[client] = true;
			return Plugin_Stop;
		}
	}
	
	return Plugin_Continue;
}
ИзображениеИзображение
/.ZoZo./ Zombie Zone - Серверы Left 4 Dead 2, Team Fortress 2, Killing Floor. Всегда рады хорошим игрокам!

Аватара пользователя
GenyaArikado878
Сержант
Сержант
Сообщения: 62
Зарегистрирован: 19.11.2010
Поблагодарили: 1 раз

#12 Сообщение 11.01.2014, 23:23

Renaissance
RU_6uK
Пока тихо. Сервер полон.))

Команда sv_allow_voice_from_file 0 полностью помогла. Тему можно закрывать.
Изображение

Изображение

Проект 787 Hard-Mod https://vkontakte.ru/source787servers

Ответить