Jump to content

TheGameDeveloper

Inactive Member
  • Posts

    41
  • Joined

  • Last visited

  • Days Won

    1
  • Feedback

    0%

Posts posted by TheGameDeveloper

  1. Hello, how to generate new integrer in cipher.cpp and disable other client conection ?

     

    	Integer p
    	(
    		"0xB10B8F96A080E01DDE92DE5EAE5D54EC52C99FBCFB06A3C6"
    		"9A6A9DCA52D23B616073E28675A23D189838EF1E2EE652C0"
    		"13ECB4AEA906112324975C3CD49B83BFACCBDD7D90C4BD70"
    		"98488E9C219A73724EFFD6FAE5644738FAA31A4FF55BCCC0"
    		"A151AF5F0DC8B4BD45BF37DF365C1A65E68CFDA76D4DA708"
    		"DF1FB2BC2E4A4371"
    	);
    
    	Integer g
    	(
    		"0xA4D1CBD5C3FD34126765A442EFB99905F8104DD258AC507F"
    		"D6406CFF14266D31266FEA1E5C41564B777E690F5504F213"
    		"160217B4B01B886A5E91547F9E2749F4D7FBD7D3B9A92EE1"
    		"909D0D2263F80A76A6A24C087A091F531DBF0A0169B6A28A"
    		"D662A4D18E73AFA32D779D5918D08BC8858F4DCEF97C2A24"
    		"855E6EEB22B3B2E5"
    	);
    
    	Integer q
    	(
    		"0xF518AA8781A8DF278ABA4E7D64B7CB9D49462353"
    	);

     

  2. Block the drop hacks:

    Which is correct ?

    1

    	if (pkItemToDrop->AddToGround (GetMapIndex(), pxPos))
    	{
    		ChatPacket (CHAT_TYPE_INFO, LC_TEXT ("¶łľîÁř ľĆŔĚĹŰŔş 3şĐ ČÄ »ç¶óÁý´Ď´Ů."));
    		pkItemToDrop->StartDestroyEvent(30);
    
    		ITEM_MANAGER::instance().FlushDelayedSave (pkItemToDrop);
    
    		char szHint[32 + 1];
    		snprintf (szHint, sizeof (szHint), "%s %u %u", pkItemToDrop->GetName(), pkItemToDrop->GetCount(), pkItemToDrop->GetOriginalVnum());
    		LogManager::instance().ItemLog (this, pkItemToDrop, "DROP", szHint);
    		LastDropTime = thecore_pulse();
    		CountDrops++;		
    	}
    
    	if (thecore_pulse() > LastDropTime + 25)
    	{
    		CountDrops = 0;
    	}
    
    	if (thecore_pulse() < LastDropTime + 25 && CountDrops >= 4)
    	{
    		CountDrops = 0;
    		sys_err("%s[%d] has been disconnected because of drophack using", GetName(), GetPlayerID());
    		GetDesc()->SetPhase(PHASE_CLOSE);
    		return false;
    	}

    2

    	if (pkItemToDrop->AddToGround (GetMapIndex(), pxPos))
    	{
    		if (thecore_pulse() > LastDropTime + 25)
    		{
    			CountDrops = 0;
    		}
    
    		if (thecore_pulse() < LastDropTime + 25 && CountDrops >= 4)
    		{
    			CountDrops = 0;
    			sys_err("%s[%d] has been disconnected because of drophack using", GetName(), GetPlayerID());
    			GetDesc()->SetPhase(PHASE_CLOSE);
    			return false;
    		}		
    		
    		ChatPacket (CHAT_TYPE_INFO, LC_TEXT ("¶łľîÁř ľĆŔĚĹŰŔş 3şĐ ČÄ »ç¶óÁý´Ď´Ů."));
    		pkItemToDrop->StartDestroyEvent(30);
    
    		ITEM_MANAGER::instance().FlushDelayedSave (pkItemToDrop);
    
    		char szHint[32 + 1];
    		snprintf (szHint, sizeof (szHint), "%s %u %u", pkItemToDrop->GetName(), pkItemToDrop->GetCount(), pkItemToDrop->GetOriginalVnum());
    		LogManager::instance().ItemLog (this, pkItemToDrop, "DROP", szHint);
    		LastDropTime = thecore_pulse();
    		CountDrops++;		
    	}

     

  3.  

    hello i updaded mysql 5.5 to 8.0(new mysql source + lib updaded my game/db source) and account no login syerr .:

    Jun 13 19:04:41 :: InputAuth::Login : key 47105967:0xbfbfbf79 login 4]ŔoÎ(t•]oÎ(
    Jun 13 19:04:41 :: QID_AUTH_LOGIN: START 47105967 0x28ce6f00
    Jun 13 19:04:41 ::    NOID


    server send NOID to client What could be the problem?

  4. Hi, i use http://freakgamers.org/threads/source-client-tools-server.6551/  this source  and I can not login in account

    Syerr

     

    Jun  4 12:54:06 :: Handshake: lower than zero -20
    Jun  4 12:54:06 :: Handshake: client_time 0 server_time 382967
    Jun  4 12:54:06 :: AUTH_PHASE 0x28cdfa80
    Jun  4 12:54:07 :: InputAuth::Login : admin2(6) desc 0x28cdfa80
    Jun  4 12:54:07 :: SetLoginKey 365870582
    Jun  4 12:54:07 :: InputAuth::Login : key 365870582:0xbfbfbf51 login Ô$]@űÍ(*]”úÍ(
    Jun  4 12:54:07 :: QID_AUTH_LOGIN: START 365870582 0x28cdfa80
    Jun  4 12:54:07 ::    NOID

    db.cpp Detail

    void DBManager::AnalyzeReturnQuery (SQLMsg* pMsg)
    {
    	auto qi = (CReturnQueryInfo*) pMsg->pvUserData;
    	switch (qi->iType)
    	{
    
    		case QID_AUTH_LOGIN:
    		{
    			auto pinfo = (TPacketCGLogin3*) qi->pvData;
    			auto d = DESC_MANAGER::instance().FindByLoginKey (qi->dwIdent);
    
    			if (!d)
    			{
    				M2_DELETE (pinfo);
    				break;
    			}
    
    			d->SetLogin (pinfo->login);
    
    			sys_log (0, "QID_AUTH_LOGIN: START %u %p", qi->dwIdent, get_pointer (d));
    
    			if (pMsg->Get()->uiNumRows == 0)
    			{
    				sys_log (0, "   NOID");
    				LoginFailure (d, "NOID");
    				M2_DELETE (pinfo);
    			}
    			else
    			{
    				auto row = mysql_fetch_row (pMsg->Get()->pSQLResult);
    				int  col = 0;
    				char szDwID[26] = {0};
    				char szEncrytPassword[45] = {0};
    				char szPassword[45] = {0};
    				char szSocialID[SOCIAL_ID_MAX_LEN + 1] = {0};
    				char szStatus[ACCOUNT_STATUS_MAX_LEN + 1] = {0};
    
    				DWORD dwID = 0;
    
    				if (!row[col])
    				{
    					sys_err ("error column %d", col);
    					M2_DELETE (pinfo);
    					break;
    				}
    
    				strlcpy (szDwID, row[col++], sizeof (szDwID));
    				str_to_number (dwID, szDwID);
    
    				if (!row[col])
    				{
    					sys_err ("error column %d", col);
    					M2_DELETE (pinfo);
    					break;
    				}
    
    				strlcpy (szEncrytPassword, row[col++], sizeof (szEncrytPassword));
    				if (!row[col])
    				{
    					sys_err ("error column %d", col);
    					M2_DELETE (pinfo);
    					break;
    				}
    
    				strlcpy (szPassword, row[col++], sizeof (szPassword));
    
    				if (!row[col])
    				{
    					sys_err ("error column %d", col);
    					M2_DELETE (pinfo);
    					break;
    				}
    
    				strlcpy (szSocialID, row[col++], sizeof (szSocialID));
    
    				if (!row[col])
    				{
    					sys_err ("error column %d", col);
    					M2_DELETE (pinfo);
    					break;
    				}
    
    				strlcpy (szStatus, row[col++], sizeof (szStatus));
    
    				BYTE bNotAvail = 0;
    				str_to_number (bNotAvail, row[col++]);
    
    				int aiPremiumTimes[PREMIUM_MAX_NUM];
    				memset (&aiPremiumTimes, 0, sizeof (aiPremiumTimes));
    
    				char szCreateDate[256] = "00000000";
    
    				str_to_number (aiPremiumTimes[PREMIUM_EXP], row[col++]);
    				str_to_number (aiPremiumTimes[PREMIUM_ITEM], row[col++]);
    				str_to_number (aiPremiumTimes[PREMIUM_SAFEBOX], row[col++]);
    				str_to_number (aiPremiumTimes[PREMIUM_AUTOLOOT], row[col++]);
    				str_to_number (aiPremiumTimes[PREMIUM_FISH_MIND], row[col++]);
    				str_to_number (aiPremiumTimes[PREMIUM_MARRIAGE_FAST], row[col++]);
    				str_to_number (aiPremiumTimes[PREMIUM_GOLD], row[col++]);
    
    				long retValue = 0;
    				str_to_number (retValue, row[col]);
    
    				time_t create_time = retValue;
    				struct tm* tm1;
    				tm1 = localtime (&create_time);
    				strftime (szCreateDate, 255, "%Y%m%d", tm1);
    
    				sys_log (0, "Create_Time %d %s", retValue, szCreateDate);
    				sys_log (0, "Block Time %d ", strncmp (szCreateDate, g_stBlockDate.c_str(), 8));
    
    
    
    				int nPasswordDiff = strcmp (szEncrytPassword, szPassword);
    				if (nPasswordDiff)
    				{
    					LoginFailure (d, "WRONGPWD");
    					sys_log (0, "   WRONGPWD");
    					M2_DELETE (pinfo);
    				}
    				else if (bNotAvail)
    				{
    					LoginFailure (d, "NOTAVAIL");
    					sys_log (0, "   NOTAVAIL");
    					M2_DELETE (pinfo);
    				}
    				else if (DESC_MANAGER::instance().FindByLoginName (pinfo->login))
    				{
    					LoginFailure (d, "ALREADY");
    					sys_log (0, "   ALREADY");
    					M2_DELETE (pinfo);
    				}
    				else if (strcmp (szStatus, "OK"))
    				{
    					LoginFailure (d, szStatus);
    					sys_log (0, "   STATUS: %s", szStatus);
    					M2_DELETE (pinfo);
    				}
    				else
    				{
    					if (strncmp (szCreateDate, g_stBlockDate.c_str(), 8) >= 0)
    					{
    						LoginFailure (d, "BLKLOGIN");
    						sys_log (0, "   BLKLOGIN");
    						M2_DELETE (pinfo);
    						break;
    					}
    
    					char szQuery[54 + 1];
    					snprintf (szQuery, sizeof (szQuery), "UPDATE account SET last_play=NOW() WHERE id=%u", dwID);
    					std::unique_ptr<SQLMsg> msg (DBManager::instance().DirectQuery (szQuery));
    
    					auto &r = d->GetAccountTable();
    
    					r.id = dwID;
    					trim_and_lower (pinfo->login, r.login, sizeof (r.login));
    					strlcpy (r.passwd, pinfo->passwd, sizeof (r.passwd));
    					strlcpy (r.social_id, szSocialID, sizeof (r.social_id));
    					DESC_MANAGER::instance().ConnectAccount (r.login, d);
    
    					LoginPrepare (d, pinfo->adwClientKey, aiPremiumTimes);
    					M2_DELETE (pinfo);
    					break;
    
    				}
    			}
    		}
    		break;

    what might be the problem ?
     

×
×
  • 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.