Иконка ресурса

[CS:GO] Esl Admin ESP 2.8

Нет прав для скачивания
Сообщения
233
Реакции
89
Дак логично, по сути с этим экстейшеном вместо 1 вызова CGameServer::SendClientMessages будет произведено до 64-х вызовов (для ксго), то есть максимальная нагрузка от данной функции на сервер возрастает в 64 раза (в зависимости от кол-ва игроков: сколько на сервере игроков, столько и будет вызовов + 1 для "нулевых" клиентов). И это уже не говоря о вызовах CGameClient::ShouldSendMessages, которых в худшем случае будет произведено порядка до ~4000 раз за фрейм. Нагрузку на клиентов экстейшен не дает, но серверные ресурсы кушает круто, для тф2 я сделал некоторые ассемблерные оптимизации, позволяющие резко снизить кол-во вызовов CGameClient::ShouldSendMessages (максимум до пары сотен раз), возможно подобные так же будут сделаны и для ксго, но ничего обещать не могу, так как в ксго не играю. :dntknw:
Собственно о том, что будет такая нагрузка и что там нет какого-то простого способа сделать это писали и на alliedmodders в том числе.
Клиент крашило тоже, яб повторил тест но уже весь народ замучал. С текущем sendproxy практически все хорошо, есть редкие случаи несрабатывания анхука на игроков после смены карты.
Я даж решил отловить спавн через dhooks, пофиксив этим отсутствие срабатывания события спавна при autojoin в начале карты но черно оч редко есть прозрачные игроки.
 
Сообщения
5
Реакции
1
Клиент крашило тоже, яб повторил тест но уже весь народ замучал. С текущем sendproxy практически все хорошо, есть редкие случаи несрабатывания анхука на игроков после смены карты.
Я даж решил отловить спавн через dhooks, пофиксив этим отсутствие срабатывания события спавна при autojoin в начале карты но черно оч редко есть прозрачные игроки.
Насчет краша клиента, вряд ли ошибка в SendProxy, но может и в нём, если выдает какое-либо сообщение при краше, то давайте его сюда, так как под ксго я ничего не тестил особо в виду технических причин, да и вообще сделал этот билд по просьбе одного из юзеров AM. =D
Насчет снятия хуков в конце карты - сервер "инактивирует" всех клиентов перед сменой карты и для них вызывается ClientDisconnect, экстейшен это отлавливает и снимает хуки:
PHP:
void Hook_ClientDisconnect(edict_t* pEnt)
{
    for (int i = 0; i < g_Hooks.Count(); i++)
    {
        if (g_Hooks[i].objectID == gamehelpers->IndexOfEdict(pEnt))
            g_SendProxyManager.UnhookProxy(i);
    }

    for (int i = 0; i < g_ChangeHooks.Count(); i++)
    {
        if (g_ChangeHooks[i].objectID == gamehelpers->IndexOfEdict(pEnt))
            g_ChangeHooks.Remove(i--);
    }
    RETURN_META(MRES_IGNORED);
}
Прозрачные игроки и всё в этом духе, если не было никакого вмешательства - это не проблема экстейшена, это баг на стороне клиента, такое есть и в тф, и встречается даже на ванильных серверах, фиксится путём введения "record 0; stop" в консоль.

Алсо, насчет текущего сендпрокси, там практически никаких исправлений не было. Исправил лишь пару косяков в виде неправильного каллбека в функции хука пропов геймдаты, которая нигде не используется, но видимо была оставлена на будущее для будущего интерфейса, и отсутствие логичного ретёрна в нативе анхука массивов.
То есть если и есть какие-то проблемы, то они связаны непосредственно с моими модификациями, и о них лучше сообщать сюда, я буду чекать эту тему.
 
Последнее редактирование:
Сообщения
233
Реакции
89
Насчет краша клиента, вряд ли ошибка в SendProxy, но может и в нём, если выдает какое-либо сообщение при краше, то давайте его сюда, так как под ксго я ничего не тестил особо в виду технических причин, да и вообще сделал этот билд по просьбе одного из юзеров AM. =D
Насчет снятия хуков в конце карты - сервер "инактивирует" всех клиентов перед сменой карты и для них вызывается ClientDisconnect, экстейшен это отлавливает и снимает хуки:
PHP:
void Hook_ClientDisconnect(edict_t* pEnt)
{
    for (int i = 0; i < g_Hooks.Count(); i++)
    {
        if (g_Hooks[i].objectID == gamehelpers->IndexOfEdict(pEnt))
            g_SendProxyManager.UnhookProxy(i);
    }

    for (int i = 0; i < g_ChangeHooks.Count(); i++)
    {
        if (g_ChangeHooks[i].objectID == gamehelpers->IndexOfEdict(pEnt))
            g_ChangeHooks.Remove(i--);
    }
    RETURN_META(MRES_IGNORED);
}
Прозрачные игроки и всё в этом духе, если не было никакого вмешательства - это не проблема экстейшена, это баг на стороне клиента, такое есть и в тф, и встречается даже на ванильных серверах, фиксится путём введения "record 0; stop" в консоль.

Алсо, насчет текущего сендпрокси, там практически никаких исправлений не было. Исправил лишь пару косяков в виде неправильного каллбека в функции хука пропов геймдаты, которая нигде не используется, но видимо была оставлена на будущее для будущего интерфейса, и отсутствие логичного ретёрна в нативе анхука массивов.
То есть если и есть какие-то проблемы, то они связаны непосредственно с моими модификациями, и о них лучше сообщать сюда, я буду чекать эту тему.
Как я понимаю на cs go не сделать "record 0; stop" на стороне клиента? или я чтот путаю?
Краши пофиксились через sv_parallel_sendsnapshot 0 на стороне сервера.
 
Сообщения
5
Реакции
1
Как я понимаю на cs go не сделать "record 0; stop" на стороне клиента? или я чтот путаю?
Краши пофиксились через sv_parallel_sendsnapshot 0 на стороне сервера.
Я говорю про краши клиентов, о которых вы упомянули. Насчет инвизных игроков да, на стороне клиента "record 0; stop", если это конечно произошло не из-за вашего вмешательства.
sv_parallel_sendsnapshot отвечает за параллельную отправку "запакованных" ентити каждому клиенту индивидуально, кстати как вариант, можно перехватить ParallelProcess и SV_ParallelSendSnapshot, это выглядит как-то так:
PHP:
        if (count > 1 && sv_parallel_sendsnapshot->GetBool())
            ParallelProcess(clients, count, SV_ParallelSendSnapshot);
        else
        {
            int counter = 0; //?
            while (counter < count)
            {
                CGameClient * client = (CGameClient *)((char *)clients + (counter * 4));
                CClientFrame * frame = CGameClient::GetSendFrame(client);
                if (!frame)
                {
                    counter++;
                    continue;
                }
                CGameClient::SendSnapshot(client, frame);
                CGameClient::UpdateSendState(client);
                counter++;
            }
        }
Честно говоря, я сомневаюсь, что краши клиентов связаны с sendproxy...
 
Последнее редактирование:
Сообщения
233
Реакции
89
Я говорю про краши клиентов, о которых вы упомянули. Насчет инвизных игроков да, на стороне клиента "record 0; stop", если это конечно произошло не из-за вашего вмешательства.
sv_parallel_sendsnapshot отвечает за параллельную отправку "запакованных" ентити каждому клиенту индивидуально, кстати как вариант, можно перехватить ParallelProcess и SV_ParallelSendSnapshot, это выглядит как-то так:
PHP:
        if (count > 1 && sv_parallel_sendsnapshot->GetBool())
            ParallelProcess(clients, count, SV_ParallelSendSnapshot);
        else
        {
            int counter = 0; //?
            while (counter < count)
            {
                CGameClient * client = (CGameClient *)((char *)clients + (counter * 4));
                CClientFrame * frame = CGameClient::GetSendFrame(client);
                if (!frame)
                {
                    counter++;
                    continue;
                }
                CGameClient::SendSnapshot(client, frame);
                CGameClient::UpdateSendState(client);
                counter++;
            }
        }
Честно говоря, я сомневаюсь, что краши клиентов связаны с sendproxy...
Данный краш клиента был ток на твоей версии Senproxy, у всех кто был под хуком крашнулась кс с ошибкой но вот заскринить не успел(
 
Сообщения
5
Реакции
1
Данный краш клиента был ток на твоей версии Senproxy, у всех кто был под хуком крашнулась кс с ошибкой но вот заскринить не успел(
В таком случае если еще раз будет подобный краш, пожалуйста, сделай скрин ошибки, если он конечно будет, скорее всего это связано только с билдом под ксго. Наши сервера в тф работают на моей модификации сендпрокси без каких либо подобных казусов =D
Кстати сделал небольшую ассемблерную оптимизацию и под ксго.
 
Сообщения
284
Реакции
42
@xXMaXimXx,
Прозрачные игроки и всё в этом духе, если не было никакого вмешательства - это не проблема экстейшена, это баг на стороне клиента, такое есть и в тф, и встречается даже на ванильных серверах, фиксится путём введения "record 0; stop" в консоль.
 

xXMaXimXx

хХх
Сообщения
272
Реакции
38
Сообщения
233
Реакции
89
баг с невидимыми игроками будет фикситься? Можно спросить ?
Если он и есть то баг очень редко проявляется
--- Добавлено позже ---
В таком случае если еще раз будет подобный краш, пожалуйста, сделай скрин ошибки, если он конечно будет, скорее всего это связано только с билдом под ксго. Наши сервера в тф работают на моей модификации сендпрокси без каких либо подобных казусов =D
Кстати сделал небольшую ассемблерную оптимизацию и под ксго.
Тестану как нить но нагрузка колоссальна с твоим модулем
 

xXMaXimXx

хХх
Сообщения
272
Реакции
38
Если он и есть то баг очень редко проявляется
--- Добавлено позже ---

Тестану как нить но нагрузка колоссальна с твоим модулем
Не редко. Плагин работает по флагу "n" все те, у кого данный флаг невидимые.
--- Добавлено позже ---
Не редко. Плагин работает по флагу "n" все те, у кого данный флаг невидимые.
Привилегии с данным флагом у администрации и у вип игроков.
 
Последнее редактирование:
Сообщения
233
Реакции
89
Не редко. Плагин работает по флагу "n" все те, у кого данный флаг невидимые.
--- Добавлено позже ---

Привилегии с данным флагом у администрации и у вип игроков.
У меня порядка 20 админов 5-7 из них гдет на серве, 1 игрок за неделю невидимый
 
Сообщения
233
Реакции
89
В таком случае это всё таки из-за вмешательства со стороны разработчика плагина, и если такой баг есть, его надо фиксить.
Выйдет еше одна версия, добавлю glow на дропнутые оружия там будет несколько правок но уж дело не в плагине, глянь даж текущий код
--- Добавлено позже ---
Не редко. Плагин работает по флагу "n" все те, у кого данный флаг невидимые.
--- Добавлено позже ---

Привилегии с данным флагом у администрации и у вип игроков.
Проверь лс
 
Сообщения
233
Реакции
89
Сообщения
233
Реакции
89
В таком случае это всё таки из-за вмешательства со стороны разработчика плагина, и если такой баг есть, его надо фиксить.
Сам код глянь, могу канеш в догонку накинуть проверку со вторым анхуком через RequestFrame но ет уже быдлядство

Мне кажется такое не уместно добавлять

Код:
ConVar AdminESPunhookType = null;

AdminESPunhookType = CreateConVar("sm_esl_adminesp_unhook_type", "1", "Unhook type player spawn (1-Standart /2 Next Frame unhook /3-Double unhook: Standart + Next Frame)", _, true, 1.0, true, 3.0);

public bool SetEspHook(int client, bool value) {
    if (value) {
        if (!SendProxy_IsHooked(client, "m_iTeamNum"))
            SendProxy_Hook(client, "m_iTeamNum", Prop_Int, Set_Esp);
    } else {
        if (AdminESPunhookType.IntValue == 1 || AdminESPunhookType.IntValue == 3) {
            if (SendProxy_IsHooked(client, "m_iTeamNum"))
                SendProxy_Unhook(client, "m_iTeamNum", Set_Esp);
        }

        if (AdminESPunhookType.IntValue == 2 || AdminESPunhookType.IntValue == 3) {
            RequestFrame(FrameUnhook, GetClientSerial(client));
        }
    }
}

public void FrameUnhook(any serial) {
    int client = GetClientFromSerial(serial);
    if (IsValidClient(client)) {
        if (SendProxy_IsHooked(client, "m_iTeamNum"))
            SendProxy_Unhook(client, "m_iTeamNum", Set_Esp);
    }
}
 
Последнее редактирование:
Сообщения
233
Реакции
89
Пользователь SAZONISCHE обновил ресурс [CS:GO] Esl Admin ESP новой записью:

Обновление до 2.7

  1. Добавлена проверка для CS_SwitchTeam (прозрачность появлялась из за установленных сторонних плагинов с данной функцией)
  2. Удален квар sm_esl_adminesp_proxy_enable
  3. Удален Unhook в конце раунда
  4. Удален хук спавна через dhooks, заменен стандартным, теперь анхук идет при выборе команды.
Узнать больше об этом обновлении...
 
Сообщения
233
Реакции
89
И снова обновлять))
Ну оказалось были прост конфликты с другими плагинами о которых я не догадался
--- Добавлено позже ---
easy_esl_admin_esp Данный вариант не требует Sendproxy не крашит серв и не требует sv_parallel_packentities 0, но работает ток в наблюдателях.

Обновил до 1.3 (01/27/19)
  1. Поправлен glow оружия когда игрок жив
Обновил до 1.2 (01/21/19)
  1. Добавлен glow на оружии
  2. Применяется ток в наблюдении
 

Вложения

Последнее редактирование:
Сверху