Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

> Важная информация

Перед тем как создать тему или задать вопрос, ознакомьтесь с данной темой, там собраны наиболее распространенные уязвимости и способы устранения.
Так же не поленитесь воспользоваться поиском, вполне возможно, что ваш вопрос уже поднимался на форуме.
При создании новой темы уделите внимание ее названию, оно должно кратко описывать суть вашего вопроса/проблемы. Все вновь созданные темы с названиями "Помогите", "Объясните", "Подскажите" и т.д. будут удалены, а их авторы наказаны.

Кик игроков с ником ввиде IP адреса

supergamer
сообщение 25.5.2019, 15:46
Сообщение #1
Стаж: 9 лет 9 месяцев

Сообщений: 257
Благодарностей: 37
Полезность: < 0

Здравствуйте.

Задолбали игроки с IP шником в имени - то реклам боты, то голимые спамеры.
Есть такой плагин. Как его переделать, чтобы кикало не по определенным IP, а по любым IP
в диапазоне XXX.XXX.XXX.XXX

Код:
#include <amxmodx>

public plugin_init()
{
register_plugin("Spamlog", "1.6", "prostotema");
}

public client_putinserver(id)
{
new oldname[32];

get_user_info(id, "name", oldname, charsmax(oldname));

if(contain(oldname, "54.102.12.50") != -1 || contain(oldname, "51.77.163.100") != -1)
{
new ip[25]; get_user_ip(id, ip, 24);
log_to_file("players.log", "Player %s [%s] dropped", oldname, ip);
server_cmd("kick #%d ^"reklamabot^"", get_user_userid(id));
}

return PLUGIN_HANDLED;
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя jtiq
сообщение 25.5.2019, 15:53
Сообщение #2


Иконка группы

Стаж: 18 лет

Сообщений: 1717
Благодарностей: 767
Полезность: 979

Меценат Меценат

Когда то давно делал для выявления подсетей
Но это не для ников, а для IP игрока. Можно переделать немного
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
podbot
сообщение 25.5.2019, 15:56
Сообщение #3
Стаж: 11 лет

Сообщений: 1242
Благодарностей: 366
Полезность: < 0

рекламбот?
просто проверку на файл сделай
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя dithol
сообщение 25.5.2019, 15:57
Сообщение #4
Стаж: 9 лет 1 месяц

Сообщений: 2308
Благодарностей: 804
Полезность: 791

supergamer, можно использовать плагин, который кикает игрока, если в его нике больше N-го кол-ва цифр. Kick Spamers


Deathinthehazeoflies
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
podbot
сообщение 25.5.2019, 15:59
Сообщение #5
Стаж: 11 лет

Сообщений: 1242
Благодарностей: 366
Полезность: < 0

dithol, можно еще проверять кто сел на бутылку
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя dithol
сообщение 25.5.2019, 16:00
Сообщение #6
Стаж: 9 лет 1 месяц

Сообщений: 2308
Благодарностей: 804
Полезность: 791

Цитата(podbot @ 25.5.2019, 16:59) *
dithol, можно еще проверять кто сел на бутылку

то, что ты с неё давно не слезаешь, всем уже известно


Deathinthehazeoflies
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
podbot
сообщение 25.5.2019, 16:04
Сообщение #7
Стаж: 11 лет

Сообщений: 1242
Благодарностей: 366
Полезность: < 0

dithol, моя сладкая, пошли в гостиную, кое-что покажу

Отредактировал: Fullserver, - 25.5.2019, 16:06
Причина: Выдано устное предупреждение!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя jtiq
сообщение 25.5.2019, 16:19
Сообщение #8


Иконка группы

Стаж: 18 лет

Сообщений: 1717
Благодарностей: 767
Полезность: 979

Меценат Меценат

supergamer, попробуй, за любой IP адрес в нике должен кикать
kick_ip_nick.sma
Код:
#include <amxmodx>
#include <regex>

#define PLUGIN_NAME "Kick IP nick"
#define PLUGIN_VERSION "1.0"
#define PLUGIN_AUTHOR "jtiq"

#define REGEX_TAG_PATTERN "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"

new Regex:issetIp, g_regex_return, error[128]

public plugin_init() {
register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
}

public client_putinserver(id) {
new username[44]
get_user_name(id, username, 43)

issetIp = regex_match(username, REGEX_TAG_PATTERN, g_regex_return, error, 127)

if (issetIp >= REGEX_OK) {
new ip[22], i = 0
regex_substr(issetIp, i, ip, 21)

server_print("[%s] Player ^"%s^" contain IP %s", PLUGIN_NAME, username, ip)

log_to_file("kick_ip.log", "Player ^"%s^" contain IP %s", username, ip);
server_cmd("kick #%d ^"Kick IP^"", get_user_userid(id));
}
}


Проверил на своём тестовом сервере, работает
Cкрытый текст


Отредактировал: jtiq, - 25.5.2019, 17:42
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Salpson
сообщение 25.5.2019, 17:47
Сообщение #9


Иконка группы

Стаж: 13 лет
Город: Ульяновск

Сообщений: 1214
Благодарностей: 759
Полезность: 1065

Кикает за IP и доменные имена в никнейме игрока

Код:

#include <amxmodx>
#include <regex>

#pragma semicolon 1

const ERROR_STRLEN = 2;
const AUTHID_STRLEN = 24;
const NAME_STRLEN = 32;
const PATH_STRLEN = 64;
const MESSAGE_STRLEN = 512;
const TIME_STRLEN = 32;
const ELLIPSES_ARG = 4;

new g_sLogsDir[PATH_STRLEN];

new g_iReturn;

new Regex:g_rPattern;

public plugin_init() {
register_plugin("Spambot Kicker", "1.0", "Javekson");
}

public plugin_cfg() {
get_localinfo("amxx_logs", g_sLogsDir, charsmax(g_sLogsDir));
add(g_sLogsDir, charsmax(g_sLogsDir), "/spambot_kicker");
if(!dir_exists(g_sLogsDir)) mkdir(g_sLogsDir);

new sError[ERROR_STRLEN];
g_rPattern = regex_compile("(?:\s*\d+\s*\.){3}|(?:\w{2,}\s*\.\s*(su|ru|by|kz|ua|eu|bg|de|fr|lt|lv|me|pl|ro|us|ws|com|net|org|biz|name|inf
o)\b)", g_iReturn, sError, charsmax(sError));
}

