AMX MOD X
Суббота, 20.04.2024, 19:22:52



Приветствую Вас Гость | RSS
[ Главная ] [ MAX Players per IP [v0.4.2] - AMX Mod X Форум ] [ Регистрация ] [ Вход ]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/

  • Страница 1 из 1
  • 1
Модератор форума: slogic, AlMod  
AMX Mod X Форум » Плагины » Готовые плагины » MAX Players per IP [v0.4.2] (ограничение max количества игроков играющих с одного IP)
MAX Players per IP [v0.4.2]
ArgusДата: Вторник, 27.05.2008, 18:54:27 | Сообщение # 1
AMXModX Fan
Группа: Cупер-модеры
Сообщений: 379
Репутация: 8
Статус: Не в сети
MAX Players per IP [v0.4.2]

Суть:
Плагин ограничивает максимальное количество игроков способных зайти с одного IP адреса на сервер. Создавался с целью ограничить доступ на сервер игрокам играющим с одного компьютерного зала, с одного модема и т.д.

Описание:
Устанавливаем максимально допустимое значение игроков с одного IP адреса. При превышении этого значения "лишний" игрок при коннекте будет кикнут.

Метод работы:
При коннекте игрока его IP сравнивается с IP игроков находящихся на сервере. При достижении максимально разрешенного количества совпадений "коннектящийся" игрок кикается.

Требования:
* CS 1.6
* AMXMODX v1.76d (или другой версии)

Установка:
* скачайте плагин. разархивируйте.
* расположите playersperip.amxx в .../cstrike/addons/amxmodx/plugins
* разместите строку "playersperip.amxx" в файле .../cstrike/addons/amxmodx/configs/plugins.ini

Переменные:
amx_perip <0|1> (по-умолчанию=1) - выкл|вкл функциональность плагина.
amx_perip_max <количество игроков> (по-умолчанию=2) - максимально допустимое количество игроков с одного IP адреса.

Исходники:

Code
//amx_perip 0/1 - enable/disable plugin
//amx_perip_max 1-... - how many players are acceptable from one ip
//http://amxmodx.ucoz.ru/forum/4-1822-1

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "MAX Players Per IP"
#define VERSION "0.4.2"
#define AUTHOR "Argus & DaTa"

#define IP_SIZE  16
#define MAXPLAYERS    32

new const g_szKickString[] = "kick #%d ^"Sorry, there are too many players from your IP address^""
new g_aszIp[MAXPLAYERS+1][IP_SIZE]
new g_maxplayers
new g_pcvar_amx_perip, g_pcvar_amx_perip_max

public plugin_init()
{
   register_plugin(PLUGIN, VERSION, AUTHOR)
     
   g_pcvar_amx_perip    = register_cvar("amx_perip", "1")
   g_pcvar_amx_perip_max    = register_cvar("amx_perip_max", "2")
     
   g_maxplayers = get_maxplayers()
}

public client_putinserver(id)
{
   if(  !get_pcvar_num(g_pcvar_amx_perip)  )
    return PLUGIN_CONTINUE

   if (access(id, ADMIN_RESERVATION))
   {
    return PLUGIN_CONTINUE
   }

   get_user_ip(id, g_aszIp[id], IP_SIZE - 1, 1)
     
   static i, iCounter
   iCounter = 1    //Connecter Player
   for(i = 1; i <= g_maxplayers; i++)
   {
    if(  !is_user_connected(i) || i == id  )
     continue
      
    if(  equal(g_aszIp[id], g_aszIp[i])  )
     iCounter++
   }
     
   if(  iCounter > get_pcvar_num(g_pcvar_amx_perip_max)  )
    server_cmd(g_szKickString, get_user_userid(id))
     
   return PLUGIN_CONTINUE
}

Скачать плагин и исходник


Правила форума
Поиск плагинов
Последние сообщения форума
 
