Yardım game.core auth ve ch1>core1

Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

Ford99

Üye
Üye
Mesaj
21
Beğeni
0
Puan
428
Ticaret Puanı
0
Adsız.png

G++8 geçirdim srcyi sorunsuz build ediyor fakat chleri açınca auth'da ve ch1>core1'de game.core oluşuyor. Fotoğrafta açtığım auth'da oluşan game.core input.cpp 99. satırdaki kod: int iExtraPacketSize = Analyze(lpDesc, bHeader, c_pData);
Oyun sorunsuz start veriyor fakat chler açık göstermiyor 15-20 saniye sonrada yukarıda yazdığım game.coreleri vermeye başlıyor yardımcı olur musunuz lütfen...

Config ayarlarım:

adminpage_ip: 192.168.1.150
adminpage_ip1: 192.168.1.150
adminpage_ip2: 192.168.1.150
adminpage_ip3: 192.168.1.150
BIND_IP: 192.168.1.150
PUBLIC_IP: 192.168.1.150

INTERNAL_IP: 192.168.1.150
 
İnput.cpp dosyasını konuya ekle. Eğer o 99. satırda bir sorun varsa kendi dosyamdan o kod bloğunu komple veriyorum bakabilirsin ama veri tipleri farklı diye şey yapma yani 64 bit derlediğim için bu şekilde.

C++:
bool CInputProcessor::Process(LPDESC lpDesc, const void * c_pvOrig, int32_t iBytes, int32_t & r_iBytesProceed)
{
    const char * c_pData = (const char *) c_pvOrig;

    uint8_t        bLastHeader = 0;
    int32_t        iLastPacketLen = 0;
    int32_t        iPacketLen;

    if (!m_pPacketInfo)
    {
        sys_err("No packet info has been binded to");
        return true;
    }

    for (m_iBufferLeft = iBytes; m_iBufferLeft > 0;)
    {
        uint8_t bHeader = (uint8_t) *(c_pData);
        const char * c_pszName;

        if (bHeader == 0)
            iPacketLen = 1;
        else if (!m_pPacketInfo->Get(bHeader, &iPacketLen, &c_pszName))
        {
            sys_err("UNKNOWN HEADER: %d, LAST HEADER: %d(%d), REMAIN BYTES: %d, fd: %d",
                    bHeader, bLastHeader, iLastPacketLen, m_iBufferLeft, lpDesc->GetSocket());
            lpDesc->SetPhase(PHASE_CLOSE);
            return true;
        }

        if (m_iBufferLeft < iPacketLen)
            return true;

        if (bHeader)
        {
            if (test_server && bHeader != HEADER_CG_MOVE)
                sys_log(0, "Packet Analyze [Header %d][bufferLeft %d] ", bHeader, m_iBufferLeft);

            m_pPacketInfo->Start();

            int32_t iExtraPacketSize = Analyze(lpDesc, bHeader, c_pData);

            if (iExtraPacketSize < 0)
            {
                return true;
            }

            iPacketLen += iExtraPacketSize;
            lpDesc->Log("%s %d", c_pszName, iPacketLen);
            m_pPacketInfo->End();
        }

        c_pData += iPacketLen;
        m_iBufferLeft -= iPacketLen;
        r_iBytesProceed += iPacketLen;

        iLastPacketLen = iPacketLen;
        bLastHeader    = bHeader;

        if (GetType() != lpDesc->GetInputProcessor()->GetType())
        {
            return false;
        }
    }

    return true;
}
 
İnput.cpp dosyasını konuya ekle. Eğer o 99. satırda bir sorun varsa kendi dosyamdan o kod bloğunu komple veriyorum bakabilirsin ama veri tipleri farklı diye şey yapma yani 64 bit derlediğim için bu şekilde.

C++:
bool CInputProcessor::Process(LPDESC lpDesc, const void * c_pvOrig, int32_t iBytes, int32_t & r_iBytesProceed)
{
    const char * c_pData = (const char *) c_pvOrig;

    uint8_t        bLastHeader = 0;
    int32_t        iLastPacketLen = 0;
    int32_t        iPacketLen;

    if (!m_pPacketInfo)
    {
        sys_err("No packet info has been binded to");
        return true;
    }

    for (m_iBufferLeft = iBytes; m_iBufferLeft > 0;)
    {
        uint8_t bHeader = (uint8_t) *(c_pData);
        const char * c_pszName;

        if (bHeader == 0)
            iPacketLen = 1;
        else if (!m_pPacketInfo->Get(bHeader, &iPacketLen, &c_pszName))
        {
            sys_err("UNKNOWN HEADER: %d, LAST HEADER: %d(%d), REMAIN BYTES: %d, fd: %d",
                    bHeader, bLastHeader, iLastPacketLen, m_iBufferLeft, lpDesc->GetSocket());
            lpDesc->SetPhase(PHASE_CLOSE);
            return true;
        }

        if (m_iBufferLeft < iPacketLen)
            return true;

        if (bHeader)
        {
            if (test_server && bHeader != HEADER_CG_MOVE)
                sys_log(0, "Packet Analyze [Header %d][bufferLeft %d] ", bHeader, m_iBufferLeft);

            m_pPacketInfo->Start();

            int32_t iExtraPacketSize = Analyze(lpDesc, bHeader, c_pData);

            if (iExtraPacketSize < 0)
            {
                return true;
            }

            iPacketLen += iExtraPacketSize;
            lpDesc->Log("%s %d", c_pszName, iPacketLen);
            m_pPacketInfo->End();
        }

        c_pData += iPacketLen;
        m_iBufferLeft -= iPacketLen;
        r_iBytesProceed += iPacketLen;

        iLastPacketLen = iPacketLen;
        bLastHeader    = bHeader;

        if (GetType() != lpDesc->GetInputProcessor()->GetType())
        {
            return false;
        }
    }

    return true;
}
Kodlar aynı, farklı bir şey varda anlayamadım tam ya
 
Geri
Üst