public client_putinserver(id) {
new sAuthID[AUTHID_STRLEN], sName[NAME_STRLEN];
get_user_authid(id, sAuthID, charsmax(sAuthID));
get_user_name(id, sName, charsmax(sName));

if(regex_match_c(sName, g_rPattern, g_iReturn)) {
server_cmd("kick #%d ^"Реклама в никнейме^"", get_user_userid(id));
Logging(g_sLogsDir, "spambot_kicker_", "^"%-32s %-32s Реклама в никнейме^"", sAuthID, sName);
}
}

public plugin_end() {
regex_free(g_rPattern);
}

stock Logging(const sLogsDir[], const sFileName[], const sMessage[], any:...) {
new sFmtMsg[MESSAGE_STRLEN], sTime[TIME_STRLEN], sLogFile[PATH_STRLEN + 32], iFileID;
vformat(sFmtMsg, charsmax(sFmtMsg), sMessage, ELLIPSES_ARG);
get_time("%m.%Y.log", sTime, charsmax(sTime));
formatex(sLogFile, charsmax(sLogFile), "%s/%s%s", sLogsDir, sFileName, sTime);
iFileID = fopen(sLogFile, "at");
get_time("%d.%m.%Y - %H:%M:%S", sTime, charsmax(sTime));
fprintf(iFileID, "^"%s^" %s^n", sTime, sFmtMsg);
fclose(iFileID);
}


Отредактировал: Salpson, - 25.5.2019, 17:48
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
supergamer
сообщение 26.5.2019, 15:02
Сообщение #10
Стаж: 9 лет 9 месяцев

Сообщений: 257
Благодарностей: 37
Полезность: < 0

Что за файл #include <regex>
Это для ReHLDS??
мне нужно под обычный HLDS
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя energydance
сообщение 26.5.2019, 16:03
Сообщение #11


Стаж: 10 лет

Сообщений: 2809
Благодарностей: 740
Полезность: 213

Цитата(supergamer @ 26.5.2019, 18:02) *
Что за файл #include <regex>
Это для ReHLDS??
мне нужно под обычный HLDS

#include <regex> для хлдс подходит вообще - то cbf1b2bfde1a.gif


Press enter to exit ...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя dehost
сообщение 26.5.2019, 17:58
Сообщение #12


Стаж: 13 лет

Сообщений: 3147
Благодарностей: 1431
Полезность: 486

