Jump to content

Recommended Posts

Hello there ,  i have lag on my server because the log.log register too many comands ( aprox 4.000.000  every 3 days ) and i want to disable it ..

I try to comment with // at Query but i don`t think it`s perfect...

please take a look !

Spoiler

#include "stdafx.h"
#include "constants.h"
#include "config.h"
#include "log.h"

#include "char.h"
#include "desc.h"
#include "item.h"
#include "locale_service.h"

static char    __escape_hint[1024];

LogManager::LogManager() : m_bIsConnect(false)
{
}

LogManager::~LogManager()
{
}

bool LogManager::Connect(const char * host, const int port, const char * user, const char * pwd, const char * db)
{
    if (m_sql.Setup(host, user, pwd, db, g_stLocale.c_str(), false, port))
        m_bIsConnect = true;

    return m_bIsConnect;
}

void LogManager::Query(const char * c_pszFormat, ...)
{
    char szQuery[4096];
    va_list args;

    va_start(args, c_pszFormat);
    vsnprintf(szQuery, sizeof(szQuery), c_pszFormat, args);
    va_end(args);

    if (test_server)
        sys_log(0, "LOG: %s", szQuery);

    m_sql.AsyncQuery(szQuery);
}

bool LogManager::IsConnected()
{
    return m_bIsConnect;
}

void LogManager::ItemLog(DWORD dwPID, DWORD x, DWORD y, DWORD dwItemID, const char * c_pszText, const char * c_pszHint, const char * c_pszIP, DWORD dwVnum)
{
    m_sql.EscapeString(__escape_hint, sizeof(__escape_hint), c_pszHint, strlen(c_pszHint));

    //Query("INSERT DELAYED INTO log%s (type, time, who, x, y, what, how, hint, ip, vnum) VALUES('ITEM', NOW(), %u, %u, %u, %u, '%s', '%s', '%s', %u)",
            //get_table_postfix(), dwPID, x, y, dwItemID, c_pszText, __escape_hint, c_pszIP, dwVnum);
}

void LogManager::ItemLog(LPCHARACTER ch, LPITEM item, const char * c_pszText, const char * c_pszHint)
{
    if (NULL == ch || NULL == item)
    {
        sys_err("character or item nil (ch %p item %p text %s)", get_pointer(ch), get_pointer(item), c_pszText);
        return;
    }

    ItemLog(ch->GetPlayerID(), ch->GetX(), ch->GetY(), item->GetID(),
            NULL == c_pszText ? "" : c_pszText,
               c_pszHint, ch->GetDesc() ? ch->GetDesc()->GetHostName() : "",
               item->GetOriginalVnum());
}

void LogManager::ItemLog(LPCHARACTER ch, int itemID, int itemVnum, const char * c_pszText, const char * c_pszHint)
{
    ItemLog(ch->GetPlayerID(), ch->GetX(), ch->GetY(), itemID, c_pszText, c_pszHint, ch->GetDesc() ? ch->GetDesc()->GetHostName() : "", itemVnum);
}

void LogManager::CharLog(DWORD dwPID, DWORD x, DWORD y, DWORD dwValue, const char * c_pszText, const char * c_pszHint, const char * c_pszIP)
{
    m_sql.EscapeString(__escape_hint, sizeof(__escape_hint), c_pszHint, strlen(c_pszHint));

    //Query("INSERT DELAYED INTO log%s (type, time, who, x, y, what, how, hint, ip) VALUES('CHARACTER', NOW(), %u, %u, %u, %u, '%s', '%s', '%s')",
            //get_table_postfix(), dwPID, x, y, dwValue, c_pszText, __escape_hint, c_pszIP);
}

void LogManager::CharLog(LPCHARACTER ch, DWORD dw, const char * c_pszText, const char * c_pszHint)
{
    if (ch)
        CharLog(ch->GetPlayerID(), ch->GetX(), ch->GetY(), dw, c_pszText, c_pszHint, ch->GetDesc() ? ch->GetDesc()->GetHostName() : "");
    else
        CharLog(0, 0, 0, dw, c_pszText, c_pszHint, "");
}

void LogManager::LoginLog(bool isLogin, DWORD dwAccountID, DWORD dwPID, BYTE bLevel, BYTE bJob, DWORD dwPlayTime)
{
    Query("INSERT DELAYED INTO loginlog%s (type, time, channel, account_id, pid, level, job, playtime) VALUES (%s, NOW(), %d, %u, %u, %d, %d, %u)",
            get_table_postfix(), isLogin ? "'LOGIN'" : "'LOGOUT'", g_bChannel, dwAccountID, dwPID, bLevel, bJob, dwPlayTime);
}

void LogManager::MoneyLog(BYTE type, DWORD vnum, int gold)
{
    if (type == MONEY_LOG_RESERVED || type >= MONEY_LOG_TYPE_MAX_NUM)
    {
        sys_err("TYPE ERROR: type %d vnum %u gold %d", type, vnum, gold);
        return;
    }

    //Query("INSERT DELAYED INTO money_log%s VALUES (NOW(), %d, %d, %d)", get_table_postfix(), type, vnum, gold);
}

void LogManager::HackLog(const char * c_pszHackName, const char * c_pszLogin, const char * c_pszName, const char * c_pszIP)
{
    m_sql.EscapeString(__escape_hint, sizeof(__escape_hint), c_pszHackName, strlen(c_pszHackName));

    Query("INSERT INTO hack_log (time, login, name, ip, server, why) VALUES(NOW(), '%s', '%s', '%s', '%s', '%s')", c_pszLogin, c_pszName, c_pszIP, g_stHostname.c_str(), __escape_hint);
}

void LogManager::HackLog(const char * c_pszHackName, LPCHARACTER ch)
{
    if (ch->GetDesc())
    {
        HackLog(c_pszHackName, 
                ch->GetDesc()->GetAccountTable().login,
                ch->GetName(),
                ch->GetDesc()->GetHostName());
    }
}

void LogManager::HackCRCLog(const char * c_pszHackName, const char * c_pszLogin, const char * c_pszName, const char * c_pszIP, DWORD dwCRC)
{
    Query("INSERT INTO hack_crc_log (time, login, name, ip, server, why, crc) VALUES(NOW(), '%s', '%s', '%s', '%s', '%s', %u)", c_pszLogin, c_pszName, c_pszIP, g_stHostname.c_str(), c_pszHackName, dwCRC);
}

void LogManager::PCBangLoginLog(DWORD dwPCBangID, const char* c_szPCBangIP, DWORD dwPlayerID, DWORD dwPlayTime)
{
    Query("INSERT INTO pcbang_loginlog (time, pcbang_id, ip, pid, play_time) VALUES (NOW(), %u, '%s', %u, %u)",
            dwPCBangID, c_szPCBangIP, dwPlayerID, dwPlayTime);
}

void LogManager::GoldBarLog(DWORD dwPID, DWORD dwItemID, GOLDBAR_HOW eHow, const char* c_pszHint)
{
    char szHow[32+1];
    
    switch (eHow)
    {
        case PERSONAL_SHOP_BUY:
            snprintf(szHow, sizeof(szHow), "'BUY'");
            break;
            
        case PERSONAL_SHOP_SELL:
            snprintf(szHow, sizeof(szHow), "'SELL'");
            break;
            
        case SHOP_BUY:
            snprintf(szHow, sizeof(szHow), "'SHOP_BUY'");
            break;
            
        case SHOP_SELL:
            snprintf(szHow, sizeof(szHow), "'SHOP_SELL'");
            break;
            
        case EXCHANGE_TAKE:
            snprintf(szHow, sizeof(szHow), "'EXCHANGE_TAKE'");
            break;
            
        case EXCHANGE_GIVE:
            snprintf(szHow, sizeof(szHow), "'EXCHANGE_GIVE'");
            break;

        case QUEST:
            snprintf(szHow, sizeof(szHow), "'QUEST'");
            break;

        default:
            snprintf(szHow, sizeof(szHow), "''");
            break;
    }
    
    //Query("INSERT DELAYED INTO goldlog%s (date, time, pid, what, how, hint) VALUES(CURDATE(), CURTIME(), %u, %u, %s, '%s')", 
            //get_table_postfix(), dwPID, dwItemID, szHow, c_pszHint);
}

void LogManager::CubeLog(DWORD dwPID, DWORD x, DWORD y, DWORD item_vnum, DWORD item_uid, int item_count, bool success)
{
    //Query("INSERT DELAYED INTO cube%s (pid, time, x, y, item_vnum, item_uid, item_count, success) "
            //"VALUES(%u, NOW(), %u, %u, %u, %u, %d, %d)",
            //get_table_postfix(), dwPID, x, y, item_vnum, item_uid, item_count, success?1:0);
}

void LogManager::SpeedHackLog(DWORD pid, DWORD x, DWORD y, int hack_count)
{
    Query("INSERT INTO speed_hack%s (pid, time, x, y, hack_count) "
            "VALUES(%u, NOW(), %u, %u, %d)",
            get_table_postfix(), pid, x, y, hack_count);
}

void LogManager::ChangeNameLog(DWORD pid, const char *old_name, const char *new_name, const char *ip)
{
    //Query("INSERT DELAYED INTO change_name%s (pid, old_name, new_name, time, ip) "
            //"VALUES(%u, '%s', '%s', NOW(), '%s') ",
            //get_table_postfix(), pid, old_name, new_name, ip);
}

void LogManager::GMCommandLog(DWORD dwPID, const char* szName, const char* szIP, BYTE byChannel, const char* szCommand)
{
    m_sql.EscapeString(__escape_hint, sizeof(__escape_hint), szCommand, strlen(szCommand));

    Query("INSERT DELAYED INTO command_log%s (userid, server, ip, port, username, command, date ) "
            "VALUES(%u, 999, '%s', %u, '%s', '%s', NOW()) ",
            get_table_postfix(), dwPID, szIP, byChannel, szName, __escape_hint);
}

void LogManager::RefineLog(DWORD pid, const char* item_name, DWORD item_id, int item_refine_level, int is_success, const char* how)
{
    m_sql.EscapeString(__escape_hint, sizeof(__escape_hint), item_name, strlen(item_name));

    //Query("INSERT INTO refinelog%s (pid, item_name, item_id, step, time, is_success, setType) VALUES(%u, '%s', %u, %d, NOW(), %d, '%s')",
            //get_table_postfix(), pid, __escape_hint, item_id, item_refine_level, is_success, how);
}


void LogManager::ShoutLog(BYTE bChannel, BYTE bEmpire, const char * pszText)
{
    m_sql.EscapeString(__escape_hint, sizeof(__escape_hint), pszText, strlen(pszText));

    //Query("INSERT INTO shout_log%s VALUES(NOW(), %d, %d,'%s')", get_table_postfix(), bChannel, bEmpire, __escape_hint);
}

void LogManager::LevelLog(LPCHARACTER pChar, unsigned int level, unsigned int playhour)
{
    if (true == LC_IsEurope())
    {
        DWORD aid = 0;

        if (NULL != pChar->GetDesc())
        {
            aid = pChar->GetDesc()->GetAccountTable().id;
        }

        //Query("REPLACE INTO levellog%s (name, level, time, account_id, pid, playtime) VALUES('%s', %u, NOW(), %u, %u, %d)",
                //get_table_postfix(), pChar->GetName(), level, aid, pChar->GetPlayerID(), playhour);
    }
    else
    {
        //Query("REPLACE INTO levellog%s (name, level, time, playtime) VALUES('%s', %u, NOW(), %d)",
                //get_table_postfix(), pChar->GetName(), level, playhour);
    }
}

void LogManager::BootLog(const char * c_pszHostName, BYTE bChannel)
{
    //Query("INSERT INTO bootlog (time, hostname, channel) VALUES(NOW(), '%s', %d)",
            //c_pszHostName, bChannel);
}

void LogManager::VCardLog(DWORD vcard_id, DWORD x, DWORD y, const char * hostname, const char * giver_name, const char * giver_ip, const char * taker_name, const char * taker_ip)
{
    //Query("INSERT DELAYED INTO vcard_log (vcard_id, x, y, hostname, giver_name, giver_ip, taker_name, taker_ip) VALUES(%u, %u, %u, '%s', '%s', '%s', '%s', '%s')",
            //vcard_id, x, y, hostname, giver_name, giver_ip, taker_name, taker_ip);
}

void LogManager::FishLog(DWORD dwPID, int prob_idx, int fish_id, int fish_level, DWORD dwMiliseconds, DWORD dwVnum, DWORD dwValue)
{
    //Query("INSERT INTO fish_log%s VALUES(NOW(), %u, %d, %u, %d, %u, %u, %u)",
            //get_table_postfix(),
            //dwPID,
            //prob_idx,
            //fish_id,
            //fish_level,
            //dwMiliseconds,
            //dwVnum,
            //dwValue);
}

void LogManager::QuestRewardLog(const char * c_pszQuestName, DWORD dwPID, DWORD dwLevel, int iValue1, int iValue2)
{
    Query("INSERT INTO quest_reward_log%s VALUES('%s',%u,%u,2,%u,%u,NOW())", 
            get_table_postfix(), 
            c_pszQuestName,
            dwPID,
            dwLevel,
            iValue1, 
            iValue2);
}

void LogManager::DetailLoginLog(bool isLogin, LPCHARACTER ch)
{
    if (NULL == ch->GetDesc())
        return;

    if (true == isLogin)
    {
        Query("INSERT INTO loginlog2(type, is_gm, login_time, channel, account_id, pid, ip, client_version) "
                "VALUES('INVALID', %s, NOW(), %d, %u, %u, inet_aton('%s'), '%s')",
                ch->IsGM() == true ? "'Y'" : "'N'",
                g_bChannel,
                ch->GetDesc()->GetAccountTable().id,
                ch->GetPlayerID(),
                ch->GetDesc()->GetHostName(),
                ch->GetDesc()->GetClientVersion());
    }
    else
    {
        Query("SET @i = (SELECT MAX(id) FROM loginlog2 WHERE account_id=%u AND pid=%u)",
                ch->GetDesc()->GetAccountTable().id,
                ch->GetPlayerID());

        Query("UPDATE loginlog2 SET type='VALID', logout_time=NOW(), playtime=TIMEDIFF(logout_time,login_time) WHERE id=@i");
    }
}

void LogManager::DragonSlayLog(DWORD dwGuildID, DWORD dwDragonVnum, DWORD dwStartTime, DWORD dwEndTime)
{
    //Query( "INSERT INTO dragon_slay_log%s VALUES( %d, %d, FROM_UNIXTIME(%d), FROM_UNIXTIME(%d) )",
            //get_table_postfix(),
            //dwGuildID, dwDragonVnum, dwStartTime, dwEndTime);
}

void LogManager::HackShieldLog(unsigned long ErrorCode, LPCHARACTER ch)
{
    struct in_addr st_addr;

#ifndef __WIN32__
    if (0 == inet_aton(ch->GetDesc()->GetHostName(), &st_addr))
#else
    unsigned long in_address;
    in_address = inet_addr(ch->GetDesc()->GetHostName());
    st_addr.s_addr = in_address;
    if (INADDR_NONE == in_address)
#endif
    {
        Query( "INSERT INTO hackshield_log(time, account_id, login, pid, name, reason, ip) "
                "VALUES(NOW(), %u, '%s', %u, '%s', %u, 0)",
                ch->GetDesc()->GetAccountTable().id, ch->GetDesc()->GetAccountTable().login,
                ch->GetPlayerID(), ch->GetName(),
                ErrorCode);
    }
    else
    {
        Query( "INSERT INTO hackshield_log(time, account_id, login, pid, name, reason, ip) "
                "VALUES(NOW(), %u, '%s', %u, '%s', %u, inet_aton('%s'))",
                ch->GetDesc()->GetAccountTable().id, ch->GetDesc()->GetAccountTable().login,
                ch->GetPlayerID(), ch->GetName(),
                ErrorCode,
                ch->GetDesc()->GetHostName());
    }
}

 

Link to comment
Share on other sites

  • Replies 2
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

  • Bronze
11 minutes ago, DeYaN. said:

Hello there ,  i have lag on my server because the log.log register too many comands ( aprox 4.000.000  every 3 days ) and i want to disable it ..

I try to comment with // at Query but i don`t think it`s perfect...

please take a look !

  Hide contents

#include "stdafx.h"
#include "constants.h"
#include "config.h"
#include "log.h"

#include "char.h"
#include "desc.h"
#include "item.h"
#include "locale_service.h"

static char    __escape_hint[1024];

LogManager::LogManager() : m_bIsConnect(false)
{
}

LogManager::~LogManager()
{
}

bool LogManager::Connect(const char * host, const int port, const char * user, const char * pwd, const char * db)
{
    if (m_sql.Setup(host, user, pwd, db, g_stLocale.c_str(), false, port))
        m_bIsConnect = true;

    return m_bIsConnect;
}

void LogManager::Query(const char * c_pszFormat, ...)
{
    char szQuery[4096];
    va_list args;

    va_start(args, c_pszFormat);
    vsnprintf(szQuery, sizeof(szQuery), c_pszFormat, args);
    va_end(args);

    if (test_server)
        sys_log(0, "LOG: %s", szQuery);

    m_sql.AsyncQuery(szQuery);
}

bool LogManager::IsConnected()
{
    return m_bIsConnect;
}

void LogManager::ItemLog(DWORD dwPID, DWORD x, DWORD y, DWORD dwItemID, const char * c_pszText, const char * c_pszHint, const char * c_pszIP, DWORD dwVnum)
{
    m_sql.EscapeString(__escape_hint, sizeof(__escape_hint), c_pszHint, strlen(c_pszHint));

    //Query("INSERT DELAYED INTO log%s (type, time, who, x, y, what, how, hint, ip, vnum) VALUES('ITEM', NOW(), %u, %u, %u, %u, '%s', '%s', '%s', %u)",
            //get_table_postfix(), dwPID, x, y, dwItemID, c_pszText, __escape_hint, c_pszIP, dwVnum);
}

void LogManager::ItemLog(LPCHARACTER ch, LPITEM item, const char * c_pszText, const char * c_pszHint)
{
    if (NULL == ch || NULL == item)
    {
        sys_err("character or item nil (ch %p item %p text %s)", get_pointer(ch), get_pointer(item), c_pszText);
        return;
    }

    ItemLog(ch->GetPlayerID(), ch->GetX(), ch->GetY(), item->GetID(),
            NULL == c_pszText ? "" : c_pszText,
               c_pszHint, ch->GetDesc() ? ch->GetDesc()->GetHostName() : "",
               item->GetOriginalVnum());
}

void LogManager::ItemLog(LPCHARACTER ch, int itemID, int itemVnum, const char * c_pszText, const char * c_pszHint)
{
    ItemLog(ch->GetPlayerID(), ch->GetX(), ch->GetY(), itemID, c_pszText, c_pszHint, ch->GetDesc() ? ch->GetDesc()->GetHostName() : "", itemVnum);
}

void LogManager::CharLog(DWORD dwPID, DWORD x, DWORD y, DWORD dwValue, const char * c_pszText, const char * c_pszHint, const char * c_pszIP)
{
    m_sql.EscapeString(__escape_hint, sizeof(__escape_hint), c_pszHint, strlen(c_pszHint));

    //Query("INSERT DELAYED INTO log%s (type, time, who, x, y, what, how, hint, ip) VALUES('CHARACTER', NOW(), %u, %u, %u, %u, '%s', '%s', '%s')",
            //get_table_postfix(), dwPID, x, y, dwValue, c_pszText, __escape_hint, c_pszIP);
}

void LogManager::CharLog(LPCHARACTER ch, DWORD dw, const char * c_pszText, const char * c_pszHint)
{
    if (ch)
        CharLog(ch->GetPlayerID(), ch->GetX(), ch->GetY(), dw, c_pszText, c_pszHint, ch->GetDesc() ? ch->GetDesc()->GetHostName() : "");
    else
        CharLog(0, 0, 0, dw, c_pszText, c_pszHint, "");
}

void LogManager::LoginLog(bool isLogin, DWORD dwAccountID, DWORD dwPID, BYTE bLevel, BYTE bJob, DWORD dwPlayTime)
{
    Query("INSERT DELAYED INTO loginlog%s (type, time, channel, account_id, pid, level, job, playtime) VALUES (%s, NOW(), %d, %u, %u, %d, %d, %u)",
            get_table_postfix(), isLogin ? "'LOGIN'" : "'LOGOUT'", g_bChannel, dwAccountID, dwPID, bLevel, bJob, dwPlayTime);
}

void LogManager::MoneyLog(BYTE type, DWORD vnum, int gold)
{
    if (type == MONEY_LOG_RESERVED || type >= MONEY_LOG_TYPE_MAX_NUM)
    {
        sys_err("TYPE ERROR: type %d vnum %u gold %d", type, vnum, gold);
        return;
    }

    //Query("INSERT DELAYED INTO money_log%s VALUES (NOW(), %d, %d, %d)", get_table_postfix(), type, vnum, gold);
}

void LogManager::HackLog(const char * c_pszHackName, const char * c_pszLogin, const char * c_pszName, const char * c_pszIP)
{
    m_sql.EscapeString(__escape_hint, sizeof(__escape_hint), c_pszHackName, strlen(c_pszHackName));

    Query("INSERT INTO hack_log (time, login, name, ip, server, why) VALUES(NOW(), '%s', '%s', '%s', '%s', '%s')", c_pszLogin, c_pszName, c_pszIP, g_stHostname.c_str(), __escape_hint);
}

void LogManager::HackLog(const char * c_pszHackName, LPCHARACTER ch)
{
    if (ch->GetDesc())
    {
        HackLog(c_pszHackName, 
                ch->GetDesc()->GetAccountTable().login,
                ch->GetName(),
                ch->GetDesc()->GetHostName());
    }
}

void LogManager::HackCRCLog(const char * c_pszHackName, const char * c_pszLogin, const char * c_pszName, const char * c_pszIP, DWORD dwCRC)
{
    Query("INSERT INTO hack_crc_log (time, login, name, ip, server, why, crc) VALUES(NOW(), '%s', '%s', '%s', '%s', '%s', %u)", c_pszLogin, c_pszName, c_pszIP, g_stHostname.c_str(), c_pszHackName, dwCRC);
}

void LogManager::PCBangLoginLog(DWORD dwPCBangID, const char* c_szPCBangIP, DWORD dwPlayerID, DWORD dwPlayTime)
{
    Query("INSERT INTO pcbang_loginlog (time, pcbang_id, ip, pid, play_time) VALUES (NOW(), %u, '%s', %u, %u)",
            dwPCBangID, c_szPCBangIP, dwPlayerID, dwPlayTime);
}

void LogManager::GoldBarLog(DWORD dwPID, DWORD dwItemID, GOLDBAR_HOW eHow, const char* c_pszHint)
{
    char szHow[32+1];
    
    switch (eHow)
    {
        case PERSONAL_SHOP_BUY:
            snprintf(szHow, sizeof(szHow), "'BUY'");
            break;
            
        case PERSONAL_SHOP_SELL:
            snprintf(szHow, sizeof(szHow), "'SELL'");
            break;
            
        case SHOP_BUY:
            snprintf(szHow, sizeof(szHow), "'SHOP_BUY'");
            break;
            
        case SHOP_SELL:
            snprintf(szHow, sizeof(szHow), "'SHOP_SELL'");
            break;
            
        case EXCHANGE_TAKE:
            snprintf(szHow, sizeof(szHow), "'EXCHANGE_TAKE'");
            break;
            
        case EXCHANGE_GIVE:
            snprintf(szHow, sizeof(szHow), "'EXCHANGE_GIVE'");
            break;

        case QUEST:
            snprintf(szHow, sizeof(szHow), "'QUEST'");
            break;

        default:
            snprintf(szHow, sizeof(szHow), "''");
            break;
    }
    
    //Query("INSERT DELAYED INTO goldlog%s (date, time, pid, what, how, hint) VALUES(CURDATE(), CURTIME(), %u, %u, %s, '%s')", 
            //get_table_postfix(), dwPID, dwItemID, szHow, c_pszHint);
}

void LogManager::CubeLog(DWORD dwPID, DWORD x, DWORD y, DWORD item_vnum, DWORD item_uid, int item_count, bool success)
{
    //Query("INSERT DELAYED INTO cube%s (pid, time, x, y, item_vnum, item_uid, item_count, success) "
            //"VALUES(%u, NOW(), %u, %u, %u, %u, %d, %d)",
            //get_table_postfix(), dwPID, x, y, item_vnum, item_uid, item_count, success?1:0);
}

void LogManager::SpeedHackLog(DWORD pid, DWORD x, DWORD y, int hack_count)
{
    Query("INSERT INTO speed_hack%s (pid, time, x, y, hack_count) "
            "VALUES(%u, NOW(), %u, %u, %d)",
            get_table_postfix(), pid, x, y, hack_count);
}

void LogManager::ChangeNameLog(DWORD pid, const char *old_name, const char *new_name, const char *ip)
{
    //Query("INSERT DELAYED INTO change_name%s (pid, old_name, new_name, time, ip) "
            //"VALUES(%u, '%s', '%s', NOW(), '%s') ",
            //get_table_postfix(), pid, old_name, new_name, ip);
}

void LogManager::GMCommandLog(DWORD dwPID, const char* szName, const char* szIP, BYTE byChannel, const char* szCommand)
{
    m_sql.EscapeString(__escape_hint, sizeof(__escape_hint), szCommand, strlen(szCommand));

    Query("INSERT DELAYED INTO command_log%s (userid, server, ip, port, username, command, date ) "
            "VALUES(%u, 999, '%s', %u, '%s', '%s', NOW()) ",
            get_table_postfix(), dwPID, szIP, byChannel, szName, __escape_hint);
}

void LogManager::RefineLog(DWORD pid, const char* item_name, DWORD item_id, int item_refine_level, int is_success, const char* how)
{
    m_sql.EscapeString(__escape_hint, sizeof(__escape_hint), item_name, strlen(item_name));

    //Query("INSERT INTO refinelog%s (pid, item_name, item_id, step, time, is_success, setType) VALUES(%u, '%s', %u, %d, NOW(), %d, '%s')",
            //get_table_postfix(), pid, __escape_hint, item_id, item_refine_level, is_success, how);
}


void LogManager::ShoutLog(BYTE bChannel, BYTE bEmpire, const char * pszText)
{
    m_sql.EscapeString(__escape_hint, sizeof(__escape_hint), pszText, strlen(pszText));

    //Query("INSERT INTO shout_log%s VALUES(NOW(), %d, %d,'%s')", get_table_postfix(), bChannel, bEmpire, __escape_hint);
}

void LogManager::LevelLog(LPCHARACTER pChar, unsigned int level, unsigned int playhour)
{
    if (true == LC_IsEurope())
    {
        DWORD aid = 0;

        if (NULL != pChar->GetDesc())
        {
            aid = pChar->GetDesc()->GetAccountTable().id;
        }

        //Query("REPLACE INTO levellog%s (name, level, time, account_id, pid, playtime) VALUES('%s', %u, NOW(), %u, %u, %d)",
                //get_table_postfix(), pChar->GetName(), level, aid, pChar->GetPlayerID(), playhour);
    }
    else
    {
        //Query("REPLACE INTO levellog%s (name, level, time, playtime) VALUES('%s', %u, NOW(), %d)",
                //get_table_postfix(), pChar->GetName(), level, playhour);
    }
}

void LogManager::BootLog(const char * c_pszHostName, BYTE bChannel)
{
    //Query("INSERT INTO bootlog (time, hostname, channel) VALUES(NOW(), '%s', %d)",
            //c_pszHostName, bChannel);
}

void LogManager::VCardLog(DWORD vcard_id, DWORD x, DWORD y, const char * hostname, const char * giver_name, const char * giver_ip, const char * taker_name, const char * taker_ip)
{
    //Query("INSERT DELAYED INTO vcard_log (vcard_id, x, y, hostname, giver_name, giver_ip, taker_name, taker_ip) VALUES(%u, %u, %u, '%s', '%s', '%s', '%s', '%s')",
            //vcard_id, x, y, hostname, giver_name, giver_ip, taker_name, taker_ip);
}

void LogManager::FishLog(DWORD dwPID, int prob_idx, int fish_id, int fish_level, DWORD dwMiliseconds, DWORD dwVnum, DWORD dwValue)
{
    //Query("INSERT INTO fish_log%s VALUES(NOW(), %u, %d, %u, %d, %u, %u, %u)",
            //get_table_postfix(),
            //dwPID,
            //prob_idx,
            //fish_id,
            //fish_level,
            //dwMiliseconds,
            //dwVnum,
            //dwValue);
}

