Jump to content

Ulas

Active Member
  • Posts

    73
  • Joined

  • Last visited

  • Feedback

    0%

Everything posted by Ulas

  1. Can you update to VC140 please
  2. Dump proto with dumped and send it in locale file end decrypt and join to mob proto add new mobs and close txt to sql this files
  3. If I can change server side x64 need a client x64 ?
  4. I can updated libs to 64 bit just server and I can start server but working normal but doesnt connection and doesnt give anything error code
  5. HUH zLib not good then zstd But Why ve using double compress I dont understand still [Hidden Content]
  6. I had to migrate my files from MySQL 5.6 to 5.7, but I am getting errors and inconsistencies while migrating them, the server connection does not provide either.
  7. I think this is not fix but this is your chooice
  8. Can you try this commands pkg install zstd pkg install devil
  9. Download What is Vrunner? After Creating a Backup of Your Vrunner Channel Core File as a Pid Automatic Within Seconds If Ch Shuts Off For Any Reason It is a reopening system. Players Feel The Fall As Dc. Ch drops even on server using %0 Syser. So why? After 1 day 2 days 7 days after Ram Cache is Full, Ch Drops. You won't have such a problem with Vrunner. Some of the High Online Servers Use This Method. Download [Hidden Content]
  10. or add mysql user 127.0.0.1 and try again or change makefile in 127.0.0.1 -> localhost
  11. Don't need sql_mode Change size(enum) -> size(Set) Change setRaceFlag Change in MySQL value setRaceFlag 'ANIMAL','UNDEAD','DEVIL','HUMAN','ORC','MILGYO','INSECT','FIRE','ICE','DESERT','TREE','ATT_ELEC','ATT_FIRE','ATT_ICE','ATT_WIND','ATT_EARTH','ATT_DARK' Thx I don't saw
  12. Sorry my fault I don't saw config db/Main.cpp in have g_iItemPriceListTableCacheFlushSeconds
  13. If you're check ProtoReader.cpp can saw big problem string arSize[] = { "SAMLL", "MEDIUM", "BIG"}; Change: string arSize[] = { "SMALL", "MEDIUM", "BIG"}; And have one problem myshop_pricelist doesnt work.
  14. Admin shop opened with 71049(silk bundle) Test account normal with packet but doestnt work void CClientManager::MyshopPricelistUpdate(const TItemPriceListTable* pPacket) { if (pPacket->byCount > SHOP_PRICELIST_MAX_NUM) { sys_err("count overflow!"); return; } CItemPriceListTableCache* pCache = GetItemPriceListCache(pPacket->dwOwnerID); if (pCache) { TItemPriceListTable table; table.dwOwnerID = pPacket->dwOwnerID; table.byCount = pPacket->byCount; thecore_memcpy(table.aPriceInfo, pPacket->aPriceInfo, sizeof(TItemPriceInfo) * pPacket->byCount); pCache->UpdateList(&table); } else { TItemPriceListTable* pUpdateTable = new TItemPriceListTable; pUpdateTable->dwOwnerID = pPacket->dwOwnerID; pUpdateTable->byCount = pPacket->byCount; thecore_memcpy(pUpdateTable->aPriceInfo, pPacket->aPriceInfo, sizeof(TItemPriceInfo) * pPacket->byCount); char szQuery[QUERY_MAX_LEN]; snprintf(szQuery, sizeof(szQuery), "SELECT item_vnum, price FROM myshop_pricelist%s WHERE owner_id=%u", GetTablePostfix(), pPacket->dwOwnerID); CDBManager::instance().ReturnQuery(szQuery, QID_ITEMPRICE_LOAD_FOR_UPDATE, 0, pUpdateTable); } } Proof screenshot
  15. Can you add proof please. I want show problem.
  16. I do what he did when he unblocked, but unfortunately, even though I delete it from sql, the ban remains active in the game. [Hidden Content] Maybe this thing problem if (g_bAuthServer) { hwid_manager.InitializeBlocked(); } #include "stdafx.h" #include "../../common/length.h" #include "hwidmanager.h" #include "config.h" #include "db.h" #include "packet.h" #include "desc_client.h" CHwidManager::CHwidManager() { } CHwidManager::~CHwidManager() { m_blocked_hwid.clear(); } void CHwidManager::CleanBlocked() { m_blocked_hwid.clear(); } void CHwidManager::InitializeBlocked() { CleanBlocked(); std::unique_ptr<SQLMsg> msg(DBManager::instance().DirectQuery("SELECT hwid FROM account.blocked_hwids")); if (msg->Get()->uiNumRows > 0) { MYSQL_ROW row; while ((row = mysql_fetch_row(msg->Get()->pSQLResult))) { char hwid[HWID_LENGTH]; strlcpy(hwid, row[0], sizeof(hwid)); if (std::find(m_blocked_hwid.begin(), m_blocked_hwid.end(), hwid) == m_blocked_hwid.end()) { m_blocked_hwid.push_back(hwid); } } } } bool CHwidManager::IsBlocked(const char * hwid) { return std::find(m_blocked_hwid.begin(), m_blocked_hwid.end(), hwid) != m_blocked_hwid.end(); } void CHwidManager::AddHwidToAccount(const char * login, const char * hwid) { std::unique_ptr<SQLMsg> msg(DBManager::instance().DirectQuery("UPDATE account.account SET status='BAN2', hwid='%s' WHERE login='%s' and STATUS='OK'", hwid, login)); } void CHwidManager::SendBlockHwid(const char * whoname, const char * targetname) { THwidRequest pack; strlcpy(pack.whoname, whoname, sizeof(pack.whoname)); strlcpy(pack.targetname, targetname, sizeof(pack.targetname)); db_clientdesc->DBPacket(HEADER_GD_BLOCKHWID, 0, &pack, sizeof(pack)); } void CHwidManager::RecvBlockHwid(const char * whoname, const char * targetname) { if (!g_bAuthServer) { return; } char whoplayername[CHARACTER_NAME_MAX_LEN * 2 + 1]; DBManager::instance().EscapeString(whoplayername, sizeof(whoplayername), whoname, strlen(whoname)); char playername[CHARACTER_NAME_MAX_LEN * 2 + 1]; DBManager::instance().EscapeString(playername, sizeof(playername), targetname, strlen(targetname)); std::unique_ptr<SQLMsg> check(DBManager::instance().DirectQuery("SELECT mID FROM common.gmlist WHERE mName='%s' AND mAuthority='IMPLEMENTOR' LIMIT 1", playername)); if (check->Get()->uiNumRows > 0) { sys_log(0, "HWID:: %s tried to block %s (IMPLEMENTOR).", whoplayername, playername); return; } std::unique_ptr<SQLMsg> msgid(DBManager::instance().DirectQuery("SELECT account_id FROM player.player WHERE name='%s' LIMIT 1", playername)); if (msgid->Get()->uiNumRows > 0) { MYSQL_ROW rowid = mysql_fetch_row(msgid->Get()->pSQLResult); std::unique_ptr<SQLMsg> msg(DBManager::instance().DirectQuery("SELECT hwid FROM player.player_index WHERE id=%d LIMIT 1", atoi(rowid[0]))); if (msg->Get()->uiNumRows > 0) { MYSQL_ROW row = mysql_fetch_row(msg->Get()->pSQLResult); char hwid[HWID_LENGTH]; strlcpy(hwid, row[0], sizeof(hwid)); if (strlen(hwid) == 0) { sys_log(0, "HWID:: Player: %s have invalid hwid, check them manually.", targetname); return; } if (IsBlocked(hwid)) { sys_log(0, "HWID:: %s is already blocked.", hwid); return; } m_blocked_hwid.push_back(hwid); std::string ids; std::unique_ptr<SQLMsg> getaccountsid(DBManager::instance().DirectQuery("SELECT id FROM player.player_index WHERE hwid='%s'", hwid)); if (getaccountsid->Get()->uiNumRows > 0) { std::vector<int32_t> vec_ids; MYSQL_ROW row2; while ((row2 = mysql_fetch_row(getaccountsid->Get()->pSQLResult))) { int32_t id = atoi(row2[0]); if (std::find(vec_ids.begin(), vec_ids.end(), id) == vec_ids.end()) { vec_ids.push_back(id); } } for (auto id : vec_ids) { ids += std::to_string(id); ids += ","; } if (!ids.empty()) { ids.erase(ids.end()- 1); std::unique_ptr<SQLMsg> blockaccountsid(DBManager::instance().DirectQuery("UPDATE account.account SET status='BAN1' WHERE id IN (%s)", ids.c_str())); } } std::unique_ptr<SQLMsg> blockhwid(DBManager::instance().DirectQuery("INSERT INTO account.blocked_hwids SET hwid='%s', who='%s', accounts='%s'", hwid, whoplayername, ids.c_str())); } } } void CHwidManager::SendUnblockHwid(const char * whoname, const char * targetname) { THwidRequest pack; strlcpy(pack.whoname, whoname, sizeof(pack.whoname)); strlcpy(pack.targetname, targetname, sizeof(pack.targetname)); db_clientdesc->DBPacket(HEADER_GD_UNBLOCKHWID, 0, &pack, sizeof(pack)); } void CHwidManager::RecvUnblockHwid(const char * whoname, const char * targetname) { if (!g_bAuthServer) { return; } char whoplayername[CHARACTER_NAME_MAX_LEN * 2 + 1]; DBManager::instance().EscapeString(whoplayername, sizeof(whoplayername), whoname, strlen(whoname)); char playername[CHARACTER_NAME_MAX_LEN * 2 + 1]; DBManager::instance().EscapeString(playername, sizeof(playername), targetname, strlen(targetname)); std::unique_ptr<SQLMsg> msgid(DBManager::instance().DirectQuery("SELECT account_id FROM player.player WHERE name='%s' LIMIT 1", playername)); if (msgid->Get()->uiNumRows > 0) { MYSQL_ROW rowid = mysql_fetch_row(msgid->Get()->pSQLResult); std::unique_ptr<SQLMsg> msg(DBManager::instance().DirectQuery("SELECT hwid FROM player.player_index WHERE id=%d LIMIT 1", atoi(rowid[0]))); if (msg->Get()->uiNumRows > 0) { MYSQL_ROW row = mysql_fetch_row(msg->Get()->pSQLResult); char hwid[HWID_LENGTH]; strlcpy(hwid, row[0], sizeof(hwid)); if (strlen(hwid) == 0) { sys_log(0, "HWID:: Player: %s have invalid hwid, check them manually.", targetname); return; } if (!IsBlocked(hwid)) { sys_log(0, "HWID:: %s is already unblocked.", hwid); return; } auto v = std::find(m_blocked_hwid.begin(), m_blocked_hwid.end(), hwid); if (v != m_blocked_hwid.end()) { m_blocked_hwid.erase(v); } std::unique_ptr<SQLMsg> getaccountsid(DBManager::instance().DirectQuery("SELECT accounts FROM account.blocked_hwids WHERE hwid='%s'", hwid)); if (getaccountsid->Get()->uiNumRows > 0) { MYSQL_ROW row2 = mysql_fetch_row(getaccountsid->Get()->pSQLResult); char accountsid[255 + 1]; strlcpy(accountsid, row2[0], sizeof(accountsid)); std::unique_ptr<SQLMsg> unlockaccounts(DBManager::instance().DirectQuery("UPDATE account.account SET status='OK' WHERE id in (%s)", accountsid)); std::unique_ptr<SQLMsg>(DBManager::instance().DirectQuery("DELETE FROM account.blocked_hwids WHERE hwid='%s'", hwid)); } } } }
  17. I am searching admin panel who have ? Share the thread link if it has been shared Please not (leaked)
×
×
  • 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.