Цитата(supergamer @ 26.5.2019, 17:02) *
Что за файл #include <regex>
Это для ReHLDS??
мне нужно под обычный HLDS

А в чем, собственно в данном случае, разница между рехлдс и хлдс? Там что компиляторы разные или что?


Золотое правило нравственности:
"Относись к людям так, как хочешь, чтобы относились к тебе."
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Metal Messiah
сообщение 27.5.2019, 12:41
Сообщение #13


Иконка группы

Стаж: 13 лет

Сообщений: 2458
Благодарностей: 1482
Полезность: 772

HostGame.cf
Вы с такими плагинами совсем без онлайна останетесь good.gif
Лучше бить только спамеров, реклама в нике не особо то и мешает. Самый эффективный плагин против рекламы на данный момент - StopServerSpam


Полезные публикации - ссылки у меня в профиле. Ссылка на плагин против спама на сервере StopServerSpam там же.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя jtiq
сообщение 27.5.2019, 18:56
Сообщение #14


Иконка группы

Стаж: 18 лет

Сообщений: 1717
Благодарностей: 767
Полезность: 979

Меценат Меценат

Добавил:
- при изменении никнейма тоже будет кикать
kick_ip_nick.sma
Код:
#include <amxmodx>
#include <regex>

#define PLUGIN_NAME "Kick IP nick"
#define PLUGIN_VERSION "1.0.2"
#define PLUGIN_AUTHOR "jtiq"

#define REGEX_IP_PATTERN "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"

new Regex:issetIp, g_regex_return, error[128]

public plugin_init() {
register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)
}

public client_putinserver(id) {
new username[44]
get_user_name(id, username, 43)

issetIp = regex_match(username, REGEX_IP_PATTERN, g_regex_return, error, 127)

if (issetIp >= REGEX_OK) {
new ip[22], i = 0
regex_substr(issetIp, i, ip, 21)

server_print("[%s] Player ^"%s^" contain IP: %s", PLUGIN_NAME, username, ip)

log_to_file("kick_ip.log", "Player ^"%s^" contain IP: %s", username, ip);
server_cmd("kick #%d ^"Kick IP^"", get_user_userid(id));
}
}

public client_infochanged(id) {
new username_new[44], username_old[44]

get_user_name(id, username_old, 43)
get_user_info(id, "name", username_new, 43)

if (!equal(username_new, username_old)) {
issetIp = regex_match(username_new, REGEX_IP_PATTERN, g_regex_return, error, 127)

if (issetIp >= REGEX_OK) {
new ip[22], i = 0
regex_substr(issetIp, i, ip, 21)

server_print("[%s] Player ^"%s^" contain IP: %s", PLUGIN_NAME, username_new, ip)

log_to_file("kick_ip.log", "Player ^"%s^" contain IP: %s", username_new, ip);
server_cmd("kick #%d ^"Kick IP^"", get_user_userid(id));
}
}
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
csuser
сообщение 29.5.2019, 12:40
Сообщение #15
Стаж: 9 лет

Сообщений: 1155
Благодарностей: 309
Полезность: 130

И по всяким голимым странам добавить.
Код:
	new name[32], ip[32];
new s_Country3[4];
new userid2;

get_user_name(id,name,31);
get_user_ip(id, ip, 31, 1);
geoip_code3(ip, s_Country3);
userid2 = get_user_userid(id);

if(containi(s_Country3, "USA") != -1)
{
server_cmd("kick #%d", userid2);
log_to_file("players_ip.log", "%s BAD_COUNTRY", name);
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Vaasiliy
сообщение 11.1.2022, 11:53
Сообщение #16
Стаж: 4 года 5 месяцев

Сообщений: 7
Благодарностей: 1
Полезность: 0

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


https://championcasino.net/
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Vaasiliy
сообщение 13.1.2022, 13:51
Сообщение #17
Стаж: 4 года 5 месяцев

Сообщений: 7
Благодарностей: 1
Полезность: 0

а плагин точно помагает


https://championcasino.net/
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Gecko
сообщение 14.1.2022, 11:31
Сообщение #18
Стаж: 7 лет 4 месяца

Сообщений: 1247
Благодарностей: 518
Полезность: 345

Цитата(Vaasiliy @ 13.1.2022, 13:51) *
а плагин точно помагает

Ваася, ты бы ещё по старше тему нашёл чтобы засветить свой ***-сайт онлайн казино.


Не отвечаю на ЛС.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 3 раз
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: