enabled detailed packet logs for easier debugging
This commit is contained in:
@@ -230,7 +230,7 @@ bool DESC::Setup(LPFDWATCH _fdw, socket_t _fd, const struct sockaddr_in & c_rSoc
|
||||
// m_lpOutputBuffer = buffer_new(DEFAULT_PACKET_BUFFER_SIZE * 2);
|
||||
//else
|
||||
//NOTE: 이걸 나라별로 다르게 잡아야할 이유가 있나?
|
||||
m_lpOutputBuffer = buffer_new(DEFAULT_PACKET_BUFFER_SIZE * 2);
|
||||
m_lpOutputBuffer = buffer_new(DEFAULT_PACKET_BUFFER_SIZE * 3); // Default: 2
|
||||
|
||||
m_iMinInputBufferLen = MAX_INPUT_LEN >> 1;
|
||||
m_lpInputBuffer = buffer_new(MAX_INPUT_LEN);
|
||||
@@ -418,6 +418,12 @@ void DESC::BufferedPacket(const void * c_pvData, int iSize)
|
||||
if (!m_lpBufferedOutputBuffer)
|
||||
m_lpBufferedOutputBuffer = buffer_new(MAX(1024, iSize));
|
||||
|
||||
#ifdef _DEBUG
|
||||
const std::string stName = GetCharacter() ? GetCharacter()->GetName() : GetHostName();
|
||||
const auto kHeader = *(static_cast<const uint8_t*>(c_pvData));
|
||||
sys_log(0, "[B] SENT HEADER : %u(0x%X) to %s (size %d) ", kHeader, kHeader, stName.c_str(), iSize);
|
||||
#endif
|
||||
|
||||
buffer_write(m_lpBufferedOutputBuffer, c_pvData, iSize);
|
||||
}
|
||||
|
||||
@@ -435,6 +441,12 @@ void DESC::Packet(const void * c_pvData, int iSize)
|
||||
return;
|
||||
}
|
||||
|
||||
#ifdef _DEBUG
|
||||
const std::string stName = GetCharacter() ? GetCharacter()->GetName() : GetHostName();
|
||||
const auto kHeader = *(static_cast<const uint8_t*>(c_pvData));
|
||||
sys_log(0, "[N] SENT HEADER : %u(0x%X) to %s (size %d) ", kHeader, kHeader, stName.c_str(), iSize);
|
||||
#endif
|
||||
|
||||
if (m_stRelayName.length() != 0)
|
||||
{
|
||||
// Relay 패킷은 암호화하지 않는다.
|
||||
|
||||
@@ -111,6 +111,7 @@ class DESC
|
||||
LPCHARACTER GetCharacter() { return m_lpCharacter; }
|
||||
|
||||
bool IsPhase(int phase) const { return m_iPhase == phase ? true : false; }
|
||||
int32_t GetPhase() const { return m_iPhase; }
|
||||
|
||||
const struct sockaddr_in & GetAddr() { return m_SockAddr; }
|
||||
|
||||
|
||||
@@ -81,14 +81,33 @@ bool CInputProcessor::Process(LPDESC lpDesc, const void * c_pvOrig, int iBytes,
|
||||
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());
|
||||
//printdata((BYTE *) c_pvOrig, m_iBufferLeft);
|
||||
LPCHARACTER ch = lpDesc->GetCharacter();
|
||||
|
||||
char szLogBuffer[1024];
|
||||
snprintf(szLogBuffer, sizeof(szLogBuffer),
|
||||
"UNKNOWN HEADER: %u(0x%X) LAST HEADER: %u(0x%X)[%u], REMAIN BYTES: %d, CHAR: %s, PHASE: %d, fd: %d host: %s",
|
||||
bHeader, bHeader, bLastHeader, bLastHeader, iLastPacketLen, m_iBufferLeft,
|
||||
ch ? ch->GetName() : "<none>",
|
||||
lpDesc->GetPhase(), lpDesc->GetSocket(), lpDesc->GetHostName()
|
||||
);
|
||||
|
||||
if (lpDesc->GetPhase() < PHASE_SELECT) // early phase
|
||||
sys_log(0, szLogBuffer);
|
||||
else
|
||||
sys_err(szLogBuffer);
|
||||
|
||||
#if defined(_DEBUG) && defined(_WIN32)
|
||||
printdata((uint8_t*)c_pvOrig, m_iBufferLeft);
|
||||
#endif
|
||||
lpDesc->SetPhase(PHASE_CLOSE);
|
||||
return true;
|
||||
}
|
||||
|
||||
sys_log(0, "PACKET %d (%s)", bHeader, c_pszName);
|
||||
#ifdef _DEBUG
|
||||
const auto ch = lpDesc->GetCharacter();
|
||||
const std::string stName = ch ? ch->GetName() : lpDesc->GetHostName();
|
||||
sys_log(0, "RECEIVED HEADER : %u(0x%X) to %s (size %d) ", bHeader, bHeader, stName.c_str(), iBytes);
|
||||
#endif
|
||||
|
||||
if (m_iBufferLeft < iPacketLen)
|
||||
return true;
|
||||
@@ -103,7 +122,13 @@ bool CInputProcessor::Process(LPDESC lpDesc, const void * c_pvOrig, int iBytes,
|
||||
int iExtraPacketSize = Analyze(lpDesc, bHeader, c_pData);
|
||||
|
||||
if (iExtraPacketSize < 0)
|
||||
{
|
||||
sys_err("Failed to analyze header(%u) size: %d phase: %d host %s from %s (%u) in: %u",
|
||||
bHeader, iPacketLen, lpDesc->GetPhase(), lpDesc->GetHostName(),
|
||||
ch ? ch->GetName() : "NO_CHAR", ch ? ch->GetPlayerID() : 0, ch ? ch->GetMapIndex() : 0
|
||||
);
|
||||
return true;
|
||||
}
|
||||
|
||||
iPacketLen += iExtraPacketSize;
|
||||
lpDesc->Log("%s %d", c_pszName, iPacketLen);
|
||||
|
||||
Reference in New Issue
Block a user