Jump to content

Recommended Posts

Posted
27 minutes ago, menma said:

I used run.bat ai.nasc from cmd console.

 

I try to make it by using l2npc.exe -c -e ai.nasc and have same result.

 

Did you get it to compile? What version of Windows server do you have? I am using windows 2016 but the compiler for Gracia worked fine.

 

UPD: The problem is solved, need to compile with standard scripts. The problem with re-login to the account remains.

that is correct.... I did no test relog, i'm still working in the ai and npcpos, Then I do a test and post

Posted
3 minutes ago, Mechas said:

that is correct.... I did no test relog, i'm still working in the ai and npcpos, Then I do a test and post

void CAuthD::SaveUserDataAndLogout(int nAccountID,int nUnk1,int nUnk2)
{
	typedef void (CAuthD::*t)(int,int,int);
	SET_INSTANCE_METHOD_ADDR(t, 0x45C00CL);
	CALL_INSTANCE_METHOD(nAccountID,nUnk1,nUnk2);
}

void CAuthD::RequestLogout(int nAccountID,int nUnk1,int nUnk2)
{
	typedef void (CAuthD::*t)(int,int,int);
	SET_INSTANCE_METHOD_ADDR(t, 0x45BE50L);
	CALL_INSTANCE_METHOD(nAccountID,nUnk1,nUnk2);
}

bool CAuthD::OnRequestLogin(wchar_t * sAccountName,int nAccountID,int nGameSessionID,int nAccountID2,int nAuthSessionID,CUserSocket *pSocket)
{
	TLS_TRACE_FUNCTION;	

	if(nGameSessionID == 0 || nAuthSessionID == 0 || nAccountID != nAccountID2)
	{	
		CLog::Add(CLog::red,L"Wrong account session! account_id(%d) GameSessionID[%d] AccountID2[%d] AuthSessionID[%d]",nAccountID,nGameSessionID,nAccountID2,nAuthSessionID);
		pSocket->ForceClose(6);
		return false;
	}

	g_AuthSessionLock->WriteLock(__WFILE__,__LINE__);
	bool bSessionError = false;
	IntIntMap::iterator iter = g_AuthAccountSessionMap->find(nAccountID);
	if(iter != g_AuthAccountSessionMap->end())
	{		
		if (nGameSessionID != iter->second)
		{
			bSessionError = true;		
			CLog::Add(CLog::red,L"Wrong account session! account_id(%d) session[%d] != [%d]",nAccountID,nGameSessionID,iter->second);
		}
	}
	else
	{
		bSessionError = true;
		CLog::Add(CLog::red,L"Account session not found! account_id(%d) session[%d]",nAccountID,nGameSessionID);
	}
	g_AuthSessionLock->WriteUnlock();

	if(bSessionError)
	{
		pSocket->ForceClose(6);
		return false;
	}

	CPremiumService::I()->RequestPremiumState(pSocket->GetSocketUID(), nAccountID);

	typedef bool (CAuthD::*t)(wchar_t *,int,int,int,int,CUserSocket *);
	SET_INSTANCE_METHOD_ADDR(t, 0x45B648L);
	return CALL_INSTANCE_METHOD(sAccountName,nAccountID,nGameSessionID,nAccountID2,nAuthSessionID,pSocket);
}

 

hfdll.dll have this

Posted
2 minutes ago, menma said:

void CAuthD::SaveUserDataAndLogout(int nAccountID,int nUnk1,int nUnk2)
{
	typedef void (CAuthD::*t)(int,int,int);
	SET_INSTANCE_METHOD_ADDR(t, 0x45C00CL);
	CALL_INSTANCE_METHOD(nAccountID,nUnk1,nUnk2);
}

void CAuthD::RequestLogout(int nAccountID,int nUnk1,int nUnk2)
{
	typedef void (CAuthD::*t)(int,int,int);
	SET_INSTANCE_METHOD_ADDR(t, 0x45BE50L);
	CALL_INSTANCE_METHOD(nAccountID,nUnk1,nUnk2);
}

bool CAuthD::OnRequestLogin(wchar_t * sAccountName,int nAccountID,int nGameSessionID,int nAccountID2,int nAuthSessionID,CUserSocket *pSocket)
{
	TLS_TRACE_FUNCTION;	

	if(nGameSessionID == 0 || nAuthSessionID == 0 || nAccountID != nAccountID2)
	{	
		CLog::Add(CLog::red,L"Wrong account session! account_id(%d) GameSessionID[%d] AccountID2[%d] AuthSessionID[%d]",nAccountID,nGameSessionID,nAccountID2,nAuthSessionID);
		pSocket->ForceClose(6);
		return false;
	}

	g_AuthSessionLock->WriteLock(__WFILE__,__LINE__);
	bool bSessionError = false;
	IntIntMap::iterator iter = g_AuthAccountSessionMap->find(nAccountID);
	if(iter != g_AuthAccountSessionMap->end())
	{		
		if (nGameSessionID != iter->second)
		{
			bSessionError = true;		
			CLog::Add(CLog::red,L"Wrong account session! account_id(%d) session[%d] != [%d]",nAccountID,nGameSessionID,iter->second);
		}
	}
	else
	{
		bSessionError = true;
		CLog::Add(CLog::red,L"Account session not found! account_id(%d) session[%d]",nAccountID,nGameSessionID);
	}
	g_AuthSessionLock->WriteUnlock();

	if(bSessionError)
	{
		pSocket->ForceClose(6);
		return false;
	}

	CPremiumService::I()->RequestPremiumState(pSocket->GetSocketUID(), nAccountID);

	typedef bool (CAuthD::*t)(wchar_t *,int,int,int,int,CUserSocket *);
	SET_INSTANCE_METHOD_ADDR(t, 0x45B648L);
	return CALL_INSTANCE_METHOD(sAccountName,nAccountID,nGameSessionID,nAccountID2,nAuthSessionID,pSocket);
}

 

hfdll.dll have this

No problem with relog, try no use dll russian shit, use only eressea extender, and diferent auth, try use clean system client.

Posted
9 minutes ago, Mechas said:

No problem with relog, try no use dll russian shit, use only eressea extender, and diferent auth, try use clean system client.

I used eressea extender and hint auth. Clean system 273p.

Posted (edited)
2 hours ago, menma said:

what authd are you using?I download 

 

but it did not help.

error.jpg

EDIT: Scratch that, I'm using the patched hauthD too. What's happening when you use it?

Edited by Bumble
Posted (edited)
20 minutes ago, Bumble said:

EDIT: Scratch that, I'm using the patched hauthD too. What's happening when you use it?

It looks like the server is not sending a packet to the login that I have logged out. The client closes, but the login server shows that I am still online.

 

How are you with logging out and logging in to one account, is everything okay?

Edited by menma
Posted (edited)
15 minutes ago, zconll said:

I am using too HAuthd , all work good, i can reloging, i can to send you my HAuthd if you need.

If you can, send all your binary. I try to watch what is this. Ty.

Bacause i dont khow, change l2server dll name and import dll in other binary its all what i do.

Edited by menma
Posted
7 hours ago, menma said:

what authd are you using?I download 

 

but it did not help.

error.jpg

Sorry i'm working, I can see you resolve the problem, really what happend, i do not know, I use russian pack, and last ver. eressea extender.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.




×
×
  • Create New...