Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

MyDC.ru _ Сетевые скрипты [PtokaX] _ Мониторинг goldsrc-Source-серверов

Автор: IIPu3PAK 15.3.2009, 9:05

Название скрипта: Monitoring L4D
Версия скрипта: 0.9 beta
Версия API: Api1/Api2
Автор: IIPu3PAK,Setuper
Описание скрипта: Скрипт выводит по комманде !л4д небольшой мониторинг вашего сервера игры left4dead(тестил на версии 1.0.1.0)
Для работы скрипта нужна библиотека luasocket
Новое в версии 0.9 beta
1)Добавлено коректное отображение статистики для всех goldsrc-Source серверов (единственная проблема,это если у вас на сервере максимальное кол-во игроков 32,если сделаете меньше будет все нормально отображаться)
2)Возможность добавления нескольких серверов

P.S. прошу переименовать модераторов тему в "Мониторинг goldsrc-Source-серверов"

 Monitoring_0.9.lua ( 3.55 килобайт ) : 88
 Monitoring_0.9_newapi.lua ( 3.74 килобайт ) : 176
 

Автор: Санёк 15.3.2009, 19:10

Супер! Но какие порты задействованы ?

Автор: IIPu3PAK 15.3.2009, 20:28

несовсем понял вопроса...порты сервера?...или те которые юзает птоха?
к серверу подключается скрипт через порт 27015(стандарт) ,можно изменить в скрипте

Автор: sakhnet 16.3.2009, 11:36

Под API 2 переделал, но у нас четыре сервера l4d. Как сделать вывод сразу четырёх серверов? также не могу понять как переделать под CS

Автор: mariner 16.3.2009, 11:42

руками и головой (с) - аналитики ЛОР
Тебе надо почитать, как оно обрабатывает сигналы сервера. PS какой CS?

http://mydc.ru/topic748.html

Автор: IIPu3PAK 16.3.2009, 11:57

Цитата(sakhnet @ 16.3.2009, 12:36) *
Под API 2 переделал, но у нас четыре сервера l4d. Как сделать вывод сразу четырёх серверов? также не могу понять как переделать под CS


как переделать под кс ?....расскоментируй строчку SendToAll(z) увидишь что выводит неизмененный запрос

З.Ы. кто знает как правильно приобразовать скрипт чтоб 0 игроков тоже выводил?

Автор: Setuper 16.3.2009, 12:34

Код
tUser:SendData("Курильщик","Название сервера--->"..(a or "unknown"))
tUser:SendData("Курильщик","Карта на сервере--->"..(b or "unknown"))
tUser:SendData("Курильщик","Тип и сложность игры--->"..(d or "unknown"))
tUser:SendData("Курильщик","Игроков на сервере--->"..(f or 0).."/"..(r or 0))
tUser:SendData("Курильщик","Версия сервера--->"..(t or "unknown"))

Автор: sakhnet 16.3.2009, 12:40

Цитата(IIPu3PAK @ 16.3.2009, 11:57) *
как переделать под кс ?....расскоментируй строчку SendToAll(z) увидишь что выводит неизмененный запрос

З.Ы. кто знает как правильно приобразовать скрипт чтоб 0 игроков тоже выводил?


Переделал немного. Под API 2 SendToAll(z) не работает... сделал Core.SendToAll(z)
Теперь дело за выводом числа игроков. Ноль не отображается и также не пойму как вывести максимально возможное число игроков.

Автор: IIPu3PAK 16.3.2009, 13:51

Цитата(Setuper @ 16.3.2009, 13:34) *
Код
tUser:SendData("Курильщик","Название сервера--->"..(a or "unknown"))
tUser:SendData("Курильщик","Карта на сервере--->"..(b or "unknown"))
tUser:SendData("Курильщик","Тип и сложность игры--->"..(d or "unknown"))
tUser:SendData("Курильщик","Игроков на сервере--->"..(f or 0).."/"..(r or 0))
tUser:SendData("Курильщик","Версия сервера--->"..(t or "unknown"))

спасибо
Цитата
Теперь дело за выводом числа игроков. Ноль не отображается и также не пойму как вывести максимально возможное число игроков.

http://mydc.ru/r/?http://forum.proc.ru/index.php?showtopic=37035&st=150 вот почитай там есть работа со строками

Цитата(Setuper @ 16.3.2009, 13:34) *

Странно както всеравно непоказывает если 0 игроков .... bad_smile.gif

Автор: Setuper 16.3.2009, 13:59

Ну так а что вместо 0 показывает?

Автор: IIPu3PAK 16.3.2009, 14:00

Цитата(Setuper @ 16.3.2009, 14:59) *
Ну так а что вместо 0 показывает?

ничего
Цитата
[20:55:27] <Курильщик> Игроков на сервере--->/8

Автор: Wariner 16.3.2009, 15:40

может:

Код
tUser:SendData("Курильщик","Игроков на сервере--->"..(f or "0").."/"..(r or "0"))

Автор: IIPu3PAK 16.3.2009, 15:50

Цитата(Wariner @ 16.3.2009, 16:40) *
может:
Код
tUser:SendData("Курильщик","Игроков на сервере--->"..(f or "0").."/"..(r or "0"))

да же так ничего bad_smile.gif

Автор: AVANGARD 16.3.2009, 16:03

Выложите скрипт под АРI2 пожалуйста!

Автор: Setuper 16.3.2009, 16:18

Код
tUser:SendData("Курильщик","Игроков на сервере--->"..(f and f~='' or 0).."/"..(r or 0))


Кстати, я что-то не вижу таймера, который ожидает получение данных. Ведь если нет таймера, а данные по какой-то причине задержатся с отправкой, то данный код обречён.

Автор: IIPu3PAK 16.3.2009, 16:25

Setuper
1)Ошибок Птоха не выдает если просто не трогать и оставить как есть
2) я написал вот так

Цитата
-------------------------------------------Здесь производится преобразование и вывод статистики под сервер Left4dead-------------------
k="0"
z=string.sub(z, 7)
_,_,a,b,c,d,f= string.find(z,"(.-)?(.-)?(.-)?(.-)?(.+)")
f=string.sub(f, 3)
_,_,k,r,t= string.find(f,"(%d*)(%d)(.+)")
_,_,t= string.find(t,"(%d%p%d+%p%d+%p%d+)")
SendToAll(k)
tUser:SendData("Курильщик","Айпи адрес сервера--->192.168.23.15:27015")
tUser:SendData("Курильщик","Название сервера--->"..(a or "unknown"))
tUser:SendData("Курильщик","Карта на сервере--->"..(b or "unknown"))
tUser:SendData("Курильщик","Тип и сложность игры--->"..(d or "unknown"))
tUser:SendData("Курильщик","Игроков на сервере--->"..(k or "unk").."/"..(r or "0"))
tUser:SendData("Курильщик","Версия сервера--->"..(t or "unknown"))
---------------------------------------------------------------------------------------------------------------------------

K невыводится в чат в строке SendToAll(k) и птоха всеравно непишет ошибок

Цитата
Кстати, я что-то не вижу таймера, который ожидает получение данных. Ведь если нет таймера, а данные по какой-то причине задержатся с отправкой, то данный код обречён.

а я вот так и непонял как совместить работу таймера и посылания ответа Юзеру запросившему стату а не всем

Цитата(Setuper @ 16.3.2009, 17:18) *
Код
tUser:SendData("Курильщик","Игроков на сервере--->"..(f and f~='' or 0).."/"..(r or 0))


как бы вот что говорит птоха если игроков не 0,если 0 то без ошибок
Цитата
[23:23] Синтакс ...2.LUA.5.1.1.RUS.by.NRJ\scripts\Monitoring_L4D(2).lua:65: attempt to concatenate a boolean value


вот собственно что видно при этом в чате
Цитата
[23:23:51] <Курильщик> Айпи адрес сервера--->192.168.23.15:27015
[23:23:51] <Курильщик> Название сервера--->Gamepolis.ru L4D Versus Server #1
[23:23:51] <Курильщик> Карта на сервере--->l4d_vs_hospital05_rooftop
[23:23:51] <Курильщик> Тип и сложность игры--->L4D - Versus - Normal

Автор: Setuper 16.3.2009, 16:41

Код
function ChatArrival(tUser, sData)
  local sCmd = sData:match"%b<> !л4д" ----здесь производится отлов комманды !л4д если Юзер написал эту комманду то выводится мониторинг
  if sCmd then
    local _, sError = myudp:send(sDatagram, sServerIp, sServerPort)
    local bData, sError = ReceiveData()
    if not sError and bData then
      local z=CorrectData(bData,'?')
      z=string.sub(z, 7)
      local a, b, c, d, e = z:match"(.-)?(.-)?(.-)?(.-)?(.+)"
        if not a then
          a, b, c, d, e = 'unknown', 'unknown', 'unknown', 'unknown', 'unknown'
        else
          local f, r, t = e:sub(3):match"(%d*)(%d)(.+)"
          if f then
            t = t:match"(%d%p%d+%p%d+%p%d+)"
          else
            f, r, t = 0, 0, 'unknown'
          end
        end
        tUser:SendData("<Курильщик> Айпи адрес сервера---> 192.168.23.15:27015"..
          "|<Курильщик> Название сервера---> "..tostring(a)..
          "|<Курильщик> Карта на сервере---> "..tostring(b)..
          "|<Курильщик> Тип и сложность игры---> "..tostring(d)..
          "|<Курильщик> Игроков на сервере---> "..tostring(f).."/"..tostring(r)..
          "|<Курильщик> Версия сервера---> "..tostring(t))
    end
    return 1
  end
end

Автор: IIPu3PAK 16.3.2009, 16:43

[23:43] Синтакс ...2.LUA.5.1.1.RUS.by.NRJ\scripts\Monitoring_L4D(2).lua:56: attempt to index global 'e' (a nil value)

Автор: Setuper 16.3.2009, 16:50

Подправил.

Регулярные выражения не проверял, надеюсь они правильные.

Автор: IIPu3PAK 16.3.2009, 16:51

Цитата(Setuper @ 16.3.2009, 17:50) *
Подправил.

Регулярные выражения не проверял, надеюсь они правильные.


Цитата
[23:50:40] <Курильщик> Айпи адрес сервера---> 192.168.23.15:27015
[23:50:40] <Курильщик> Название сервера---> Gamepolis.ru L4D Versus Server #1
[23:50:40] <Курильщик> Карта на сервере---> l4d_vs_hospital05_rooftop
[23:50:40] <Курильщик> Тип и сложность игры---> L4D - Versus - Normal
[23:50:40] <Курильщик> Игроков на сервере---> nil/nil
[23:50:40] <Курильщик> Версия сервера---> nil


шо то тут где-то нетак

хотя мой скрипт возвращает
Цитата
[23:52:07] <Курильщик> Айпи адрес сервера--->192.168.23.15:27015
[23:52:07] <Курильщик> Название сервера--->Gamepolis.ru L4D Versus Server #1
[23:52:07] <Курильщик> Карта на сервере--->l4d_vs_hospital05_rooftop
[23:52:07] <Курильщик> Тип и сложность игры--->L4D - Versus - Normal
[23:52:07] <Курильщик> Игроков на сервере--->/8
[23:52:07] <Курильщик> Версия сервера--->1.0.1.0

Автор: Setuper 16.3.2009, 16:57

Код
function ChatArrival(tUser, sData)
  local sCmd = sData:match"%b<> !л4д" ----здесь производится отлов комманды !л4д если Юзер написал эту комманду то выводится мониторинг
  if sCmd then
    local _, sError = myudp:send(sDatagram, sServerIp, sServerPort)
    local bData, sError = ReceiveData()
    if not sError and bData then
      local z=CorrectData(bData,'?'):sub(7)
      local sName, sMap, sType, iPlayers, iTotal, sVersion = z:match"(.-)?(.-)?.-?(.-)?(.+)"
      if not a then
        sName, sMap, sType, iPlayers, iTotal, sVersion = 'unknown', 'unknown', 'unknown', 'unknown', 'unknown', 'unknown'
      else
        iPlayers, iTotal, sVersion = iPlayers:sub(3):match"(%d*)(%d)(.+)"
        if not sVersion then
          iPlayers, iTotal, sVersion = 0, iPlayers, iTotal
        end
        sVersion = sVersion:match"(%d%p%d+%p%d+%p%d+)"
      end
      tUser:SendData("<Курильщик> Айпи адрес сервера---> 192.168.23.15:27015"..
        "|<Курильщик> Название сервера---> "..tostring(sName)..
        "|<Курильщик> Карта на сервере---> "..tostring(sMap)..
        "|<Курильщик> Тип и сложность игры---> "..tostring(sType)..
        "|<Курильщик> Игроков на сервере---> "..tostring(iPlayers).."/"..tostring(iTotal)..
        "|<Курильщик> Версия сервера---> "..tostring(sVersion))
    end
    return 1
  end
end

Автор: IIPu3PAK 16.3.2009, 17:02

[00:01:48] <Курильщик> Айпи адрес сервера---> 192.168.23.15:27015
[00:01:48] <Курильщик> Название сервера---> Gamepolis.ru L4D Versus Server #1
[00:01:48] <Курильщик> Карта на сервере---> l4d_vs_hospital05_rooftop
[00:01:48] <Курильщик> Тип и сложность игры---> L4D - Versus - Normal
[00:01:48] <Курильщик> Игроков на сервере---> /8
[00:01:48] <Курильщик> Версия сервера---> 1.0.1.0

Автор: Setuper 16.3.2009, 17:09

Выведи z

Автор: IIPu3PAK 16.3.2009, 17:12

Gamepolis.ru L4D Versus Server #1?l4d_vs_hospital05_rooftop?left4dead?L4D - Versus - Normal??1?8?dl?11.0.1.0? ™iempty,alltalk,coop,versus?


?8 <----тут "?" это 0 игроков

Автор: Setuper 16.3.2009, 17:24

Должно работать:

Код
function ChatArrival(tUser, sData)
  local sCmd = sData:match"%b<> !л4д"
  if sCmd then
    local _, sError = myudp:send(sDatagram, sServerIp, sServerPort)
    local bData, sError = ReceiveData()
    if not sError and bData then
      local z = CorrectData(bData,'?'):sub(7)
      local sName, sMap, sType, iPlayers, iTotal, sVersion = z:match"(.-)?(.-)?.-?(.-)?(.+)"
      if sName then
        iPlayers, iTotal, sVersion = iPlayers:sub(3):match"(%d*)(%d)(.+)"
        sVersion = sVersion:match"(%d%p%d+%p%d+%p%d+)"
        iPlayers = iPlayers~='' and iPlayers or 0
      end
      Core.SendToUser(tUser, "<Курильщик> Айпи адрес сервера---> 192.168.23.15:27015"..
        "|<Курильщик> Название сервера---> "..tostring(sName)..
        "|<Курильщик> Карта на сервере---> "..tostring(sMap)..
        "|<Курильщик> Тип и сложность игры---> "..tostring(sType)..
        "|<Курильщик> Игроков на сервере---> "..tostring(iPlayers).."/"..tostring(iTotal)..
        "|<Курильщик> Версия сервера---> "..tostring(sVersion))
    end
    return 1
  end
end

Автор: IIPu3PAK 16.3.2009, 17:30

shocked.gif Если 0 игроков выводит что их 1, если больше 0 то

Цитата
[00:30] Синтакс ...2.LUA.5.1.1.RUS.by.NRJ\scripts\Monitoring_L4D(2).lua:54: attempt to index local 'sVersion' (a nil value)

Автор: Setuper 16.3.2009, 17:35

выведи z для 0 игроков
выведи z не для 0

Автор: IIPu3PAK 16.3.2009, 17:38

толи я в 1 раз как то нетак скопировал...толи я хз....ща опять норм скопировал и все нормально shocked.gif
З.Ы. в апи 1 нету Core.SendToUser есть tUser:SendData

Думаю надо перезалить в 1 пост :P

Автор: Setuper 16.3.2009, 17:39

нормально теперь выводит?

я просто тестил на апи2

Автор: IIPu3PAK 16.3.2009, 17:41

Цитата(Setuper @ 16.3.2009, 18:39) *
нормально теперь выводит?

я просто тестил на апи2

Теперь нормально still_dreaming.gif

Автор: sakhnet 17.3.2009, 5:42

Помогите эту строчку правильно настроить под Counter-Strike
local sName, sMap, sType, iPlayers, iTotal, sVersion = z:match"(.-)?(.-)?.-?(.-)?(.+)"

Вывод у меня такой

????m93.188.85.237:27015?CS SAKH9 NETWORK?cs_estate?cstrike?Counter-Strike?? /dw?1www.counter-strike.net???1????ћ?10?1??

Автор: IIPu3PAK 17.3.2009, 6:01

Цитата(sakhnet @ 17.3.2009, 6:42) *
Помогите эту строчку правильно настроить под Counter-Strike
local sName, sMap, sType, iPlayers, iTotal, sVersion = z:match"(.-)?(.-)?.-?(.-)?(.+)"

Вывод у меня такой

????m93.188.85.237:27015?CS SAKH9 NETWORK?cs_estate?cstrike?Counter-Strike?? /dw?1www.counter-strike.net???1????ћ?10?1??

Скажи какой у тебя вывод при 0 игроках и при например если максимально 24 и играет человек 5

Автор: sakhnet 17.3.2009, 14:01

Цитата(IIPu3PAK @ 17.3.2009, 6:01) *
Скажи какой у тебя вывод при 0 игроках и при например если максимально 24 и играет человек 5

????m93.188.85.237:27015?CS SAKH9 NETWORK?cs_estate?cstrike?Counter-Strike?? /dw?1www.counter-strike.net???1????ћ?10?1??
Это при 0 игроков

????m93.188.85.237:27015?CS SAKH9 NETWORK?de_aztec?cstrike?Counter-Strike?7 /dw?1www.counter-strike.net???1????ћ?10?1??
Это вывод при игре 7 человек... максималка стоит 32

Автор: mariner 17.3.2009, 14:19

а, ну вот. нужна обработка фрагмента

Код
?7 /dw?1


Вот как то так. case сделайте..

Автор: IIPu3PAK 17.3.2009, 15:01

Цитата
?7 /dw?1

вот 7 это твои игроки,а вот пробел после семерки это32 игрока...былобы меньше выводилось бы цифрами,а так косячок...ну пару Ифоф это правят

что то типа
local sIp, sName, sMap, sTyp, sType, sVersion = z:match"(.-)?(.-)?(.-)?(.-)?(.-)?(.+)"
вот как то так сам повыводи эти переменные да посмотри что будет

Автор: sakhnet 17.3.2009, 15:58

Цитата(IIPu3PAK @ 17.3.2009, 15:01) *
вот 7 это твои игроки,а вот пробел после семерки это32 игрока...былобы меньше выводилось бы цифрами,а так косячок...ну пару Ифоф это правят

что то типа
local sIp, sName, sMap, sTyp, sType, sVersion = z:match"(.-)?(.-)?(.-)?(.-)?(.-)?(.+)"
вот как то так сам повыводи эти переменные да посмотри что будет


Спасибо... проверю

Цитата(sakhnet @ 17.3.2009, 15:44) *
Спасибо... проверю


Чтото ругается [22:49] Синтаксис C:\PtokaX\scripts\Monitoring_CS_newapi.lua:54: attempt to index global 'iPlayers' (a nil value)
Наверное ошибка гдето здесь
Код
if sName then
        iPlayers, iTotal, sVersion = iPlayers:sub(3):match"(%d*)(%d)(.+)"
        sVersion = sVersion:match"(%d%p%d+%p%d+%p%d+)"
        iPlayers = iPlayers~='' and iPlayers or 0

Автор: IIPu3PAK 17.3.2009, 17:04

Цитата(sakhnet @ 17.3.2009, 16:58) *
Спасибо... проверю



Чтото ругается [22:49] Синтаксис C:\PtokaX\scripts\Monitoring_CS_newapi.lua:54: attempt to index global 'iPlayers' (a nil value)
Наверное ошибка гдето здесь
Код
if sName then
        iPlayers, iTotal, sVersion = iPlayers:sub(3):match"(%d*)(%d)(.+)"
        sVersion = sVersion:match"(%d%p%d+%p%d+%p%d+)"
        iPlayers = iPlayers~='' and iPlayers or 0

Iplayers неопределена вот и ругается
замени строчку на iPlayers, iTotal, sVersion = sVersion:sub(3):match"(%d*)(%d)(.+)"

Автор: li4nost 17.3.2009, 18:23

скажите, чтоб корректно работал этот скрипт, должны быть конкретные сервера для игр? или например если у меня в сети все время разные люди создают сервера, и я их всех вобью - тоже будет работать?


если вы сделаете скрипт для мониторинга игровых серверов кс, доты, l4d - ВЫ БУДЕТЕ ПРОСТО БОГАМИ LUA big_smile.gif big_smile.gif

и можете выложить рабочий образец для апи2 big_smile.gif

Автор: Wariner 17.3.2009, 18:39

оффтопчик:

Цитата(li4nost @ 17.3.2009, 18:23) *
ВЫ БУДЕТЕ ПРОСТО БОГАМИ LUA big_smile.gif big_smile.gif


ухахахахахахахахахахахахахахахахаха *пацталом*

Автор: IIPu3PAK 18.3.2009, 3:20

Цитата(li4nost @ 17.3.2009, 18:23) *
скажите, чтоб корректно работал этот скрипт, должны быть конкретные сервера для игр? или например если у меня в сети все время разные люди создают сервера, и я их всех вобью - тоже будет работать?


если вы сделаете скрипт для мониторинга игровых серверов кс, доты, l4d - ВЫ БУДЕТЕ ПРОСТО БОГАМИ LUA big_smile.gif big_smile.gif

и можете выложить рабочий образец для апи2 big_smile.gif

во 1 туда можно вбить любые айпишники,если на айпишнике с указанным портом игры небудет то просто скрипт пойдет проверять следующий сервер...т.е в принципе можешь вбить туда айпи всех кто-создает Соурс игры все будет норм(кроме ошибок ,которые описаны в 1 посте)
во 2 так это и есть мониторинг л4д eyes_droped.gif
и в 3
Цитата
ВЫ БУДЕТЕ ПРОСТО БОГАМИ LUA big_smile.gif big_smile.gif

