FrozenTag

Сообщения
321
Реакции
73
Помог
11 раз(а)
Ошибка
Сервер крашится после первого убийства
ОС
Linux
Amx Mod X
"amxmodx_version" is "1.8.3-dev+5199"
Билд
Exe version 1.1.2.7/Stdio (cstrike)
ReHLDS version: 3.4.0.658-dev
Build date: 15:04:52 Aug 11 2018 (1582)
Build from: https://github.com/dreamstalker/rehlds/commit/0ce0af7
ReGamedll
ReGameDLL version: 5.7.0.312-dev
Build date: 07:53:34 May 31 2018
Build from: https://github.com/s1lentq/ReGameDLL_CS/commit/26db32e
Версия Metamod
Metamod v1.21p37  2013/05/30 (5:13)
by Will Day
http://www.metamod.org/
Patch: Metamod-P (mm-p) v37
by Jussi Kivilinna
http://metamod-p.sourceforge.net/
compiled: May 30 2013, 11:41:16 EET (optimized)
Список метамодулей
[ 1] AMX Mod X        RUN   -    amxmodx_mm_i386.  v1.8.3-d  ini   Start ANY
[ 2] ReAimDetector RUN - reaimdetector_am v0.2.1 pl1 ANY Never
[ 3] MySQL RUN - mysql_amxx_i386. v1.8.3-d pl1 ANY ANY
[ 4] hackdetector RUN - hackdetector_amx v0.15.32 pl1 ANY ANY
[ 5] Fun RUN - fun_amxx_i386.so v1.8.3-d pl1 ANY ANY
[ 6] Engine RUN - engine_amxx_i386 v1.8.3-d pl1 ANY ANY
[ 7] FakeMeta RUN - fakemeta_amxx_i3 v1.8.3-d pl1 ANY ANY
[ 8] GeoIP RUN - geoip_amxx_i386. v1.8.3-d pl1 ANY ANY
[ 9] Ham Sandwich RUN - hamsandwich_amxx v1.8.3-d pl1 ANY ANY
[10] CStrike RUN - cstrike_amxx_i38 v1.8.3-d pl1 ANY ANY
[11] CSX RUN - csx_amxx_i386.so v1.8.3-d pl1 ANY ANY
[12] VTC AMXX API RUN - VtcApi_amxx_i386 v2017 RC pl1 ANY ANY
[13] ReAPI RUN - reapi_amxx_i386. v5.5.0.1 pl1 ANY Never
13 plugins, 13 running
Список плагинов
[  1] FrozenTag Mod           2.96-r bet  s1lent            ftm_main.amxx    running
[ 2] [FTMod] Addon: Ticket 1.1 s1lent ftm_ticket.amxx running
[ 3] [FTM] LongJump Enabler 1.0 ConnorMcLeod/KOR ftm_longjump.am running
Автор плагина
s1lent
Версия плагина
2.96-r beta
Исходный код
#include <amxmodx>
#include <engine>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich>
#include <reapi>
Здравствуйте, установил данный аддон к моду ксдм, после первого убийства сервер крашится, в debug.log появилась такая ошибка
Код:
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `./hlds_linux -game cstrike -strictportbind +ip 46.8.158.64 -port 27018 +clientp'.
Program terminated with signal 11, Segmentation fault.
#0  0xb2495d0f in ?? () from cstrike/addons/amxmodx/modules/reapi_amxx_i386.so
#0  0xb2495d0f in ?? () from cstrike/addons/amxmodx/modules/reapi_amxx_i386.so
#1  0x00000004 in ?? ()
#2  0x00000038 in ?? ()
#3  0xb24a9df0 in ?? () from cstrike/addons/amxmodx/modules/reapi_amxx_i386.so
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
No symbol table info available.
Менял версии reapi, ставил последнюю и старее версию, все равно крашится, если выключить эти плагины, то сервер работает нормально. Может кто сказать что ему не нравится?
 

Вложения

Последнее редактирование модератором:
Сообщения
496
Реакции
621
Помог
16 раз(а)
Я похожее наблюдал на последних версиях регейма. Если минорную версию скачать постарше, то проблема исчезает. Только сервер падал не после 1 убийства, а после дисконнекта игрока.
 
Сообщения
321
Реакции
73
Помог
11 раз(а)
Gudaus, Действительно, поставил старую версии регейма, и проблемы нет. То есть под новые версии Ре-продуктов этот мод не запустить? Пока кто-то им не займется?
 
Сообщения
2,751
Реакции
3,016
Помог
61 раз(а)
Пока кто-то им не займется?
Angerfist, пока кто-то не приложит должные усилия и не сэкономит время разработчикам в отладке и локализации проблемы. Без вашего желания (а ещё и действия) решить проблему - дело не продвинется.

— Может сделаем что-нибудь?!
— Я уже делаю. Курю и смеюсь.
 
Сообщения
321
Реакции
73
Помог
11 раз(а)
wopox1337, Со своей стороны могу только ошибки скидывать из дебаг.лога) Или скинуть денег на решение проблем, если найдутся желающие)
 
Сообщения
2,751
Реакции
3,016
Помог
61 раз(а)
ошибки скидывать из дебаг.лога)
сейчас (как и в большинстве случаев) - это бесполезная информация.
после первого убийства сервер крашится
мы можем отлогировать и отдебажить этот участок кода :ok:
в плагине: https://dev-cs.ru/resources/322/
ftm_main.sma
попробуй закомментировать строки и проверить наличие ошибок работы плагина:
Код:
RegisterHam(Ham_Killed, "player", "CBasePlayer__Killed"); // Line #528
register_forward(FM_ClientKill, "ClientKill"); // Line #517
А, так же будет полезным предоставить информацию о конфигурации плагина в исходном коде (дефайны и всё остальное)
 
Сообщения
321
Реакции
73
Помог
11 раз(а)
wopox1337, Все тоже самое, крашится при убийстве игрока или если я делаю дисконект
31 Авг 2018
вот исходник с изменениями
 

Вложения

Сообщения
2,751
Реакции
3,016
Помог
61 раз(а)
Angerfist, теперь закомментируй строку:
Код:
register_forward(FM_ClientDisconnect, "ClientDisconnect_Post", 1);
и оставь включенным только один плагин Main
 
Сообщения
2,751
Реакции
3,016
Помог
61 раз(а)
wopox1337, Теперь не крашится сервак
теперь, убери все правки, которые мы делали выше. (все те закомментированные строки).
Далее, в функции
Код:
public ClientDisconnect_Post(id)
постепенно вставляй "возврат" функции.
Начинай так:
Код:
public ClientDisconnect_Post(id)
{
+    return; // <- вотъ это перемещай строку за строкой вниз.
    if (is_user_bot(id) || is_user_hltv(id))
        return;

    g_pPlayerInfo[ id ][ Player_Rescuerid ] = 0;
...
и осматривай с какого момента начнёт сервер падать.
На ругань компилятора в виде варнинга не обращай внимания пока-что (на время дебага это норма).

и скажешь после какой строки начал падать.
 
Сообщения
321
Реакции
73
Помог
11 раз(а)
wopox1337,
Код:
  return;
    if (is_user_bot(id) || is_user_hltv(id))
        return;
При таком виде кода, при дисконекте и когда я убиваю ботов, краша не происходит, крашануло когда меня убил бот
 
Сообщения
2,751
Реакции
3,016
Помог
61 раз(а)
Angerfist, не путаемся, отлавливаем постепенно и именно краш во время дисконнекта. Про убийства - позже решится вопрос.
При таком виде кода, при дисконекте и когда я убиваю ботов, краша не происходит
Продолжай следовать инструкции выше тогда, ставь return ниже, пока не крашнет
 
Сообщения
321
Реакции
73
Помог
11 раз(а)
wopox1337,
Код:
    {
#if defined WAIT_TO_NEXT_ROUND
    return;
        if (get_pgame_float(m_fRoundCount) + ROUND_WAIT_NEXT > get_gametime())
#endif // WAIT_TO_NEXT_ROUND
        CSaveRestore__WriteData(id);
    }
тут крашануло после дисконекта
 
Сообщения
2,751
Реакции
3,016
Помог
61 раз(а)
Angerfist, теперь, пробуй закомментировать строку:
Код:
//        CPlayer__HandleButtons(i, BUTTON_MOUSE1); // Line #1112
всё остальное - оставить в первозданном виде (без return, который ты пихал). И, проверяй по меньшей мере 3 раза.
 
Сообщения
321
Реакции
73
Помог
11 раз(а)
wopox1337, все вернул обратно, закомментил строку, и опять краш после дисконекта
 
Сообщения
2,751
Реакции
3,016
Помог
61 раз(а)
и опять краш после дисконекта
А, теперь мысленно делим функцию на 3 части, выставляем для себя 3 контрольных точки. И, начинаем сверху. втыкать ретунт поочерёдно в места, где я указан. Проверять 3 раза (если не крашит)
Код:
public ClientDisconnect_Post(id)
{
    if (is_user_bot(id) || is_user_hltv(id))
        return;

    g_pPlayerInfo[ id ][ Player_Rescuerid ] = 0;
    g_pPlayerInfo[ id ][ Player_Alive ] = false;
    g_pPlayerInfo[ id ][ Player_AddHealth ] = _:0.0;
    g_pPlayerInfo[ id ][ Player_Money ] = 0;
    g_pPlayerInfo[ id ][ Player_ButtonNext ] = _:0.0;

    CPlayer__CleanupEntity(id);
// <---- тут ретурн пробуй
    /*
    * find next target, after disconnected from game current target
    */
    for (new i = 1; i <= g_iMaxPlayers; i++)
    {
        if (id == i || !g_pPlayerInfo[ i ][ Player_Ingame ] || !g_pPlayerInfo[ i ][ Player_Frozen ] || g_pPlayerInfo[ i ][ Player_Target ] != id)
            continue;

        CPlayer__HandleButtons(i, BUTTON_MOUSE1);
    }

    if (g_pPlayerInfo[ id ][ Player_State ] == JOIN_IN_TO_GAME)
    {
#if defined WAIT_TO_NEXT_ROUND
        if (get_pgame_float(m_fRoundCount) + ROUND_WAIT_NEXT > get_gametime())
#endif // WAIT_TO_NEXT_ROUND
        CSaveRestore__WriteData(id);
    }
// <---- тут ретурн пробуй
    g_pPlayerInfo[ id ][ Player_Ingame ] = false;
    g_pPlayerInfo[ id ][ Player_Frozen ] = false;
    g_pPlayerInfo[ id ][ Player_Teamid ] = _:CS_TEAM_UNASSIGNED;
    g_pPlayerInfo[ id ][ Player_SpawnLock ] = false;
    g_pPlayerInfo[ id ][ Player_Stay ] = false;
    g_pPlayerInfo[ id ][ Player_InterpTime ] = _:0.0;
    g_pPlayerInfo[ id ][ Player_VGUI ] = false;

    memset(_:g_flLastOrigin[ id ], 0, 3);

    CFTMod__ConditionsCheckWin();
}
 
Последнее редактирование:
Сообщения
2,751
Реакции
3,016
Помог
61 раз(а)
Angerfist, а куда return поставил? (я там 3 места обозначил)
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу