Перейти к публикации
  • Синхронизация изменений с L4D2-Competitive-Rework


    Electr0
    • Публичное тестирование

    Т.к. потихоньку набирается состав исходников соответствующий тому что используется 

     

    нужно продолжать работу над сведением действительно полезных изменений из https://github.com/SirPlease/L4D2-Competitive-Rework, но дозированно т.к. нет прямых доказательств для применения к примеру Bullet Displacement Fix или L4D2 Changelevel

     


    Отзывы пользователей

    Рекомендованные комментарии



    • исправлено много предстартовых багов,
    • плагины теперь отсорсортированы,
    • сервер перешел под сорсмод 1.9
    • metamod плагин buldozer chargers собран под последними sm и metamod source используемых по ветке 1.9
    • проведены сравнения и выявлены улучшения касательно eq based плагинов. выявил что автор так и не пересобрал плагины, а это глупо, много плагинов собирались последний раз в 2013-2014 годах.
    • Sir так и не внес фикс краша плагина l4d2_melee_fix в eq based конфиг, странно ну ладно пускай у них падает)
    • поправлены старые баги в конфигах

     

    следующий этап сравнения с zonemod.

    Ссылка на комментарий
    Поделиться на других сайтах

    confoglcompmod: https://github.com/SirPlease/L4D2-Competitive-Rework/blob/master/addons/sourcemod/scripting/modules/ReqMatch.sp#L121

     

    было:

    SetConVarInt(RM_hReloaded,1);
    GetConVarString(RM_hConfigFile_Plugins,sBuffer,sizeof(sBuffer));
    ExecuteCfg(sBuffer);
    ServerCommand("exec generalfixes.cfg");
    ServerCommand("exec sharedplugins.cfg");
    return;

    должно было быть:

    SetConVarInt(RM_hReloaded,1);
    GetConVarString(RM_hConfigFile_Plugins,sBuffer,sizeof(sBuffer));
    ServerCommand("exec generalfixes.cfg");
    ExecuteCfg(sBuffer);
    ServerCommand("exec sharedplugins.cfg");
    return;

     

    :vk_foxy_16:

    Ссылка на комментарий
    Поделиться на других сайтах

    ally_vanilla_settings.sp загружает плагины ваниллы при запуске конфига, т.к. натив LGO_IsMatchModeLoaded на тот момент все еще сообщает что матч не загружен

    Ссылка на комментарий
    Поделиться на других сайтах

    16 минут назад, Electr0 сказал:

    ally_vanilla_settings.sp загружает плагины ваниллы при запуске конфига, т.к. натив LGO_IsMatchModeLoaded на тот момент все еще сообщает что матч не загружен

    создал натив LGO_IsMatchModeActive в confoglcompmod который дает значение переменной RM_bIsAMatchActive которая становится true от самого начала процесса загрузки конфига, и false как только конфиг выгружается.

    Ссылка на комментарий
    Поделиться на других сайтах

    исправлена проблема переодического пропадания сервера из сервер браузера из-за агрессивных настроек квар:

    sm_cvar sv_max_queries_sec_global 10
    sm_cvar sv_max_queries_sec 3 
    sm_cvar sv_max_queries_window 10

     

    Ссылка на комментарий
    Поделиться на других сайтах

    активные проблемы:

    • иногда если перезагружать сервер с _restart он может упасть
    • Скрытый текст

      ----------------------------------------------
      CRASH: Sun Aug 11 20:33:58 MSK 2019
      Start Line: ./srcds_linux -game left4dead2 -strictportbind -ip 195.88.209.62 -port 27120 +clientport 27005 +map c1m1_hotel -maxplayers 14 +mp_gamemode coop +exec server.cfg -tickrate 100 -debug -nowatchdog
      [New LWP 78327]
      [New LWP 78352]
      [Thread debugging using libthread_db enabled]
      Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
      Core was generated by `./srcds_linux -game left4dead2 -strictportbind -ip 195.88.209.62 -port 27120 +c'.
      Program terminated with signal SIGSEGV, Segmentation fault.
      #0  0xe8d09650 in SourceHook::CPageAlloc::Free(void*) () from /home/l4d2_ally_versus/serverfiles/left4dead2/addons/metamod/bin/metamod.2.l4d2.so
      [Current thread is 1 (Thread 0xf7495a40 (LWP 78327))]
      #0  0xe8d09650 in SourceHook::CPageAlloc::Free(void*) () from /home/l4d2_ally_versus/serverfiles/left4dead2/addons/metamod/bin/metamod.2.l4d2.so
      #1  0x10f8ff90 in ?? ()
      Backtrace stopped: previous frame inner to this frame (corrupt stack?)
      No symbol table info available.
      eax            0xf77af1c0    -142937664
      ecx            0xe8d2f3c0    -388828224
      edx            0xe8d11020    -388952032
      ebx            0xf77af1c0    -142937664
      esp            0xffb1cd30    0xffb1cd30
      ebp            0xe8d2f180    0xe8d2f180
      esi            0xe8d2fe94    -388825452
      edi            0x0    0
      eip            0xe8d09650    0xe8d09650 <SourceHook::CPageAlloc::Free(void*)+32>
      eflags         0x10286    [ PF SF IF RF ]
      cs             0x23    35
      ss             0x2b    43
      ds             0x2b    43
      es             0x2b    43
      fs             0x0    0
      gs             0x63    99
      From        To          Syms Read   Shared Object Library
      0xf775c590  0xf77940f7  Yes (*)     /lib/i386-linux-gnu/libm.so.6
      0xf7753a30  0xf7754961  Yes (*)     /lib/i386-linux-gnu/libdl.so.2
      0xf76c6914  0xf770cc78  Yes         bin/libstdc++.so.6
      0xf7667870  0xf7674ef1  Yes (*)     /lib/i386-linux-gnu/libpthread.so.0
      0xf74c3750  0xf75ef21d  Yes (*)     /lib/i386-linux-gnu/libc.so.6
      0xf77ba860  0xf77d38fd  Yes (*)     /lib/ld-linux.so.2
      0xf7497e00  0xf74a70fc  Yes         bin/libgcc_s.so.1
      0xf746aea0  0xf747f118  Yes (*)     bin/libtier0_srv.so
      0xf7459840  0xf745d05c  Yes (*)     /lib/i386-linux-gnu/librt.so.1
      0xf7372e20  0xf7395104  Yes (*)     bin/libvstdlib_srv.so
      0xf6ebe360  0xf6f2c298  Yes (*)     bin/dedicated_srv.so
      0xf6e77ea0  0xf6e8d3d4  Yes (*)     bin/libsteam_api.so
      0xf6afcce0  0xf6cf8a90  Yes (*)     /home/l4d2_ally_versus/serverfiles/bin/engine_srv.so
      0xf65afbb0  0xf65d8d20  Yes (*)     /home/l4d2_ally_versus/serverfiles/bin/soundemittersystem_srv.so
      0xf6442e00  0xf64ff394  Yes (*)     /home/l4d2_ally_versus/serverfiles/bin/materialsystem_srv.so
      0xf4f06410  0xf4fa9340  Yes (*)     /home/l4d2_ally_versus/serverfiles/bin/studiorender_srv.so
      0xf4cbb840  0xf4e53548  Yes (*)     /home/l4d2_ally_versus/serverfiles/bin/vphysics_srv.so
      0xf4bfba00  0xf4c4d1e0  Yes (*)     /home/l4d2_ally_versus/serverfiles/bin/datacache_srv.so
      0xf4b41150  0xf4baba18  Yes (*)     /home/l4d2_ally_versus/serverfiles/bin/vscript_srv.so
      0xf4b11340  0xf4b214e4  Yes (*)     /home/l4d2_ally_versus/serverfiles/bin/shaderapiempty_srv.so
      0xee8a0c80  0xef857984  Yes (*)     /home/l4d2_ally_versus/.steam/sdk32/steamclient.so
      0xee0f3b00  0xee16ab98  Yes (*)     /home/l4d2_ally_versus/serverfiles/left4dead2/bin/matchmaking_ds_srv.so
      0xed424eb0  0xedc6777c  Yes (*)     /home/l4d2_ally_versus/serverfiles/left4dead2/bin/server_srv.so
      0xed0bac10  0xed0ca084  Yes (*)     /home/l4d2_ally_versus/serverfiles/bin/scenefilecache_srv.so
      0xf65944d0  0xf659673d  Yes (*)     /home/l4d2_ally_versus/serverfiles/left4dead2/addons/metamod/bin/server.so
      0xe8cfbed0  0xe8d28582  Yes (*)     /home/l4d2_ally_versus/serverfiles/left4dead2/addons/metamod/bin/metamod.2.l4d2.so
      0xf6581a50  0xf6587b62  Yes (*)     /lib/i386-linux-gnu/libnss_files.so.2
      0xf6579b50  0xf657c933  Yes (*)     /lib/i386-linux-gnu/libnss_dns.so.2
      0xe8ca7660  0xe8cb3f04  Yes (*)     /lib/i386-linux-gnu/libresolv.so.2
      (*): Shared library is missing debugging information.
      Dump of assembler code for function _ZN10SourceHook10CPageAlloc4FreeEPv:
         0xe8d09630 <+0>:    push   %ebp
         0xe8d09631 <+1>:    push   %ebx
         0xe8d09632 <+2>:    push   %edi
         0xe8d09633 <+3>:    push   %esi
         0xe8d09634 <+4>:    sub    $0xc,%esp
         0xe8d09637 <+7>:    mov    0x24(%esp),%ebx
         0xe8d0963b <+11>:    mov    0x20(%esp),%esi
         0xe8d0963f <+15>:    mov    0x8(%esi),%edi
         0xe8d09642 <+18>:    data16 data16 data16 data16 nopw %cs:0x0(%eax,%eax,1)
      => 0xe8d09650 <+32>:    mov    0x1c(%edi),%edi
         0xe8d09653 <+35>:    test   %edi,%edi
         0xe8d09655 <+37>:    je     0xe8d09680 <_ZN10SourceHook10CPageAlloc4FreeEPv+80>
         0xe8d09657 <+39>:    cmp    0x8(%esi),%edi
         0xe8d0965a <+42>:    je     0xe8d0971a <_ZN10SourceHook10CPageAlloc4FreeEPv+234>
         0xe8d09660 <+48>:    mov    %ebx,0x4(%esp)
         0xe8d09664 <+52>:    mov    %edi,(%esp)
         0xe8d09667 <+55>:    call   0xe8d09730 <_ZN10SourceHook10CPageAlloc15AllocatedRegion7TryFreeEPv>
         0xe8d0966c <+60>:    test   %al,%al
         0xe8d0966e <+62>:    je     0xe8d09650 <_ZN10SourceHook10CPageAlloc4FreeEPv+32>
         0xe8d09670 <+64>:    mov    %edi,%ebx
         0xe8d09672 <+66>:    jmp    0xe8d0969b <_ZN10SourceHook10CPageAlloc4FreeEPv+107>
         0xe8d09674 <+68>:    data16 data16 nopw %cs:0x0(%eax,%eax,1)
         0xe8d09680 <+80>:    cmp    0x8(%esi),%edi
         0xe8d09683 <+83>:    je     0xe8d0971a <_ZN10SourceHook10CPageAlloc4FreeEPv+234>
         0xe8d09689 <+89>:    mov    %ebx,0x4(%esp)
         0xe8d0968d <+93>:    mov    %edi,(%esp)
         0xe8d09690 <+96>:    call   0xe8d09730 <_ZN10SourceHook10CPageAlloc15AllocatedRegion7TryFreeEPv>
         0xe8d09695 <+101>:    test   %al,%al
         0xe8d09697 <+103>:    je     0xe8d09680 <_ZN10SourceHook10CPageAlloc4FreeEPv+80>
         0xe8d09699 <+105>:    xor    %ebx,%ebx
         0xe8d0969b <+107>:    cmpl   $0x0,0x14(%edi)
         0xe8d0969f <+111>:    jne    0xe8d0971a <_ZN10SourceHook10CPageAlloc4FreeEPv+234>
         0xe8d096a1 <+113>:    mov    (%edi),%eax
         0xe8d096a3 <+115>:    mov    0x4(%edi),%ecx
         0xe8d096a6 <+118>:    mov    %ecx,0x4(%esp)
         0xe8d096aa <+122>:    mov    %eax,(%esp)
         0xe8d096ad <+125>:    call   0xf758ed70 <munmap>
         0xe8d096b2 <+130>:    mov    0x1c(%edi),%eax
         0xe8d096b5 <+133>:    mov    0x20(%edi),%ecx
         0xe8d096b8 <+136>:    mov    %eax,0x1c(%ecx)
         0xe8d096bb <+139>:    mov    0x1c(%edi),%eax
         0xe8d096be <+142>:    mov    0x20(%edi),%ecx
         0xe8d096c1 <+145>:    mov    %ecx,0x20(%eax)
         0xe8d096c4 <+148>:    mov    0x10(%edi),%ecx
         0xe8d096c7 <+151>:    mov    0x8(%ecx),%eax
         0xe8d096ca <+154>:    mov    %ecx,0x8(%ecx)
         0xe8d096cd <+157>:    mov    0x10(%edi),%ecx
         0xe8d096d0 <+160>:    mov    %ecx,0xc(%ecx)
         0xe8d096d3 <+163>:    mov    0x10(%edi),%ecx
         0xe8d096d6 <+166>:    cmp    %ecx,%eax
         0xe8d096d8 <+168>:    je     0xe8d096fa <_ZN10SourceHook10CPageAlloc4FreeEPv+202>
         0xe8d096da <+170>:    nopw   0x0(%eax,%eax,1)
         0xe8d096e0 <+176>:    mov    0x8(%eax),%ebp
         0xe8d096e3 <+179>:    test   %eax,%eax
         0xe8d096e5 <+181>:    je     0xe8d096f2 <_ZN10SourceHook10CPageAlloc4FreeEPv+194>
         0xe8d096e7 <+183>:    mov    %eax,(%esp)
         0xe8d096ea <+186>:    call   0xf77069b9 <operator delete(void*)>
         0xe8d096ef <+191>:    mov    0x10(%edi),%ecx
         0xe8d096f2 <+194>:    cmp    %ecx,%ebp
         0xe8d096f4 <+196>:    mov    %ebp,%eax
         0xe8d096f6 <+198>:    jne    0xe8d096e0 <_ZN10SourceHook10CPageAlloc4FreeEPv+176>
         0xe8d096f8 <+200>:    jmp    0xe8d096fc <_ZN10SourceHook10CPageAlloc4FreeEPv+204>
         0xe8d096fa <+202>:    mov    %eax,%ebp
         0xe8d096fc <+204>:    movl   $0x0,0x14(%edi)
         0xe8d09703 <+211>:    test   %ebp,%ebp
         0xe8d09705 <+213>:    je     0xe8d0970f <_ZN10SourceHook10CPageAlloc4FreeEPv+223>
         0xe8d09707 <+215>:    mov    %ebp,(%esp)
         0xe8d0970a <+218>:    call   0xf751d470 <free>
         0xe8d0970f <+223>:    mov    %ebx,(%esp)
         0xe8d09712 <+226>:    call   0xf77069b9 <operator delete(void*)>
         0xe8d09717 <+231>:    decl   0xc(%esi)
         0xe8d0971a <+234>:    add    $0xc,%esp
         0xe8d0971d <+237>:    pop    %esi
         0xe8d0971e <+238>:    pop    %edi
         0xe8d0971f <+239>:    pop    %ebx
         0xe8d09720 <+240>:    pop    %ebp
         0xe8d09721 <+241>:    ret    
      End of assembler dump.
      Stack level 0, frame at 0xffb1cd44:
       eip = 0xe8d09650 in SourceHook::CPageAlloc::Free(void*); saved eip = 0x10f8ff90
       called by frame at 0x12155638
       Arglist at 0xffb1cd3c, args: 
       Locals at 0xffb1cd3c, Previous frame's sp is 0xffb1cd44
       Saved registers:
        ebx at 0xffb1cd38, ebp at 0xffb1cd3c, esi at 0xffb1cd30, edi at 0xffb1cd34, eip at 0xffb1cd40
      End of Source crash report
      ----------------------------------------------
       

       

    • !match позволяет пытаться запускать смену конфига когда confoglcompmod не позволяет этого
    • в elite не запускается l4d2_collision_adjustments и readyup
    Ссылка на комментарий
    Поделиться на других сайтах

    2 часа назад, Electr0 сказал:

    иногда если перезагружать сервер с _restart он может упасть

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

     

    [SM] Unloading dhooks.ext.so will unload the following plugins:
     -> _Voice/voiceannounce_core.smx
     -> _Fixes/ally_fix_ability_charger.smx
     -> _Fixes/command_buffer.smx
     -> optional/eq/l4d_pounceprotect.smx
     -> optional/eq/l4d2_jockeyed_charger_fix.smx
     -> optional/eq/l4d2_jockey_jumpcap_patch.smx

     

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

    Ссылка на комментарий
    Поделиться на других сайтах

    3 часа назад, Electr0 сказал:

    в elite не запускается l4d2_collision_adjustments и readyup

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

    Ссылка на комментарий
    Поделиться на других сайтах

    14 часов назад, Electr0 сказал:

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

    вроде бы виноват был дубль sm plugins load optional/elite/l4d2_noghostcheat.smx с sm plugins load l4d2_noghostcheat.smx из файла generalfixes.cfg

    Ссылка на комментарий
    Поделиться на других сайтах

    Promod Elite теперь корректно запускается, трабл был в организации конфига Elite Sir'ом, который отличался от остальных, что в стрессовой ситуации дало о себе знать.

    Ссылка на комментарий
    Поделиться на других сайтах

    1 час назад, Electr0 сказал:

    нужно перевести на новый стиль конфиги witchparty, reflux, retro, promod, sky

    reflux, retro, promod, sky обновлены, witchparty намного сложнее с ним позже, apex теперь тоже корректно запускается.

    Ссылка на комментарий
    Поделиться на других сайтах




    Присоединяйтесь к обсуждению

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

    Гость
    Добавить комментарий...

    ×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

      Разрешено не более 75 эмодзи.

    ×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

    ×   Ваш предыдущий контент был восстановлен.   Очистить редактор

    ×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.


  • Обозначения статусов

    В обработке = Мы работаем над вашим отзывом.

    Будет сделано = Ваша идея добавлена к плану будущих изменений.

    Тестируется = Изменения внесены, но требуют тестирования.

    Сделано = Ваша идея реализована!

    Отклонено = Отзыв некорректный, бред, либо уже реализовано. Если у вас есть дополнительная информация напишите комментарий и мы снова откроем этот вопрос.

×
×
  • Создать...