да я с Луа общаюсь всеволишь недельку ,куда мне still_dreaming.gif



Хотел сделать универсальную функцию для сорс и голд сорс серверов...комментарий в коде помогите плз...
И совсем из раздела "мифичное и непонятное" если я где нибудь до tUser:sendata пишу SendToAll(чевонитьтам) оно выводится ПОСЛЕ tUser:sendata ,т.е сначала выводится мониторинг а потом уже SendToAll(чевонитьтам)

 Monitoring_L4D_4_.lua ( 3.98 килобайт ) : 15
 

Автор: li4nost 18.3.2009, 4:43

чет я не понял про сорсы и голды...

:(
я хочу готовый big_smile.gif проверенный и рабочий big_smile.gif

у нас в сети постоянно рубятся то в кс, то в доту. сча вот на лфд сели. и так как dc++ - тоже новинка для сети (люди только начали переползать потиху) это будет как дополнительный стимул big_smile.gif
наделаю чатрумов и т.п. big_smile.gif
поэтому и жду, когда все будет здорово big_smile.gif

Автор: IIPu3PAK 18.3.2009, 6:19

Голд сорс - это движок 1 халвы(т.е кс 1.6) сорс - это движок 2 халвы (Css/l4d)
в 1 посте лежит скрипт под апи 1 для монитринга сорс серверов

В шапку добавлена более-менее рабочая версия отображающая мониторинг для почти всех модов на движке хл1,хл2

Автор: Angel_D 18.3.2009, 11:43

И всетаки - поддержка API2 ожидается? O:-)

Автор: IIPu3PAK 18.3.2009, 12:26

Цитата(Angel_D @ 18.3.2009, 11:43) *
И всетаки - поддержка API2 ожидается? O:-)

если сам кто-нить перепишет victory.gif
я пока на 2 апи неперехожу big_smile.gif

Автор: sakhnet 19.3.2009, 16:33

Вот под API 2

 Monitoring_0.9_newapi.lua ( 3.74 килобайт ) : 25
 

Автор: IIPu3PAK 19.3.2009, 16:42

Цитата(sakhnet @ 19.3.2009, 16:33) *
Вот под API 2

переписал бы ту что и з 1 поста а не старую :0

Автор: sakhnet 20.3.2009, 2:40

Цитата(IIPu3PAK @ 19.3.2009, 16:42) *
переписал бы ту что и з 1 поста а не старую :0

Заменил

Автор: li4nost 20.3.2009, 4:22

скажите, так реально увидеть скрипт не только для l4d но и под другие игры?
та же кс и дота?

(только не говорите переделай - я могу только пункт в меню переименовать big_smile.gif и настроить минимально )

под апи 2 из 45 поста работает отлично



а зачем 2 раза 1 и тот же порт писать?

Код
local sServerPort = {"[b]27015[/b]","27016","[b]27015[/b]",} -- суда вписываем порт своего сервера

Автор: Sten 20.3.2009, 8:57

Выложите такой скрипт на Counter Strike пожалуйсто на API2 =)
И что-бы информация выходила не в главный чат а в личку
Заранее спасибо!

Автор: Setuper 20.3.2009, 12:16

Для различных серверов различные скрипты. Пиши строку выводя для cs, - мы попробуем написать.

Автор: IIPu3PAK 20.3.2009, 13:09

Цитата
а зачем 2 раза 1 и тот же порт писать?
Код
local sServerPort = {"[b]27015[/b]","27016","[b]27015[/b]",} -- суда вписываем порт своего сервера

синхронно для первого айпишника идет 1 порт,для второго айпишника 2 порт и т.д.
Цитата
Выложите такой скрипт на Counter Strike пожалуйсто на API2 =)
И что-бы информация выходила не в главный чат а в личку
Заранее спасибо!


я написал скрипт работает для всех игр Валв(кс,халф,халф2,теам фортесс) но только могут быть косяки с отображением кол-ва игроков,те которые описаны в 1 посте(для л4д косяков нету)
З.Ы. инфа выводится только тому юзеру кто запросил статистику
З.Ы.Ы Переименуйте тему в мониторинг Валв серверов
Цитата
дота?

для доты надо писать совсем другой скрипт,если такой впринципе возможен(в чем я сомневаюсь)

Автор: li4nost 20.3.2009, 13:26

Цитата(IIPu3PAK @ 20.3.2009, 12:09) *
синхронно для первого айпишника идет 1 порт,для второго айпишника 2 порт и т.д.


я написал скрипт работает для всех игр Валв(кс,халф,халф2,теам фортесс) но только могут быть косяки с отображением кол-ва игроков,те которые описаны в 1 посте(для л4д косяков нету)
З.Ы. инфа выводится только тому юзеру кто запросил статистику
З.Ы.Ы Переименуйте тему в мониторинг Валв серверов

а будет он карту показывать в кс?

и например у меня 50 человек в основном создают разные игры. я знаю их все ипы.
т.е. мне надо писать 50 ипов/50 портов?

как узнать, на коком порте идет игра?

Автор: IIPu3PAK 20.3.2009, 13:29

Цитата(li4nost @ 20.3.2009, 13:26) *
а будет он карту показывать в кс?

и например у меня 50 человек в основном создают разные игры. я знаю их все ипы.
т.е. мне надо писать 50 ипов/50 портов?

как узнать, на коком порте идет игра?

Карту-будет
да для каждого айпи надо писать свой порт
если это игра кс/хл1дм и иже с ними и если порт не указан то стандартный 27015

Автор: li4nost 20.3.2009, 15:49

т.е. можно порт не писать?

Автор: IIPu3PAK 21.3.2009, 11:49

Цитата(li4nost @ 20.3.2009, 16:49) *
т.е. можно порт не писать?

Писать в любом случае

Автор: AVANGARD 21.3.2009, 15:26

Подскажите как сделать что бы мониторинг приходил в личку пользователю! (API2)

Автор: IIPu3PAK 21.3.2009, 16:27

Цитата(AVANGARD @ 21.3.2009, 16:26) *
Подскажите как сделать что бы мониторинг приходил в личку пользователю! (API2)