void LogManager::QuestRewardLog(const char * c_pszQuestName, DWORD dwPID, DWORD dwLevel, int iValue1, int iValue2)
{
    Query("INSERT INTO quest_reward_log%s VALUES('%s',%u,%u,2,%u,%u,NOW())", 
            get_table_postfix(), 
            c_pszQuestName,
            dwPID,
            dwLevel,
            iValue1, 
            iValue2);
}

void LogManager::DetailLoginLog(bool isLogin, LPCHARACTER ch)
{
    if (NULL == ch->GetDesc())
        return;

    if (true == isLogin)
    {
        Query("INSERT INTO loginlog2(type, is_gm, login_time, channel, account_id, pid, ip, client_version) "
                "VALUES('INVALID', %s, NOW(), %d, %u, %u, inet_aton('%s'), '%s')",
                ch->IsGM() == true ? "'Y'" : "'N'",
                g_bChannel,
                ch->GetDesc()->GetAccountTable().id,
                ch->GetPlayerID(),
                ch->GetDesc()->GetHostName(),
                ch->GetDesc()->GetClientVersion());
    }
    else
    {
        Query("SET @i = (SELECT MAX(id) FROM loginlog2 WHERE account_id=%u AND pid=%u)",
                ch->GetDesc()->GetAccountTable().id,
                ch->GetPlayerID());

        Query("UPDATE loginlog2 SET type='VALID', logout_time=NOW(), playtime=TIMEDIFF(logout_time,login_time) WHERE id=@i");
    }
}

void LogManager::DragonSlayLog(DWORD dwGuildID, DWORD dwDragonVnum, DWORD dwStartTime, DWORD dwEndTime)
{
    //Query( "INSERT INTO dragon_slay_log%s VALUES( %d, %d, FROM_UNIXTIME(%d), FROM_UNIXTIME(%d) )",
            //get_table_postfix(),
            //dwGuildID, dwDragonVnum, dwStartTime, dwEndTime);
}

void LogManager::HackShieldLog(unsigned long ErrorCode, LPCHARACTER ch)
{
    struct in_addr st_addr;

#ifndef __WIN32__
    if (0 == inet_aton(ch->GetDesc()->GetHostName(), &st_addr))
#else
    unsigned long in_address;
    in_address = inet_addr(ch->GetDesc()->GetHostName());
    st_addr.s_addr = in_address;
    if (INADDR_NONE == in_address)
#endif
    {
        Query( "INSERT INTO hackshield_log(time, account_id, login, pid, name, reason, ip) "
                "VALUES(NOW(), %u, '%s', %u, '%s', %u, 0)",
                ch->GetDesc()->GetAccountTable().id, ch->GetDesc()->GetAccountTable().login,
                ch->GetPlayerID(), ch->GetName(),
                ErrorCode);
    }
    else
    {
        Query( "INSERT INTO hackshield_log(time, account_id, login, pid, name, reason, ip) "
                "VALUES(NOW(), %u, '%s', %u, '%s', %u, inet_aton('%s'))",
                ch->GetDesc()->GetAccountTable().id, ch->GetDesc()->GetAccountTable().login,
                ch->GetPlayerID(), ch->GetName(),
                ErrorCode,
                ch->GetDesc()->GetHostName());
    }
}

 

Thats a way xD but the better way its to search where this log functions you dont want called on your source and comment this or make it with defines if you want someday to open them again

Untitled.png

Link to comment
Share on other sites

Acum 42 minute, Law™ a spus:

Thats a way xD but the better way its to search where this log functions you dont want called on your source and comment this or make it with defines if you want someday to open them again

Yes but the log table are used for many function so ...

Another question, in 

Spoiler

   m_sql.EscapeString(__escape_hint, sizeof(__escape_hint), pszText, strlen(pszText));

   Query("INSERT INTO shout_log%s VALUES(NOW(), %d, %d,'%s')",

   get_table_postfix(), bChannel, bEmpire, __escape_hint);

It`s okat to commeny only //QUERY or all ( m_sql , querry , get_table.. ) ?

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

Announcements



×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.