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

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

MyDC.ru _ Сетевые скрипты [PtokaX] _ Monitoring_1.0|Gold Source & Source

Автор: zangriEBP 6.5.2009, 13:44

Название скрипта: Monitoring_1.0
Версия: 1.00
Версия API: API2
Автор: zangri & IIPu3PAK

Описание:
Данный скрипт предназначен для мониторинга серверов игр, работающих на движках Source и GoldSource.
Поддерживаются все игры на Gold Source и Source движках.

*** Маленький;быстрый;понятный!
*** Пока только: Название сервера;Дериктория игры;Карта на сервере;Тип игры;Игроков на сервере;Версия сервера.
 Monitoring_1.0.rar ( 1.11 килобайт ) : 159

З.Ы. Просите чего хотите чтобы добавил в мониторинг,добавлю.
...Будет свободное время добавлю то, что наобещал.

Автор: Wariner 6.5.2009, 16:06

Цитата(zangriEBP @ 6.5.2009, 14:44) *
*** Нет багов как в SourceMon скрипте

я бы вас попросил поаккуратнее выражаться! За такие высказывания буду награждать предупреждениями!

Автор: li4nost 7.5.2009, 18:57

чет я не понял, он без менюшки?
как он работает??

Автор: alex82 8.5.2009, 4:18

Скрипт уже выложен http://mydc.ru/topic1569.html. Зачем было создавать ещё одну тему?

Автор: *FoxMalder* 8.5.2009, 4:49

Совсем не айс.. http://mydc.ru/topic1661.html куда круче

Автор: zangriEBP 8.5.2009, 5:55

Cкрипт будет развиваться именно по этому содал эту тему и меня не интересует мнение "круче"
я не добавлю в скрипт ничего пока не добьюсь 100% стабильности.
А выложил для того, что на больших хабах нельзя использовать тормазнутые скрипты. (+Скоро скрипт будет работать в несколько потоков)
Причем если кому-то знаещему LUA надо будет понять протокол за 1мин то он возмет мой скрипт.
Менюшек нет и не будет(я щитаю их флудом)
В последний версии не нужно будет редактировать скрипт... все будет очень просто...
Работает просто - sData:match"%b<> !л4д" то есть в данном случае по команде "!л4д" в чате юзер получит краткую статистику.

З.Ы. если человек не понял как работает мой скрипт, то как работает твое творение ему не понять и подавно big_smile.gif

Автор: *FoxMalder* 8.5.2009, 7:03

менюшки флудом? мде хотя можно и свои сделать не столь важно..
по команде выводит всем в чат.. чистый флуд.. а если серваков больше 40? листать и листать чат а если при том в чате еще и разговаривают то проще повесится
можно смотреть сразу все серваки а не отдельной игры тоже не айс

если из предложений то если сервак был в оффе неделю то он удаляется из базы и заносится в корзинку а то малоли у них были проблемы с нетом иль железом..

Автор: mariner 8.5.2009, 8:31

а еще авто этого скрипта не знает, что такое юзерфрендли. В принципе.

Автор: alex82 8.5.2009, 8:59

Цитата(zangriEBP @ 8.5.2009, 5:55) *
Скоро скрипт будет работать в несколько потоков
Каким образом реализуешь, если не секрет?
Цитата(zangriEBP @ 8.5.2009, 5:55) *
Причем если кому-то знаещему LUA надо будет понять протокол за 1мин то он возмет мой скрипт.
Скорее он заглянет http://mydc.ru/r/?http://developer.valvesoftware.com/wiki/Source_Server_Queries.
Цитата(zangriEBP @ 8.5.2009, 5:55) *
Менюшек нет и не будет(я щитаю их флудом)
Бред, чесслово.

Автор: zangriEBP 8.5.2009, 10:24

CODE
function OnStartup()
TmrMan.AddTimer(0,"Func1") --задача 1
TmrMan.AddTimer(0,"Func1") --задача 2
end
function Func1(tmr)
Core.SendToAll("тест")
TmrMan.RemoveTimer(tmr)
end


Удаление оффлайн серверов я и так планировал...

Автор: mariner 8.5.2009, 11:06

на счет потоков - все решаемо. Ибо кадлый скрипт луа пашет в своем потоке ( в linux я это проверил). Так вот, к чему я. Можно сделать один скрипт с менюшкой и списком серверов и из него вызывать другой скрипт, который и будет сканировать сам сервер.

Автор: zangriEBP 8.5.2009, 11:36

и как же вы себе представляете менюшу с 40 серверами кс 1.6 ? big_smile.gif + еще минюшки счастья big_smile.gif
конечно можно разбить менюшку на подменюшки, но эт какое-то извращенство big_smile.gif DOS атака...
вот ради таких скриптов в своем клиенте обрубил хабовские менюшки - а нефиг big_smile.gif

Автор: Wariner 8.5.2009, 12:15

я бы сказал что менюшки - это польза! Делать скрипт без меню всё равно что холодильник без ручки....

Цитата(zangriEBP @ 8.5.2009, 12:36) *
конечно можно разбить менюшку на подменюшки, но эт какое-то извращенство big_smile.gif

для этого и нужен кодер чтоб правильно всё организовать!
Цитата(zangriEBP @ 8.5.2009, 12:36) *
DOS атака...

вообще не о чём....

Автор: Setuper 8.5.2009, 13:10

Да уж... И вправду такой бред написан...

1) Клиенты юзеров ежесекундно получают поисковые команды, поэтому отсылка однажды команды с менюшками - это мелочь, которая никак не влияет на производительность сервера (тем более если отсылать все менюшки одной командой, которая будет разбираться на стороне клиента).

2) DOS атакой тут и не пахнет. Для её осуществления нужно в течении длительного времени отсылать по нескольку команд в секунду, что невозможно выполнить одним клиентом, поэтом обычно говорят о DDOS атаках, то есть атаках одновременно с нескольких компов, но даже в этом случае на стороне клиентов dc есть некая защита, поэтому DDOS атаки проходят только если атаковать не пользователей, а неких других людей, которые вообще не имеют никакого отношения к dc сетям.

3) По поводу распараллеливания задач в LUA, могу сказать что это невозможно из-за того, что в LUA имеется общий стек, в который вносятся операторы, функции, переменные и тд., и также по очереди они оттуда вынимаются и выполняются. Приведённый код не будет выполняться параллельно!

Некой многопоточностью в lua можно считать механизм работы с подпрограммами coroutine, но она также будет выполняться последовательно, а не параллельно!

Автор: zangriEBP 8.5.2009, 13:17

Идея с мультизадачностью частично провалилась ;\
Как оказалось во время ожидания сокета птоха просто зависает!
Из за этого смысла в мультизадачности 0

Если взять к примеру язык АСМ чтобы я не сделал(на процессоре i386)
всеравно команды выполнятся последовательно а не параллельно!
Некая псевдопараллельность big_smile.gif
PUSH и POP в чем проблема? выполнил команду, вернул стек.

Вот если бы была функция уведомления о новых данных сокета,
птоха бы не висла и у меня все бы получилось!

А вот он  Monitoring_1.1BETA.rar ( 1.19 килобайт ) : 29
работает раза в 3 быстрее при большом количестве серверов... но этого мало...

З.Ы. а про DOS атаку это была шутка...

Автор: alex82 8.5.2009, 20:21

Цитата(zangriEBP @ 8.5.2009, 13:17) *
А вот он  Monitoring_1.1BETA.rar ( 1.19 килобайт ) : 29
работает раза в 3 быстрее при большом количестве серверов... но этого мало...
Быстрее чем что?

Автор: mariner 8.5.2009, 21:13

Цитата(alex82 @ 8.5.2009, 21:21) *
Быстрее чем что?


[flood]резче поноса видать[/flood]

Автор: Setuper 9.5.2009, 11:31

Цитата(zangriEBP @ 8.5.2009, 14:17) *
Если взять к примеру язык АСМ чтобы я не сделал(на процессоре i386)
всеравно команды выполнятся последовательно а не параллельно!
Некая псевдопараллельность big_smile.gif
PUSH и POP в чем проблема? выполнил команду, вернул стек.


Я не говорю, что параллельность сделать нельзя, наоборот, можно, но для этого надо написать свою библиотеку.
Я говорю, что параллельность нельзя реализовать базовыми средствами языка lua, то есть без использования синтаксиса C API LUA.

Однако, даже используя средства C API LUA, это задача не из лёгких. Если написать такую библиотеку, то можно будет значительно оптимизировать работу любого скрипта big_smile.gif

Автор: zangriEBP 10.5.2009, 9:38

блин я бы с радостью ее написал если бы были какие нибудь исходники под асм =\
и мониторинг то же бы замутил не скриптом...

Автор: Маза 29.12.2012, 19:54

Core.SendToAll("<"..BotName.."> "..[[Айпи адрес сервера ---> ]]..sServerIp[i]..':'..sServerPort[i]..enter..
не понятно куда ип и порт)