если не ошибаюсь то заменить
Core.SendToNick(tUser.sNick,"<".."Курильщик".."> Айпи адрес сервера---> "..sServerIp[i]..":"..sServerPort[i]..""..
на
Core.SendPMToNick(tUser.sNick,"<".."Курильщик".."> Айпи адрес сервера---> "..sServerIp[i]..":"..sServerPort[i]..""..

Автор: li4nost 21.3.2009, 18:06

создал сервак кс - тоже определило! круто!

а если 2 сервака? например кс и л4д? :(
он показывает 1 из них.

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

можно доработать данный скрипт?
пажалуйста, пажалуйста!!
чтоб отдельно кс, лфд (и ljme по возможности) big_smile.gif

Автор: AVANGARD 21.3.2009, 20:40

Цитата(IIPu3PAK @ 21.3.2009, 19:27) *
если не ошибаюсь то заменить
Core.SendToNick(tUser.sNick,"<".."Курильщик".."> Айпи адрес сервера---> "..sServerIp[i]..":"..sServerPort[i]..""..
на
Core.SendPMToNick(tUser.sNick,"<".."Курильщик".."> Айпи адрес сервера---> "..sServerIp[i]..":"..sServerPort[i]..""..


Я так пробовал... пропускает команду в чат и ничего не выводит! (сервера включены при этом)
Подскажите как правельно сделать?

Автор: li4nost 22.3.2009, 14:40

скажите, а можно сделать, чтоб скрипт сканировал диапазон ip?
от 172,16,0,0 до 172,16,255,255 ??

Автор: IIPu3PAK 23.3.2009, 6:52

Цитата(li4nost @ 22.3.2009, 15:40) *
скажите, а можно сделать, чтоб скрипт сканировал диапазон ip?
от 172,16,0,0 до 172,16,255,255 ??

а хаб не поламается? shocked.gif

Автор: li4nost 23.3.2009, 14:13

big_smile.gif ну можно попробовать big_smile.gif

Автор: alex82 23.3.2009, 17:32

65536 Адресов. horror.gif

Поломается, гадом буду.

Автор: li4nost 23.3.2009, 19:43

а если сканировать только ипы тех, кто зареган?

Автор: li4nost 26.3.2009, 3:04

все, разработка прекратилась?

Автор: Wariner 26.3.2009, 7:29

какая разработка?! скрипт готовый! а больше одного серва одним скриптом сканировать не стоит ибо лаги начнутся!!!

Автор: IIPu3PAK 26.3.2009, 17:52

Цитата(Wariner @ 26.3.2009, 8:29) *
какая разработка?! скрипт готовый! а больше одного серва одним скриптом сканировать не стоит ибо лаги начнутся!!!

ну при запросе скрипту примерно разв минуту,сканируется 5 сервов...вроде без лагов

Автор: THE STRELOK 27.3.2009, 5:52

Название: CS SERVERS MONITORING
Версия API: 2
Версия скрипта: 1.0
Идея:Extreme Gamer:D Релиз: STRELOK
Описание:
Сканирует кс сервера(Название, адрес, порт, карту) и выводит результат в ЛС.
Сканируемые сервера:



 monitorings.lua ( 3.68 килобайт ) : 51
 

Автор: n1l 27.3.2009, 9:32

а можешь пожалуйста сделать под API 1 а то мучаюсь не могу что-то, заранее огромное спасибо

Автор: THE STRELOK 27.3.2009, 9:53

С API1 не работал не разу, поэтому перевести к сожелению не смогу...

Автор: alex82 27.3.2009, 11:59

Скрипт точь-в-точь как http://mydc.ru/topic1569.html, но с твоим копирайтом. Как обьяснишь?

Плагиатом попахивает. confident.gif

Автор: THE STRELOK 27.3.2009, 12:07

Да, это переделанный Мониторинг серверов л4д...
Но позвольте заметить, идея изменить скрипт на то, чтобы он сканировал сервера кс была Extreme Gamer:D, а я воплотил идею в релиз big_smile.gif

PS: Прошу прощения у автора скрипта Monitoring l4d за свой копирайт...

Автор: Setuper 27.3.2009, 12:15

Идея идеей, но такой скрипт уже есть.

Проси автора скрипта присоединить твой скрипт в шапку темы

Автор: Extreme Gamer:D 27.3.2009, 12:39

Цитата(THE STRELOK @ 27.3.2009, 5:52) *
Название: CS SERVERS MONITORING
Версия API: 2
Версия скрипта: 1.0
Автор: STRELOK
Описание:
Сканирует кс сервера(Название, адрес, порт, карту) и выводит результат в ЛС.
Сканируемые сервера:
    cs1.cyber74.ru
    cs2.cyber74.ru
    cs3.cyber74.ru
    cs4.cyber74.ru
    cs5.cyber74.ru
    cw1.cyber74.ru
    cw2.cyber74.ru
    exorcist.homeip.net

Теперь для завершения переделки ксрипта под кс осталось только сделать, чтобы он нормально отображал кол-во игроков на сервере

Автор: IIPu3PAK 27.3.2009, 19:48

Цитата
Да, это переделанный Мониторинг серверов л4д...
Но позвольте заметить, идея изменить скрипт на то, чтобы он сканировал сервера кс была Extreme Gamer:D, а я воплотил идею в релиз big_smile.gif

PS: Прошу прощения у автора скрипта Monitoring l4d за свой копирайт...

извини а в каком месте мой скрипт немониторит сервера кс? скрипт абсолютно идентичен(ибо мой скрипт монитори и КС и Л4д и ХЛ1ДМ и ХЛ2ДМ и ТЕАМ ФОРТЕСС и все остальное, так чем же твой отличается ??? )
если ничем то это просто флуд...
неодного байта изменений незаметил(разве что украшательство типа замени имени бота и тп 0.1% изменений)

Автор: F I L I N 9.6.2009, 19:40

Извините конечно пожалуйста но скачал с этой темы скрипт Monitoring_0.9_newapi API2 вообщем вроде бы все работает хорошо ошибок нет но вот в чем дело число людей показывает играющих на сервере неправильно.. вот к примеру пример:
[20:17:21] <Серверы CS Source> Айпи адрес сервера---> 10.73.239.198:27015
[20:17:22] <Серверы CS Source> Название сервера---> Server of tne clan [TimeouT] ^ Pro
[20:17:22] <Серверы CS Source> Карта на сервере---> cs_italy
[20:17:23] <Серверы CS Source> Тип и сложность игры---> Counter-Strike: Source
[20:17:24] <Серверы CS Source> Игроков на сервере---> 212/51
[20:17:25] <Серверы CS Source> Версия сервера---> 1.0.0.34
[20:17:26] <Серверы CS Source> =======================================

реальные цифры которые были на сервер это 21 играющий и предел юзеров это 25 человек.. в чем проблема? помогите пжл..

Автор: lucker 28.2.2010, 16:34

помогите юзеру,куда всавить библиотеку luasocket и куда вставить мониторинг!!прошу ответиь по делу,а не флудом

Автор: shunt 21.3.2010, 3:35

а можно как ни будь переделать скрипт чтоб мониторил сервер battlefield2.

Автор: IIPu3PAK 26.3.2010, 19:03

Когда баттлфилд переедет на движок соурс