JokerДата: Вторник, 27.05.2008, 19:25:58 | Сообщение # 2
Генерал-майор
Группа: Пользователи
Сообщений: 375
Репутация: 5
Статус: Не в сети
Сильно ли будет этот плагин нагружать сервер? Это самое сравнивание IP адресов не будет влиять на работу сервера (при максимально количестве игрково)?

One death is a Tragedy
One million is a Statistic...
 
DaTaДата: Вторник, 27.05.2008, 19:54:22 | Сообщение # 3
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Репутация: 16
Статус: Не в сети
Quote
for (i = 0; i <= maxpl; ++i)
{
get_user_ip(i,AuthIP,16,1)
player = find_player("d",AuthIP)
if (player)
{
if (equal(ip,AuthIP))
count++
}//if (player)
}//for

этот код не подсчитает в переменную count сколько игроков с таким же айпи уже играют на сервере, советую реорганизовать его
------------------
используй pcvar, так как client_connect довольно часто вызывается
 
VENДата: Вторник, 27.05.2008, 20:24:53 | Сообщение # 4
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
Quote
Сильно ли будет этот плагин нагружать сервер? Это самое сравнивание IP адресов не будет влиять на работу сервера (при максимально количестве игрково)?
Это не "тяжелый" плагин, так что беспокойства излишни, однако, я бы рекомендовал автору кэшировать IP-адрес клиента в специально отведенный массив адресов единожды (например, при входе на сервер), т.к. получение неизменных данных более одного раза не является рациональным.
 
DaTaДата: Вторник, 27.05.2008, 22:59:34 | Сообщение # 5
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Репутация: 16
Статус: Не в сети
вот тебе возможный вариант решения, но я не проверял работает ли он
Прикрепления: max_connects_pe.sma (1.2 Kb)
 
ArgusДата: Четверг, 02.10.2008, 01:09:24 | Сообщение # 6
AMXModX Fan
Группа: Cупер-модеры
Сообщений: 379
Репутация: 8
Статус: Не в сети
Quote (DaTa)
вот тебе возможный вариант решения, но я не проверял работает ли он

во, спасибо, DaTa! +
твой вариант намного удачнее. потестил - всё ок.
утверждаю его.

Добавлено (2008-10-02, 1:09 Am)
---------------------------------------------
02.10.2008
release v0.4.2
- добавлен иммунитет для игроков с флагом "b".


Правила форума
Поиск плагинов
Последние сообщения форума
 
max_ripДата: Четверг, 02.10.2008, 12:39:10 | Сообщение # 7
Подполковник
Группа: Пользователи
Сообщений: 147
Репутация: 0
Статус: Не в сети
если правильно подумать, то неплохобы еще вайт лист добавить.
#ip количество разрешенных коннектов

192.168.0.1 20
а еще если добавить масоки под сетей, то вообще круто было бы).

 
ArgusДата: Четверг, 02.10.2008, 13:09:41 | Сообщение # 8
AMXModX Fan
Группа: Cупер-модеры
Сообщений: 379
Репутация: 8
Статус: Не в сети
Quote (max_rip)
если правильно подумать, то неплохобы еще вайт лист добавить.
#ip количество разрешенных коннектов

192.168.0.1 20
а еще если добавить масоки под сетей, то вообще круто было бы).


- дело в том, что вайт лист реализовывается таким образом, что привилегированным игрокам выдаётся флаг "b", ибо другими методами его никак не отличишь от других непривилегированных игроков играющих с этого же IP. поэтому, логичный вопрос - какие идентификаторы должен содержать этот самый "вайт лист"? непонятно.
+ на счёт "ip количество разрешенных коннектов" - тут нужно конфиг создавать, в котором должны находится ip, для которых общая граница max количества устанавливается индивидуально.
+ маски подсетей тоже хорошая идея.


Правила форума
Поиск плагинов
Последние сообщения форума
 
max_ripДата: Пятница, 03.10.2008, 02:36:35 | Сообщение # 9
Подполковник
Группа: Пользователи
Сообщений: 147
Репутация: 0
Статус: Не в сети
Quote (Argus)
- дело в том, что вайт лист реализовывается таким образом, что привилегированным игрокам выдаётся флаг "b", ибо другими методами его никак не отличишь от других непривилегированных игроков играющих с этого же IP. поэтому, логичный вопрос - какие идентификаторы должен содержать этот самый "вайт лист"? непонятно.
+ на счёт "ip количество разрешённых коннектов" - тут нужно конфиг создавать, в котором должны находится ip, для которых общая граница max количества устанавливается индивидуально.

э, не совсем вы меня правильно поняли+). Это один пункт такой +). Я его просто вайт листом обозвал +).
убиваем одним конфигом всех зайцев.
при
192,168,1,0 0 #в этой сети нет ограничений
192,168,2,0 10 #в этой сети максимум 10
ну еще маски дописать.
Но мне кажется, лучше по умолчанию всех пускать, а в конфиге писать только те сети которые надо блочить.
М.б. даже сделать два режима, работы:
-использовать какой-то общий лимит, и остальных по списку конфига уточнять
-все подключаются спокойно, кроме тех кто содержится в списке.
:D
 
mozartДата: Воскресенье, 16.11.2008, 13:35:17 | Сообщение # 10
Лейтенант
Группа: Пользователи
Сообщений: 46
Репутация: 0
Статус: Не в сети
супер ! такое как ра3 искал !!!!
 
F4RR3LLДата: Воскресенье, 16.11.2008, 13:37:33 | Сообщение # 11
Полковник
Группа: Скриптеры
Сообщений: 153
Репутация: 2
Статус: Не в сети
Quote (Argus)
Суть:
Плагин ограничивает максимальное количество игроков способных зайти с одного IP адреса на сервер. Создавался с целью ограничить доступ на сервер игрокам играющим с одного компьютерного зала, с одного модема и т.д.

Возможно я чегото недопонимаю, но для чего это? %)


=\
 
mozartДата: Воскресенье, 16.11.2008, 15:01:33 | Сообщение # 12
Лейтенант
Группа: Пользователи
Сообщений: 46
Репутация: 0
Статус: Не в сети
6лин я ищу такой плагин
который 6ы ограни4ивал по маске подсети !!!
то есть
92.112
92.113

если кто может .. ( .ini )

 
ArgusДата: Понедельник, 17.11.2008, 01:23:44 | Сообщение # 13
AMXModX Fan
Группа: Cупер-модеры
Сообщений: 379
Репутация: 8
Статус: Не в сети
Quote (F4RR3LL)
Возможно я чегото недопонимаю, но для чего это?

объясняю.
у тебя есть локальный сервер, и на нём играют люди с разных адресов, каждый со своего подключения, каждый платил за свое подключение отдельно. но некая группа людей X решила скинуться, и приобрести одно подключение на всю группу, тем самым заплатив за 1-го, а играют все вместе. почему каждый платит за себя, а эти играют зайцами? где справедливость? и это при условии того, что сервер забит 20/20 постоянно, мест на всех не хватает.
+ ещё приобретают подключение для компьютерного зала и играет весь зал, мониторят - это не есть хорошо.

по поводу маски, хорошая идея, ещё max_rip предлагал, но, к сожалению, у меня нету времени её реализовать :(


Правила форума
Поиск плагинов
Последние сообщения форума
 
mozartДата: Понедельник, 17.11.2008, 02:06:35 | Сообщение # 14
Лейтенант
Группа: Пользователи
Сообщений: 46
Репутация: 0
Статус: Не в сети
6уду ждать с нетерпением ... или просить админов vbiosa поделится
 
AMX Mod X Форум » Плагины » Готовые плагины » MAX Players per IP [v0.4.2] (ограничение max количества игроков играющих с одного IP)
  • Страница 1 из 1
  • 1
Поиск:

AMX Mod X Russian Community © 2006-2024