Ulas
Active Member-
Posts
73 -
Joined
-
Last visited
-
Feedback
0%
Content Type
Forums
Store
Third Party - Providers Directory
Feature Plan
Release Notes
Docs
Events
Everything posted by Ulas
-
Can you update to VC140 please
-
Proof?
-
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
-
If I can change server side x64 need a client x64 ?
-
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
-
HUH zLib not good then zstd But Why ve using double compress I dont understand still [Hidden Content]
-
Open port and change ip router port and have a good fun
-
Do you have x64 libs?
-
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.
-
I think this is not fix but this is your chooice
-
Missing file from MySQL?
Ulas replied to Henry6767's topic in Community Support - Questions & Answers
Can you add me Ulas#8871 I can check your bsd -
Missing file from MySQL?
Ulas replied to Henry6767's topic in Community Support - Questions & Answers
gmake dep and try again -
Makefile Error on compliance the source.
Ulas replied to ionutsebastian's topic in Community Support - Questions & Answers
Can you try this commands pkg install zstd pkg install devil -
Makefile Error on compliance the source.
Ulas replied to ionutsebastian's topic in Community Support - Questions & Answers
pkg install llvm-devel -
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]
-
or add mysql user 127.0.0.1 and try again or change makefile in 127.0.0.1 -> localhost
-
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
-
Sorry my fault I don't saw config db/Main.cpp in have g_iItemPriceListTableCacheFlushSeconds
-
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.
-
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
-
No
-
Can you add proof please. I want show problem.
-
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)); } } } }
-
I am searching admin panel who have ? Share the thread link if it has been shared Please not (leaked)