-
Постов
10 387 -
Зарегистрирован
-
Посещение
-
Победитель дней
417
Тип контента
Профили
Форумы
Баг Трекер
Предложения
Список изменений
Загрузки
Блоги
Магазин
Галерея
Запись Комментарии, опубликованные Electr0
-
-
-
-
Значение Статус изменено на: Публичное тестирование
-
-
Значение Статус изменено на: Публичное тестирование
-
1 минуту назад, Electr0 сказал:
насколько я помню в нашем распоряжении есть бинды slot0, slot1, slot2 и так далее, надо проверить можно ли использовать их, вместо метода "угадай что от тебя хотели"
а ну да, я забыл, мы не можем узнать какую кнопку нажал игрок, потому и начинается угадайка.
-
2 минуты назад, Electr0 сказал:
переписать нахрен весь контролер свапа и все!
насколько я помню в нашем распоряжении есть бинды slot0, slot1, slot2 и так далее, надо проверить можно ли использовать их, вместо метода "угадай что от тебя хотели"
-
переписать нахрен весь контролер свапа и все!
-
Значение Статус изменено на: Публичное тестирование
-
21 минуту назад, Electr0 сказал:
я думаю что https://developer.valvesoftware.com/wiki/Func_door тоже виновен,
"func_door is a brush entity available in all Source games. It creates a simple sliding door." а это подходит под описание линейного движения
Рядом с указанными ниже классами пропов более нельзя спавнить зараженных для безопасности.
- prop_door_rotating
- prop_door_rotating_checkpoin
- func_door
- func_door_rotating
- func_platrot
- func_rotating
- func_movelinear
- func_tracktrain
-
24 минуты назад, Electr0 сказал:
ally_csm_attach_fix можно вернуть обратно, он невиновен
вернул
-
4 минуты назад, Electr0 сказал:
согласно этому сайту http://www.gamedev.no/articles/BlackMesaNetworking/BlackMesaNetworking.html func_movelinear делает пуш через CPhysicsPushedEntities::PerformLinearPush, поэтому делаю вывод что нужно искать где такие пропы применяются, там и есть шанс падений из-за спавна в этих местах заразы.
я думаю что https://developer.valvesoftware.com/wiki/Func_door тоже виновен,
"func_door is a brush entity available in all Source games. It creates a simple sliding door." а это подходит под описание линейного движения
-
ally_csm_attach_fix можно вернуть обратно, он невиновен
-
согласно этому сайту http://www.gamedev.no/articles/BlackMesaNetworking/BlackMesaNetworking.html func_movelinear делает пуш через CPhysicsPushedEntities::PerformLinearPush, поэтому делаю вывод что нужно искать где такие пропы применяются, там и есть шанс падений из-за спавна в этих местах заразы.
-
6 часов назад, Electr0 сказал:
интересно, в прошлых крашах я видел:
#6 0xed2f1358 in CPhysicsPushedEntities::SpeculativelyCheckPush(CPhysicsPushedEntities::PhysicsPushedInfo_t&, Vector const&, bool, CBaseEntity*) () from /home/l4d2_mega_survival_2/serverfiles/left4dead2/bin/server_srv.so
#7 0xed2f1512 in CPhysicsPushedEntities::SpeculativelyCheckLinearPush(Vector const&) () from /home/l4d2_mega_survival_2/serverfiles/left4dead2/bin/server_srv.so
#8 0xed2f64bf in CPhysicsPushedEntities::PerformLinearPush(CBaseEntity*, float) () fromа сейчас:
#6 0xed45a358 in CPhysicsPushedEntities::SpeculativelyCheckPush(CPhysicsPushedEntities::PhysicsPushedInfo_t&, Vector const&, bool, CBaseEntity*) () from /home/l4d2_mega_survival/serverfiles/left4dead2/bin/server_srv.so
#7 0xed45a5d0 in CPhysicsPushedEntities::SpeculativelyCheckRotPush(CPhysicsPushedEntities::RotatingPushMove_t const&, CBaseEntity*) () from /home/l4d2_mega_survival/serverfiles/left4dead2/bin/server_srv.so
#8 0xed45fa51 in CPhysicsPushedEntities::PerformRotatePush(CBaseEntity*, float) () from /home/l4d2_mega_survival/serverfiles/left4dead2/bin/server_srv.soPerformRotatePush мне ясен, у нас фигурант краша застревание в открывающейся двери (rotate повернуть по русски, а дверь как раз поворачивается), но вот PerformLinearPush для меня пока не известен.
защита от обычных дверей установлена, рядом зараженного из админки больше не поставить, как и просто смотря на дверь.
-
полагаю этим могут быть анимированные двери, либо что-то анимированное что может вытолкгуть
-
интересно, в прошлых крашах я видел:
#6 0xed2f1358 in CPhysicsPushedEntities::SpeculativelyCheckPush(CPhysicsPushedEntities::PhysicsPushedInfo_t&, Vector const&, bool, CBaseEntity*) () from /home/l4d2_mega_survival_2/serverfiles/left4dead2/bin/server_srv.so
#7 0xed2f1512 in CPhysicsPushedEntities::SpeculativelyCheckLinearPush(Vector const&) () from /home/l4d2_mega_survival_2/serverfiles/left4dead2/bin/server_srv.so
#8 0xed2f64bf in CPhysicsPushedEntities::PerformLinearPush(CBaseEntity*, float) () fromа сейчас:
#6 0xed45a358 in CPhysicsPushedEntities::SpeculativelyCheckPush(CPhysicsPushedEntities::PhysicsPushedInfo_t&, Vector const&, bool, CBaseEntity*) () from /home/l4d2_mega_survival/serverfiles/left4dead2/bin/server_srv.so
#7 0xed45a5d0 in CPhysicsPushedEntities::SpeculativelyCheckRotPush(CPhysicsPushedEntities::RotatingPushMove_t const&, CBaseEntity*) () from /home/l4d2_mega_survival/serverfiles/left4dead2/bin/server_srv.so
#8 0xed45fa51 in CPhysicsPushedEntities::PerformRotatePush(CBaseEntity*, float) () from /home/l4d2_mega_survival/serverfiles/left4dead2/bin/server_srv.soPerformRotatePush мне ясен, у нас фигурант краша застревание в открывающейся двери (rotate повернуть по русски, а дверь как раз поворачивается), но вот PerformLinearPush для меня пока не известен.
-
12 часов назад, Electr0 сказал:
примерный код участков падения сервера:
//----------------------------------------------------------------------------- // Trace filter that skips two entities //----------------------------------------------------------------------------- CTraceFilterSkipTwoEntities::CTraceFilterSkipTwoEntities( const IHandleEntity *passentity, const IHandleEntity *passentity2, int collisionGroup ) : BaseClass( passentity, collisionGroup ), m_pPassEnt2(passentity2) { } bool CTraceFilterSkipTwoEntities::ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ) { Assert( pHandleEntity ); if ( !PassServerEntityFilter( pHandleEntity, m_pPassEnt2 ) ) return false; return BaseClass::ShouldHitEntity( pHandleEntity, contentsMask ); } //----------------------------------------------------------------------------- // // Shared client/server trace filter code // //----------------------------------------------------------------------------- bool PassServerEntityFilter( const IHandleEntity *pTouch, const IHandleEntity *pPass ) { if ( !pPass ) return true; if ( pTouch == pPass ) return false; const CBaseEntity *pEntTouch = EntityFromEntityHandle( pTouch ); const CBaseEntity *pEntPass = EntityFromEntityHandle( pPass ); if ( !pEntTouch || !pEntPass ) return true; // don't clip against own missiles if ( pEntTouch->GetOwnerEntity() == pEntPass ) return false; // don't clip against owner if ( pEntPass->GetOwnerEntity() == pEntTouch ) return false; return true; }
полезные заметки как грохнуть сервер этим багом физики:
https://steamcommunity.com/sharedfiles/filedetails/?id=2148111706
-
примерный код участков падения сервера:
//----------------------------------------------------------------------------- // Trace filter that skips two entities //----------------------------------------------------------------------------- CTraceFilterSkipTwoEntities::CTraceFilterSkipTwoEntities( const IHandleEntity *passentity, const IHandleEntity *passentity2, int collisionGroup ) : BaseClass( passentity, collisionGroup ), m_pPassEnt2(passentity2) { } bool CTraceFilterSkipTwoEntities::ShouldHitEntity( IHandleEntity *pHandleEntity, int contentsMask ) { Assert( pHandleEntity ); if ( !PassServerEntityFilter( pHandleEntity, m_pPassEnt2 ) ) return false; return BaseClass::ShouldHitEntity( pHandleEntity, contentsMask ); } //----------------------------------------------------------------------------- // // Shared client/server trace filter code // //----------------------------------------------------------------------------- bool PassServerEntityFilter( const IHandleEntity *pTouch, const IHandleEntity *pPass ) { if ( !pPass ) return true; if ( pTouch == pPass ) return false; const CBaseEntity *pEntTouch = EntityFromEntityHandle( pTouch ); const CBaseEntity *pEntPass = EntityFromEntityHandle( pPass ); if ( !pEntTouch || !pEntPass ) return true; // don't clip against own missiles if ( pEntTouch->GetOwnerEntity() == pEntPass ) return false; // don't clip against owner if ( pEntPass->GetOwnerEntity() == pEntTouch ) return false; return true; }
-
18 минут назад, Electr0 сказал:
ждем новых падений и смотрим лог репорта ентити
так как это происходит когда игрок выходит, то мне надо понять его тело касается пропов анимированных персонажей или нет, касается ли мест где находятся phys_bone_follower'ы анимированных моделек?
под подозрением так же плагин переодевания персонажей при смене персонажа, а так же возможно система выдачи оружия из муляжей может бажить, в таком
на данный момент в связи с этим багом уже отключены:
ally_csm_attach_fix
l4d_item_equip
l4d_gear_transfer
-
2 часа назад, Electr0 сказал:
на ночь запланировано обнуление осей у миниганов
готово
-
13 минут назад, Electr0 сказал:
слежка настроена, теперь я буду четко понимать положение игроков каждые 10 сек, положение пропов, положение phys_bone_follower, положение анимированных персонажей commentary_dummy
ждем новых падений и смотрим лог репорта ентити
-
1 час назад, Electr0 сказал:
[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 45.138.72.80 -port 27103 +cl'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0xdcf734cc in ?? () from bin/steamclient_alliance.so
[Current thread is 1 (Thread 0xde803b40 (LWP 21616))]
#0 0xdcf734cc in ?? () from bin/steamclient_alliance.so
#1 0xdcb8edac in ?? () from bin/steamclient_alliance.so
#2 0xdc9b4c4f in ?? () from bin/steamclient_alliance.so
#3 0xdca8d77b in ?? () from bin/steamclient_alliance.so
#4 0xdcb99906 in ?? () from bin/steamclient_alliance.so
#5 0xdc69cbc6 in ?? () from bin/steamclient_alliance.so
#6 0xdcb99463 in ?? () from bin/steamclient_alliance.so
#7 0xdc69b7b6 in ?? () from bin/steamclient_alliance.so
#8 0xdc69ddb5 in ?? () from bin/steamclient_alliance.so
#9 0xdc69ebfc in ?? () from bin/steamclient_alliance.so
#10 0xdce405f8 in ?? () from bin/steamclient_alliance.so
#11 0xdce3f5fb in ?? () from bin/steamclient_alliance.so
#12 0xdce3f7a8 in ?? () from bin/steamclient_alliance.so
#13 0xdce418f3 in ?? () from bin/steamclient_alliance.so
#14 0xf7653295 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#15 0xf757d0ae in clone () from /lib/i386-linux-gnu/libc.so.6
Client "DeadCore_Data" connected (37.78.16.155:27005).
String Table dictionary for downloadables should be rebuilt, only found 42 of 62 strings in dictionary
String Table dictionary for modelprecache should be rebuilt, only found 305 of 442 strings in dictionary
DG | GreenWolf: Ты платишь мне за вход 200$
DG | GreenWolf: и за минут 20 ты их уже отбиваешь
Segmentation fault (core dumped)
debug.cmds:5: Error in sourced command file:
No function contains program counter for selected frame.
email debug.log to linux@valvesoftware.com
Sun Jun 28 17:08:21 UTC 2020: Server restart in 10 seconds
nepy: чё те не нрав
Client "zigzag" connected (128.68.98.4:27005).
String Table dictionary for downloadables should be rebuilt, only found 36 of 60 strings in dictionary
String Table dictionary for modelprecache should be rebuilt, only found 550 of 718 strings in dictionary
CGameClient::FileReceived: addonlist.txt not wanted.
Segmentation fault (core dumped)
debug.cmds:5: Error in sourced command file:
No function contains program counter for selected frame.
email debug.log to linux@valvesoftware.com
Sun Jun 28 13:22:57 MSK 2020: Server restart in 10 seconds
#
в обоих случаях заходили пираты и сервер падал, принимаю решение на откат эмуля на версию
откат на версию 11 декабря 2019 года завершен для всех мег
-
1 час назад, Electr0 сказал:
слежка настроена, теперь я буду четко понимать положение игроков каждые 10 сек, положение пропов, положение phys_bone_follower, положение анимированных персонажей commentary_dummy
За кобальт танк(игрок) нельзя быстро бегать,жму колесо мышки и ничего
в °• Mega Survival
Опубликовано
просьба проверить есть ли сейчас этот баг