Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

5 страниц V   1 2 ... 3 4 »

Костыль от слетающего Fastdl при перезаходе

Статус пользователя mazdan
сообщение 2.11.2012, 21:53
Сообщение #1


Иконка группы

Стаж: 15 лет

Сообщений: 7566
Благодарностей: 5437
Полезность: 1305

Плагин исправляет костыльчиком) баг со слетающей автозагрузкой если клиент нажал кнопку отмена в окне загрузки и снова заходит на сервер.
Работает следующим образом - если прошлый коннект клиента был менее 3х секунд назад, то мы коннектим его на немного измененный адрес. Клиент думает что это новый сервер и заходит на него скачивая с быстрой загрузки HTTP.
Исходник
Код
#include <amxmodx>
#define PLUGIN "Fast DL fix"
#define VERSION "0.3"
#define AUTHOR "mazdan"

new ip[32]
new g_time
new g_setinfo

public plugin_init()
{
    register_plugin( PLUGIN, VERSION, AUTHOR );
    register_cvar("fixfastdl_ip","127.0.0.1:27015");
    register_cvar("fixfastdl_time","3");
    register_cvar("fixfastdl_si","1");
}

public plugin_cfg()
{
    g_time=get_cvar_num("fixfastdl_time")
    g_setinfo=get_cvar_num("fixfastdl_si")
    if(!g_time)
        g_time=3
    get_cvar_string("fixfastdl_ip",ip,31)
}

public client_connect(id)
{
    if(!is_user_hltv(id) && !is_user_bot(id))
    {
        static last_time[33]
        static userip[33]
        static userinfo[2]
        get_user_ip(id,userip,32)
        get_user_info(id,"rd",userinfo,1)
        if((get_systime()-last_time[id])>g_time && (!userinfo[0] || !g_setinfo))
        {
            (g_setinfo) ? client_cmd(id,"setinfo rd 1;Connect %s %d", ip,random_num(1,9999)):client_cmd(id,"Connect %s %d", ip,random_num(1,9999))
           // log_amx("REDIR %d %s => %d %d diff = %d SI %d %d ",id,userip,last_time[id],get_systime(),last_time[id]-get_systime(),userinfo[0])
        }
        else
        {
           // log_amx("OK %d %s => %d %d diff = %d SI %d %d",id,userip,last_time[id],get_systime(),last_time[id]-get_systime(),userinfo[0])
            if(g_setinfo) client_cmd(id,"setinfo rd ^"^"") //на всякий случай
        }
        last_time[id]=get_systime()
    }
}
Добавлены квары:
fixfastdl_ip "127.0.0.1:27015" //айпи вашего сервера (ну или моего ;) )
fixfastdl_time 3 // Очень важный квар. Маленькие значения могут привести к постоянному реконнекту игроков, большие к тому что плагин будет не всегда отрабатывать. Рекомендую значения 3-20, лучше больше. Вполне хорошо будет 5-10
fixfastdl_si 1 //использовать дополнительную проверку через setinfo или не использовать.

Внимание. Версию 0.3 я тестировал на локальном сервере. Настройте плагин, будьте админами, а не "ой поставлю ка"
Сам я не пользуюсь плагином - у меня нет серверов с модами. Файлы стандартные, проблем таких не возникает.

Отредактировал: mazdan, - 4.11.2012, 11:15
Прикрепленные файлы:
Прикрепленный файл  fast_dl.rar ( 2,91 килобайт ) Кол-во скачиваний: 373


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 18 раз
   Цитировать сообщение
Статус пользователя Predat0r
сообщение 2.11.2012, 22:08
Сообщение #2
Стаж: 14 лет

Сообщений: 1245
Благодарностей: 375
Полезность: < 0

Спасибо =)

Отредактировал: Predat0r, - 2.11.2012, 22:16
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
by Fan
сообщение 2.11.2012, 22:35
Сообщение #3
Стаж: 14 лет

Сообщений: 1904
Благодарностей: 556
Полезность: 0

Протестируйте кто нибудь, сутки двое, если полет нормальный себе поставлю.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mazdan
сообщение 2.11.2012, 22:42
Сообщение #4


Иконка группы

Стаж: 15 лет

Сообщений: 7566
Благодарностей: 5437
Полезность: 1305

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


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Predat0r
сообщение 3.11.2012, 9:51
Сообщение #5
Стаж: 14 лет

Сообщений: 1245
Благодарностей: 375
Полезность: < 0

Как-то криво работает.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mazdan
сообщение 3.11.2012, 10:58
Сообщение #6


Иконка группы

Стаж: 15 лет

Сообщений: 7566
Благодарностей: 5437
Полезность: 1305

Цитата(Predat0r @ 3.11.2012, 10:51) *
Как-то криво работает.

Спасибо за подробный отчет, сделаем потом чтобы работало прямее.


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 3 раз
   + Цитировать сообщение
Статус пользователя Predat0r
сообщение 3.11.2012, 10:58
Сообщение #7
Стаж: 14 лет

Сообщений: 1245
Благодарностей: 375
Полезность: < 0

Цитата(mazdan @ 3.11.2012, 11:58) *
Спасибо за подробный отчет, сделаем потом чтобы работало прямее.

Cервер всю ночь висел без онлайна (я спал),поэтому собрать отчет не было возможности.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mazdan
сообщение 3.11.2012, 11:03
Сообщение #8


Иконка группы

Стаж: 15 лет

Сообщений: 7566
Благодарностей: 5437
Полезность: 1305

вы плагин настраивали? айпи ваш вписали?
Время? Включите логи. Там строчка есть закомментированная.
Сейчас добавлю описание.


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Predat0r
сообщение 3.11.2012, 11:10
Сообщение #9
Стаж: 14 лет

Сообщений: 1245
Благодарностей: 375
Полезность: < 0

Цитата(mazdan @ 3.11.2012, 11:03) *
вы плагин настраивали? айпи ваш вписали?

1)да
2)да
3)логи включу , не увидел закомментированную строчку

Отредактировал: Predat0r, - 3.11.2012, 11:11
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mazdan
сообщение 3.11.2012, 11:19
Сообщение #10


Иконка группы

Стаж: 15 лет

Сообщений: 7566
Благодарностей: 5437
Полезность: 1305

Цитата(Predat0r @ 3.11.2012, 12:10) *
1)да
2)да
3)логи включу , не увидел закомментированную строчку

Я вынес квары. Берите сразу новый.


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Andrei
сообщение 3.11.2012, 11:21
Сообщение #11


Стаж: 15 лет

Сообщений: 1335
Благодарностей: 693
Полезность: 740

Забей,Аркшайн сделает скоро нормальный модуль.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя mazdan
сообщение 3.11.2012, 11:24
Сообщение #12


Иконка группы

Стаж: 15 лет

Сообщений: 7566
Благодарностей: 5437
Полезность: 1305

Цитата(Bos93 @ 3.11.2012, 12:21) *
Забей,Аркшайн сделает скоро нормальный модуль.

не сделает. Вся надежда на Альфреда.
Да, клиент дисконнект не хукается при нажатии отмены.

Отредактировал: mazdan, - 3.11.2012, 11:25


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Andrei
сообщение 3.11.2012, 11:54
Сообщение #13


Стаж: 15 лет

Сообщений: 1335
Благодарностей: 693
Полезность: 740

Сделае сделает.Ни каких Альфредов не знаю. Реконнект легко хукается.Я же в своем плагине сделал.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mazdan
сообщение 3.11.2012, 12:17
Сообщение #14


Иконка группы

Стаж: 15 лет

Сообщений: 7566
Благодарностей: 5437
Полезность: 1305

Цитата(Bos93 @ 3.11.2012, 12:54) *
Сделае сделает.Ни каких Альфредов не знаю. Реконнект легко хукается.Я же в своем плагине сделал.

Всё сделанное на metamod / amxx это костыль.
Если вы не понимаете принцип работы этого косыля - это не моя проблема.

Отредактировал: mazdan, - 3.11.2012, 12:32


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Andrei
сообщение 3.11.2012, 14:09
Сообщение #15


Стаж: 15 лет

Сообщений: 1335
Благодарностей: 693
Полезность: 740

Не нужно мне говорить про принципы работы,если вы утверждаете,что модуль ничем не будет эффективней,вы заблуждаетесь.Если вы утверждаете,что на амхх нельзя реконнект отловить,о чем речь?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
cs-portal
сообщение 3.11.2012, 15:15
Сообщение #16
Стаж: 16 лет

Сообщений: 8181
Благодарностей: 2709
Полезность: 0

он говорит о дисконнекте а не о реконнекте
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mazdan
сообщение 3.11.2012, 16:43
Сообщение #17


Иконка группы

Стаж: 15 лет

Сообщений: 7566
Благодарностей: 5437
Полезность: 1305

Bos93,ни того ни другого я не утверждал.
Если Альфред сделает фикс, то я отпишу об этом.


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя primm
сообщение 4.11.2012, 10:16
Сообщение #18


Стаж: 16 лет
Город: Москва

Сообщений: 517
Благодарностей: 140
Полезность: 520

что, только у меня проблема с версией 0.2?
не пускает на сервер. пробовал менять время на 1; 3; 5; и 10. на 10-ти заходит со второго раза, а через авто-реконнект вообще не пускает.
логи с 10 сек

L 11/04/2012 - 11:52:44: [fastdl.amxx] REDIR 1 мой IP:27005 => 0 1352015564 diff = -1352015564
L 11/04/2012 - 11:53:53: [fastdl.amxx] REDIR 1 мой IP :27005 => 1352015564 1352015633 diff = -69
L 11/04/2012 - 11:53:57: [fastdl.amxx] OK 1 мой IP:27005 => 1352015633 1352015637 diff = -4
L 11/04/2012 - 11:54:32: [fastdl.amxx] REDIR 1 мой IP:27005 => 0 1352015672 diff = -1352015672
L 11/04/2012 - 11:54:38: [fastdl.amxx] OK 1 мой IP:27005 => 1352015672 1352015678 diff = -6
L 11/04/2012 - 11:54:40: [fastdl.amxx] OK 1 мой IP:27005 => 1352015678 1352015680 diff = -2

на 0.1 версии без проблем.

Отредактировал: primm, - 4.11.2012, 10:18
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя mazdan
сообщение 4.11.2012, 11:07
Сообщение #19


Иконка группы

Стаж: 15 лет

Сообщений: 7566
Благодарностей: 5437
Полезность: 1305

Бывает что редиректит из-за других плагинов. По-моему провекра opengl дает эффект реконнекта.
А вообще там ошибка была =) сейчас поправлю =)
В любом случае можно попробовать


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя primm
сообщение 4.11.2012, 11:12
Сообщение #20


Стаж: 16 лет
Город: Москва

Сообщений: 517
Благодарностей: 140
Полезность: 520

Цитата(mazdan @ 4.11.2012, 11:07) *
Бывает что редиректит из-за других плагинов. По-моему провекра opengl дает эффект реконнекта.
А вообще там ошибка была =) сейчас поправлю =)
В любом случае можно попробовать

проверял на двух серверах один из который игровой, не на одном античита на openGL не стоит.

Отредактировал: primm, - 4.11.2012, 11:14
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
5 страниц V   1 2 ... 3 4 »
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: