Идея насчет реконнектора

General Injection issues

Moderators: Murderator+, Murderator

Post Reply
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Идея насчет реконнектора

Post by Edred »

Скрипт на реконнект есть, но с ним только одна проблема - если инет лег из-за лагов на время - он не поможет.

Потому идея - нужно написать маленькую утилю, которая будет пинговать указанный адрес. Вызываться должна из командной строки (чтобы из скрипта на реконнект вызывать через лаунч), флаг нормального пинга выставлять в реестр, в глобальную переменную ИзиУО (желательно в параметрах запуска утили сделать флаг номера переменной). Типа:

Code: Select all

UO.SetEasyUO( '10', '0' )
UO.Launch( 'c:\pingshard.exe', '\EUO=10 \IP=255.255.255.0' )
repeat
   wait(1000)
until UO.GetEasyUO( '10' ) == '1'


Кто взялся бы написать такую утилю?
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

а в чем идея?
Есть ли соединение и так можно узнать (в инжекте). Все равно механизм реконекта остается тот же (say и тд).
Да и если инет падает
то можно сделать что бы прога фиксировала колво ошибок (потерю пакетов, если это происходи несколько раз подряд).
А вообще в свое время была мысль на писать приблуду (где то уже была такая идея, возможно ктото реализовал, или в гендальфе такое).
На писчать прогу которая будет комутировать инжект с сервером и отвечать за дисконекты и переконекты, то есть для юзверя дисконект не будет виден это будет чтото в роде не большого лага... за это время прога скомутируетсяс сервером и все будет в шоколаде;)
Но это толко в мозгах;)
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

Grin wrote:А вообще в свое время была мысль на писать приблуду (где то уже была такая идея, возможно ктото реализовал, или в гендальфе такое).
На писчать прогу которая будет комутировать инжект с сервером и отвечать за дисконекты и переконекты, то есть для юзверя дисконект не будет виден это будет чтото в роде не большого лага... за это время прога скомутируетсяс сервером и все будет в шоколаде;)
Но это толко в мозгах;)


Если написать как ты говоришь - клиент все равно конлост выкинет, в нем зашито где-то макс время на этот самый лаг. Не думаю, что больше минуты будет ждать. В гендальфе (и, похоже, в стелсе) реализация через виртуальный сервер, то есть гендальф устанавливает на комп виртуальный шард и клиент коннектится к нему. Тогда если связь между виртуальным и реальным сервером потеряна (реконнектор ее восстановит), между клиентом и виртуальным сервером минимальный обмен пакетами идет и тут как лаг все выглядит.

Но все это прожекты, которые если и будут осуществлены - то когда-то в другой жизни. Я же речь веду о простенькой проге (мне самому просто довольно тяжело на сегодняшний день сесть и разбираться, я программы для сети/инета не писал никогда), которая была бы отличным дополнением к тому скрипту на реконнект, который валяется тут на форуме. Этот скрипт, кстати, довольно неплохо реконнектит, только если именно конлост "быстрый". Потому что если клиент при реконнекте выдаст что не могу связаться - пишите письма. Даже если через 2 минуты уже можно будет связаться. А вот такая прога помогла бы именно проверить, есть ли возможность связаться.

ЗЫ: Первый раз слышу, что в инжекте можно проверить возможность коннекта к указанному серверу в указанное время, если при этом чар в это время отконнекчен от шарда.
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...
doomstar
Posts: 18
Joined: 2005-05-21 00:16:16

Post by doomstar »

пока инжект восстанавливает соединение он пожет посылать клиенту пакеты от сервера и клиент будет думать что конлоста нету
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

Ед вся защита клиента т лага это:
1. Закрытие сокета
2. Пакет Ping (непомню номер пакета)

Ничего не мешает это реализовать
а поповоду узнать есть ли конект попробуй
uo.isonline()
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

Grin wrote:а поповоду узнать есть ли конект попробуй
uo.isonline()


Я экспериментировал с IsOnline - она показывает есть ли коннект когда клиент законнекчен с шардом. А после конлоста, когда клиент уже выдал табличку об этом, ни фига она не покажет. А меня интересует сама возможность коннекта, пора ли запускать скрипт на реконнект. Шарды, бывает, на полчаса-час ложатся - как отследить момент, когда он снова встал, чтобы запустить скрипт на реконнект? Кроме пинга - решений не вижу.
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...
doomstar
Posts: 18
Joined: 2005-05-21 00:16:16

Post by doomstar »

если стандартная виндовая команда telnet возвращает ошибку если не может законектится то на этой основе можно написать .cmd скрипт, который бы проверял код ошибки от telnet и передавал инжекту информацию о том законектился он или нет.
Просто гипотиза, сам не проверял.
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

doomstar wrote:если стандартная виндовая команда telnet возвращает ошибку если не может законектится то на этой основе можно написать .cmd скрипт, который бы проверял код ошибки от telnet и передавал инжекту информацию о том законектился он или нет.
Просто гипотиза, сам не проверял.


Проверю в выходные.
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...
Ded Banzai
Posts: 1
Joined: 2004-10-04 12:10:50
Contact:

Post by Ded Banzai »

Edred wrote:
doomstar wrote:если стандартная виндовая команда telnet возвращает ошибку если не может законектится то на этой основе можно написать .cmd скрипт, который бы проверял код ошибки от telnet и передавал инжекту информацию о том законектился он или нет.
Просто гипотиза, сам не проверял.


Проверю в выходные.


Есть программы, которые мониторят сервис относительно адреса сервера и порта, и, на основании этого, позволяют выполнить какое-либо действие. Например записать в текстовый файл значение, когда сервер в дауне и когда в апе его изменить. Например The Dude. Можно воспользоваться этим... :)
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

Меня это уже не интересует... :wink: Я инжект использую уже только в ПвП и ПвМ. Прокачка и добыча, то есть там, где нужен реконнектор - на стелсе.
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...
Post Reply