AMX MOD X
Четверг, 25.04.2024, 17:56:20



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

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

  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Модератор форума: AlMod, slogic  
AMX Mod X Форум » Плагины » Поиск плагинов » Ищу плагинчик
Ищу плагинчик
Black-ElkДата: Воскресенье, 22.11.2009, 00:52:25 | Сообщение # 1
Сержант
Группа: Пользователи
Сообщений: 23
Репутация: 0
Статус: Не в сети
идея такова.
на сервере стоит DPROTO который пускает со всех клиентов.
хотелось что что бы клиентам без стима выкидывало mod окно с моими пожеланиями
и кикало через указанное время
за исключением диапазнов ip указанных мной в отдельном файлике
+ имеющих в Access flags буковку t (например)

отличить игроков можно по steam id
у реальных STEAM_0:0:1596308291
выдаваемые по ip VALVE_0:4:353393780

есть ли такие ?

Сообщение отредактировал Black-Elk - Воскресенье, 22.11.2009, 00:56:50
 
tavotДата: Воскресенье, 22.11.2009, 22:45:04 | Сообщение # 2
Генерал-майор
Группа: Пользователи
Сообщений: 256
Репутация: 3
Статус: Не в сети
Black-Elk,
а чем смысл то?
Игроки без стима и так знают что они с пираткой - если их кикнетза протокол они и так поймут....
 
Black-ElkДата: Воскресенье, 22.11.2009, 23:56:25 | Сообщение # 3
Сержант
Группа: Пользователи
Сообщений: 23
Репутация: 0
Статус: Не в сети
смысл в том - что с моей сети будут играть с любого клиента
 
tavotДата: Понедельник, 23.11.2009, 09:20:07 | Сообщение # 4
Генерал-майор
Группа: Пользователи
Сообщений: 256
Репутация: 3
Статус: Не в сети
Black-Elk, Идея не плохая.
Надо обдумать, думаю из несколлких плагинов можно будет собрать такой )
 
Black-ElkДата: Понедельник, 23.11.2009, 16:24:54 | Сообщение # 5
Сержант
Группа: Пользователи
Сообщений: 23
Репутация: 0
Статус: Не в сети
:) ждемс

ps. список ip выглядит примерно вот так
http://www.beirel.ru/peer_list.txt

Сообщение отредактировал Black-Elk - Понедельник, 23.11.2009, 16:34:55
 
ZETAДата: Понедельник, 23.11.2009, 22:02:08 | Сообщение # 6
Генерал-майор
Группа: Скриптеры
Сообщений: 369
Репутация: 21
Статус: Не в сети
Как-то так...IP в RangeIP.txt
Прикрепления: PlayerKicker.sma (1.0 Kb)


Сообщение отредактировал ZETA - Понедельник, 23.11.2009, 22:04:14
 
Black-ElkДата: Вторник, 24.11.2009, 00:36:50 | Сообщение # 7
Сержант
Группа: Пользователи
Сообщений: 23
Репутация: 0
Статус: Не в сети
поставил.
никаких признаков плагина :)
status
hostname: Counter-Strike 1.6 Server
version : 48/1.1.2.6/Stdio 4617 secure (10)
tcp/ip : 89.222.165.3:27020
map : de_inferno at: 0 x, 0 y, 0 z
players : 1 active (14 max)

# name userid uniqueid frag time ping loss adr
# 1 "XoM9iK" 2 VALVE_0:4:1182604912 0 01:36 17 0 89.222.166.37

бегаю по серваку
RangeIP.txt пуст

 
tavotДата: Вторник, 24.11.2009, 01:46:55 | Сообщение # 8
Генерал-майор
Группа: Пользователи
Сообщений: 256
Репутация: 3
Статус: Не в сети
Black-Elk,
там в коде стрчока есть:
Code
    if(!containi(authid,"STEAM_0:")) {

Замени на:
Code
    if(!containi(authid,"VALVE_0:")) {

В RangeIP.txt указываешь ip запрещенных сетей.

Добавлено (24.11.2009, 01:20:35)
---------------------------------------------
Ошибочка вышла - не сетей ,а конкретных ip шников, как сделать что бы считал диапазон, т.е.
приравнивала значения в ip адресе 0 к диапазону 0-255 , я к сожелению не знаю.
Надо копаться.

Добавлено (24.11.2009, 01:28:41)
---------------------------------------------
сходил покурить и
Оо, вспомнил где это можно подглядеть.... удалился смотреть.

Добавлено (24.11.2009, 01:46:55)
---------------------------------------------
Есть плагин BanIP SubNet
И еще есть Show_ip - вот из него код:

Code
// IP to NUM
ip_to_num(const ip[])
{
     new n1[4], n2[4], n3[4], n4[4]
     new tmpStr[16]
         
     copy(tmpStr, sizeof(tmpStr)-1, ip)
     replace_all(tmpStr, sizeof(tmpStr)-1, ".", " ")
     if (parse(tmpStr, n1, sizeof(n1)-1, n2, sizeof(n2)-1, n3, sizeof(n3)-1, n4, sizeof(n4)-1) != 4)
      return -1 // wrong ip address
          
     return (str_to_num(n1) << SHIFT_24) + (str_to_num(n2) << SHIFT_16) + (str_to_num(n3) << SHIFT_8) + str_to_num(n4)
}

// this rounds ip to its subnet by given mask
apply_mask(const numIP, const maskBit)
{
     if (maskBit < 0 || maskBit > 32)
      return -1 // wrong mask

     new shift = 32 - maskBit
         
     return (numIP >> shift) << shift     
}

Забыл про маску:

Code

loadSubnets(szFilename[])
{
   g_SubnetCount = 0
     
   new File=fopen(szFilename,"r");

   if (File)
   {
    new Text[256]
    new subnet[24], subnetIP[16], subnetMask[8]
     
    while(g_SubnetCount < MAX_SUBNETS && !feof(File))
    {
     fgets(File,Text,sizeof(Text)-1);

     trim(Text)
       
     // comment or blank line
     if (Text[0]==';' || Text[0] == 0)   
     {
      continue;
     }

     strbreak(Text, subnet, sizeof(subnet)-1, g_SubnetDescription[g_SubnetCount], MAX_DESCRIPTION_LEN)

     replace(subnet, sizeof(subnet)-1, "/", " ")
     if (parse(subnet, subnetIP, sizeof(subnetIP)-1, subnetMask, sizeof(subnetMask)-1) != 2)
      continue // wrong subnet
       
     g_SubnetIP[g_SubnetCount] = ip_to_num(subnetIP)
     g_SubnetMask[g_SubnetCount] = str_to_num(subnetMask)
       
     ++g_SubnetCount
    }
   }

   return 1
}

Дальше я бду очень долго разбираться )....
Да ip диапазоны там записанны по максе ( так вроде? )
78.37.0.0/16 adsl


Сообщение отредактировал tavot - Вторник, 24.11.2009, 02:12:50
 
Black-ElkДата: Вторник, 24.11.2009, 01:48:15 | Сообщение # 9
Сержант
Группа: Пользователи
Сообщений: 23
Репутация: 0
Статус: Не в сети
если заменить - кикает
и на RangeIP.txt не обращает внимания :)
tavot, мне в RangeIP.txt нужен список разрешенных сетей.
 
tavotДата: Вторник, 24.11.2009, 01:50:18 | Сообщение # 10
Генерал-майор
Группа: Пользователи
Сообщений: 256
Репутация: 3
Статус: Не в сети
Black-Elk,
странно, у меня если я вписываю свой же ip - кикает, если в любой другой - не кикает )
Изменить что бы было наоборот - не проблема, сейчас проблема ( для меня) как высчитывать диапазоны...
 
ZETAДата: Вторник, 24.11.2009, 08:31:54 | Сообщение # 11
Генерал-майор
Группа: Скриптеры
Сообщений: 369
Репутация: 21
Статус: Не в сети
Quote (Black-Elk)
никаких признаков плагина

motd не показывается?

Quote (tavot)
там в коде стрчока есть:
if(!containi(authid,"STEAM_0:")) {
Замени на:
if(!containi(authid,"VALVE_0:")) {

Не правильно, будет кикать всех клиентов с non-steam...

Code
RangeIP.txt пуст

Ты сам должен добавить IP в файл...


Говори что думаешь и думай что говоришь...

Сообщение отредактировал ZETA - Вторник, 24.11.2009, 08:34:54
 
tavotДата: Вторник, 24.11.2009, 10:41:31 | Сообщение # 12
Генерал-майор
Группа: Пользователи
Сообщений: 256
Репутация: 3
Статус: Не в сети
ZETA,
я так понял что он этого и хочет.
Т.е. с локалки - все клиенты, с интернета - только стим.

Что то у меня не особо получается с ip ( не понимаю я эти "parser" доконца)...
на работе сегодня зато будет чем заняться )

 
ZETAДата: Вторник, 24.11.2009, 10:59:21 | Сообщение # 13
Генерал-майор
Группа: Скриптеры
Сообщений: 369
Репутация: 21
Статус: Не в сети
Quote (tavot)
Т.е. с локалки - все клиенты, с интернета - только стим.

Правильно, но если сделать твою замену, то диапазон проверять не будет, будет кикать сразу всех клиентов с non-steam, как с глобала, так и с локалки...


Говори что думаешь и думай что говоришь...
 
tavotДата: Вторник, 24.11.2009, 11:57:49 | Сообщение # 14
Генерал-майор
Группа: Пользователи
Сообщений: 256
Репутация: 3
Статус: Не в сети
ZETA,
Точно, пересмотрел внмательнее, каюсь :)
Оасталось дело за малым, проверка по диапазонам.

хм, что то меня совсем все в тупик завело.....
что то тут не так....

Добавлено (24.11.2009, 11:56:29)
---------------------------------------------
хм алгоритм:
1 Клиент входит
2 Првоеряем его клент STEMA или VALVE
3
a) Если стим то Steam y чего не делаем
b) Если VALVE - то првоеряем его в файле
4
а) Если в файле с исклчюениями есть - оставляем на сервре
b) То выводим мод окно и кикаем

В твем же коде мы проверяем если STEAM.
Поправь меня, где я ошибаюсь.

Добавлено (24.11.2009, 11:57:49)
---------------------------------------------
Может просто set_task - в другое место поставить.

Сообщение отредактировал tavot - Вторник, 24.11.2009, 11:52:06
 
ZETAДата: Вторник, 24.11.2009, 12:02:48 | Сообщение # 15
Генерал-майор
Группа: Скриптеры
Сообщений: 369
Репутация: 21
Статус: Не в сети
Quote (tavot)
В твем же коде мы проверяем если STEAM. Поправь меня, где я ошибаюсь.

Code
if(!containi(authid,"STEAM_0:"))

Не увидил ! - Если не STEAM то...

Quote (tavot)
Может просто set_task - в другое место поставить.

Может :) А может и нет, у меня диапазон вычисляется не точно, скорей всего из-за этого не работает...


Говори что думаешь и думай что говоришь...
 
AMX Mod X Форум » Плагины » Поиск плагинов » Ищу плагинчик
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Поиск:

AMX Mod X Russian Community © 2006-2024