Ban by IP в Sourcemod

Обсуждаем все, что относится к выделенным серверам *NIX (Unix, Linux) и Windows
Сообщение
Автор
Аватара пользователя
kron_12345
Нович0к
Нович0к
Сообщения: 2
Зарегистрирован: 25.05.2010

#16 Сообщение 25.05.2010, 11:22

=G^0spr0m= писал(а):Всем доброго времени суток.
Не могли бы вы посоветовать мне, как лучше добавить в SourceMod функцию бана по IP...
Изучив basebans.sp и ban.sp я понял, что это реализовать можно, но как ни пробовал, ничего не получалось :dash:
Пожалуйста, помогите мне, подкиньте соответствующий плагин или дайте наставления по поводу редактирования *.sp файлов, желательно не предлагайте отредактировать adminmenu_custom.txt
P. S. Плиз, не ругайте меня, если тема поднималась, вроде я полазил по форуму ничего не нашел :)
Опишу самый простой способ этого добиться :

1) Находим в своём сервере файл css_serv/cstrike/addons/sourcemod/scripting/basebans/ban.sp
2) Открываем его редактором, допустим mcedit(linux/unix) или notepad(блокнот windows)
3) находим в нём строки

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

	if (reason[0] == '\0')
	{
		BanClient(target, time, BANFLAG_AUTO, "Banned", "Banned", "sm_ban", client);
	}
	else
	{
		BanClient(target, time, BANFLAG_AUTO, reason, reason, "sm_ban", client);
	}
4) В обоих вызовах функции BanClient третий параметр BANFLAG_AUTO заменяем на BANFLAG_IP, в результате у нас получается :

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

if (reason[0] == '\0')
	{
		BanClient(target, time, BANFLAG_IP, "Banned", "Banned", "sm_ban", client);
	}
	else
	{
		BanClient(target, time, BANFLAG_IP, reason, reason, "sm_ban", client);
	}
5) Сохраняем файл
6) Выходим из каталога basebans, то есть, переходим в css_serv/cstrike/addons/sourcemod/scripting/
7) !Этот шаг только для linux/unix! вендузятники пропускают его ! ищем в нём файлы compile.sh и spcomp, если они ещё не являются исполняемыми, делаем их таковыми

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

$ chmod +x ./compile.sh ./spcomp
8) Перекомпилируем плагин BaseBans
Linux/Unix:

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

$ ./compile.sh basebans.sp
Compiling basebans.sp...SourcePawn Compiler 1.3.2
Copyright (c) 1997-2006, ITB CompuPhase, (C)2004-2008 AlliedModders, LLC

Header size:           3252 bytes
Code size:             9996 bytes
Data size:             3356 bytes
Stack/heap size:      16384 bytes; Total requirements:   32988 bytes
Windows:

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

C:\srcds\cstrike\addons\sourcemod\scripting>compile.exe basebans.sp
//SourceMod Batch Compiler
// by the SourceMod Dev Team


//// basebans.sp
// Header size:           3252 bytes
// Code size:             9996 bytes
// Data size:             3356 bytes
// Stack/heap size:      16384 bytes; Total requirements:   32988 bytes
//
// Compilation Time: 0,31 sec
// ----------------------------------------

Press enter to exit ...
Если всё пройдет хорошо, вывод будет таким(ну или примерно таким).


9) Видим что в каталоге css_serv/cstrike/addons/sourcemod/scripting/ появился новый каталог compiled, входим в него видим новоиспечённый basebans.smx.
10) Копируем скомпилированный basebans.smx в каталог css_serv/cstrike/addons/sourcemod/plugins/ заменяя тот что есть(можно старого basebans.smx бекап сделать. На всякий случай).
11) Перезапускам сервер и видим что всё хорошо :-)

P.S. Если будете делать так как написано и без самодеятельности, то у вас будет работать бан по IP из стандартного админ-меню.

TopServers
Лейтенант
Лейтенант
Сообщения: 112
Зарегистрирован: 09.02.2010
Поблагодарили: 17 раз

#17 Сообщение 25.05.2010, 23:44

Ему как-бэ добавить надо было, а не изменить со стимИД на IP.
ммм, посути бан по steamid на сервах с эмулем равен бану по ip. Я советую поставить эмуль и не париться.
Эмуль эмулю рознь, так же и на одном IP стимID может быть разный.
Не понимаю, чё не устраивает. У меня банлист по steam-id, который в свою очередь генерится по ip игрока.
см. выше.

да и посту уже почти 4 месяца, наверно разобрался паренёк)

Аватара пользователя
kron_12345
Нович0к
Нович0к
Сообщения: 2
Зарегистрирован: 25.05.2010

#18 Сообщение 28.05.2010, 11:47

TopServers писал(а):Ему как-бэ добавить надо было, а не изменить со стимИД на IP.
Во первых, как я считаю, ему нужно было именно то что я описал, так как он отказывался от редактирования adminmenu_custom. Но не в этом суть.
TopServers писал(а):да и посту уже почти 4 месяца, наверно разобрался паренёк)
Во вторых, смысл форума не в только и не столько в том чтобы решать проблемы отдельно взятого человека, а скорее в том чтобы разбирать типовые проблемы и находить к ним типовые решения.
Ранее, за день до моего поста я гуглил по этой теме и наткнулсяф на эту ветку, но в ней небыло решения, я сам расковырялся, и его добавил, чтобы другие люди идущие тем же путём, это решение нашли и не тратили своё время зря.

-=KawMap=-
Сержант
Сержант
Сообщения: 74
Зарегистрирован: 28.11.2010

#19 Сообщение 24.02.2011, 10:20

Ребята дайте кто то нормальное рабочее меню.. а не то, то что на первой странице не работает... При этом на первой там ещё уйма ошибок с этими кавычками((( через compile даже не проходит(((
И за одно если кто то знает как бану по ip назначить другой флаг
Последний раз редактировалось -=KawMap=- 24.02.2011, 11:08, всего редактировалось 2 раза.
Изображение
Изображение

Аватара пользователя
crazyvolk
Капитан
Капитан
Сообщения: 332
Зарегистрирован: 01.07.2009
Благодарил (а): 142 раза
Поблагодарили: 68 раз
Контактная информация:

#20 Сообщение 09.04.2012, 16:40

А подскажите, если я напишу так:

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

if (reason[0] == '\0')
   {
      BanClient(target, time, BANFLAG_IP, "Banned", "Banned", "sm_ban", client);
      BanClient(target, time, BANFLAG_AUTO, "Banned", "Banned", "sm_ban", client);
   }
   else
   {
      BanClient(target, time, BANFLAG_IP, reason, reason, "sm_ban", client);
      BanClient(target, time, BANFLAG_AUTO, reason, reason, "sm_ban", client);
   }
будет ли баннить и по АйПи и по СтимИД?
А то сервер но-стим, но заходят как со стима так и с но-стима клиенты, а если забанишь по одному из этих критериев,
то непроходит и 5 мин опять заходят, а так будет напряжно сразу менять и то и другое!
Изображение У меня уже Бриллиантовый, а у тебя такой сертификат????
Здесь все обо мне!!!
Изображение
Изображение

TopServers
Лейтенант
Лейтенант
Сообщения: 112
Зарегистрирован: 09.02.2010
Поблагодарили: 17 раз

#21 Сообщение 09.04.2012, 18:13

Сервер версии 34 ?

Ответить