|
You last visited: Today at 23:32
Advertisement
Error 1053 ! [TLogin]
Discussion on Error 1053 ! [TLogin] within the 4Story forum part of the MMORPGs category.
06/16/2016, 17:19
|
#1
|
elite*gold: 0
Join Date: Mar 2010
Posts: 187
Received Thanks: 93
|
Error 1053 ! [TLogin]
Hi everyone ! Today, i want to play (localhost) to a private server, so i download all server files,ect...
All service start except TLogin, with 1053 error.
The registery are good (my local IP) and port 5336 (the same in TSERVER).
I know TLogin connect to SQL Server because there are request (So ODBC are good):
And this is my TGROUP, TIPADDR and TMACHINE:
Regedit:
Code:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TLOGIN_GSP\Config]
"DBPasswd"="asdf"
"DBUser"="sa"
"DSN"="TGLOBAL_GSP"
"Port"=dword:000014D8
"ServerID"=dword:00000001
"LogIP"="192.168.1.2"
"LogPort"=dword:00001b58
My ip is: 192.168.1.2
Port: 5336 !
If someone can help me... 
Big Kiss ! 
EDIT: OK, all server running ! Juste uninstall service, réinstall with admin and start with admin, BUT... i have a problem:
I use "OldSchool" server, but when i connect it, TClient says "The given access data is incorrect" !
But the TLogin work because when the ID are wrong, it notified me...
TClient.exe must be patched ? It's the installer of Blade 4Story !
Someone have an good idea please ?
|
|
|
06/16/2016, 20:27
|
#2
|
elite*gold: 0
Join Date: Sep 2013
Posts: 108
Received Thanks: 225
|
TServer->TLogin->CSHandler check LOGIN_REQ packet and returns
|
|
|
06/16/2016, 21:41
|
#3
|
elite*gold: 0
Join Date: Mar 2010
Posts: 187
Received Thanks: 93
|
Code:
/*
* OnCS_LOGIN_REQ
*/
DWORD CTLoginSvrModule::OnCS_LOGIN_REQ(CSqlDatabase *pDB, LPMAPTGROUP pGROUP, CTUser *pUser, CPacket& packet)
{
WORD wVersion;
BYTE bChanneling = 0;
INT64 dlCheck;
INT64 llChecksum_recv;
// Check the Version
packet >> wVersion;
if( wVersion != 605 )
{
pUser->SendCS_LOGIN_ACK(LR_VERSION, 0, 0, 0, 0, 0, 0, 0, 0, 0);
return EC_SESSION_INVALIDCHAR;
}
CString konstisfag;
CString konstisfag2;
CString konstisfag3;
packet >> konstisfag
>> pUser->m_strPasswd
>> konstisfag3
>> konstisfag2
>> pUser->m_strUserID
>> dlCheck
>> llChecksum_recv;
if(m_hExecFile != INVALID_HANDLE_VALUE &&
dlCheck != m_dlCheckFile)
{
LogExecCheck(pUser->m_dwID, 3, pUser->m_strUserID);
return EC_SESSION_INVALIDCHAR;
}
if(m_bNation == NATION_JAPAN)
packet >> bChanneling;
// Check the ID/Password Max Size
if(pUser->m_strUserID.GetLength() > MAX_NAME ||
pUser->m_strPasswd.GetLength() > MAX_NAME)
{
pUser->SendCS_LOGIN_ACK(LR_INTERNAL, 0, 0, 0, 0, 0, 0, 0, 0, 0);
return EC_SESSION_INVALIDCHAR;
}
INT64 llChecksum;
INT64 key = 0x336c3aebf71a8b08;
llChecksum = wVersion * 2 - 500;
INT64 dwIndex = llChecksum % sizeof(INT64);
INT64 dwBody = llChecksum / sizeof(INT64);
for(DWORD i = 0; i < dwIndex; i++)
{
llChecksum ^= dwBody;
llChecksum += key;
}
if(llChecksum != llChecksum_recv)
{
return EC_SESSION_INVALIDCHAR;
}
BYTE bIPCheck = 0;
//
// Check the IP Block
//
// - Work : Parmater LR_IPBLOCK change
//
DEFINE_QUERY( pDB, CSPCheckIP)
lstrcpy( query->m_szIPAddr, inet_ntoa(pUser->m_addr.sin_addr));
if(query->Call())
{
bIPCheck = query->m_nRET;
if(bIPCheck == LR_BLOCK)
{
pUser->SendCS_LOGIN_ACK(bIPCheck, 0, 0, 0, 0, 0, 0, 0, 0, 0);
#ifdef DEF_UDPLOG
m_pUdpSocket->LogLogin(pUser, LR_IPBLOCK);
#endif
return EC_SESSION_INVALIDCHAR;
}
}
UNDEFINE_QUERY()
pUser->m_dlCheckKey = TRand(0xFFFFFFFF) | (INT64(TRand(0xFFFFFFFF)) << 32);
// Check the ID/Password
if(m_bNation == NATION_JAPAN)
{
DEFINE_QUERY( pDB, CSPLoginJP)
lstrcpy( query->m_szUserID, LPCSTR(pUser->m_strUserID));
lstrcpy( query->m_szPasswd, LPCSTR(pUser->m_strPasswd));
lstrcpy( query->m_szLoginIP, inet_ntoa(pUser->m_addr.sin_addr));
query->m_bChanneling = bChanneling;
query->m_bIPCheck = bIPCheck;
if(!query->Call())
query->m_nRET = LR_INTERNAL;
#ifdef DEF_UDPLOG
m_pUdpSocket->LogLogin(pUser, query->m_nRET);
#endif
pUser->SendCS_LOGIN_ACK(
query->m_nRET,
query->m_dwID,
query->m_dwCharID,
query->m_dwKEY,
query->m_szIPAddr ?
inet_addr(query->m_szIPAddr) : 0,
query->m_wPort,
query->m_bCreateCnt,
query->m_bInPcBang,
query->m_dwPremium,
CTime::GetCurrentTime().GetTime());
switch(query->m_nRET)
{
case LR_DUPLICATE :
{
SMART_LOCKCS(&m_csLI)
MAPTUSER::iterator finder = m_mapTUSER.find(query->m_dwID);
pUser->m_dwID = query->m_dwID;
pUser->m_bLogout = TRUE;
if( finder != m_mapTUSER.end() )
{
(*finder).second->m_bLogout = FALSE;
CloseSession((*finder).second);
}
else if(query->m_dwCharID)
{
pUser->m_bLogout = FALSE;
}
}
return EC_SESSION_INVALIDCHAR;
case LR_NEEDAGREEMENT:
pUser->m_bAgreement = FALSE;
case LR_SUCCESS :
{
SMART_LOCKCS(&m_csLI)
pUser->m_dwID = query->m_dwID;
pUser->m_bLogout = TRUE;
pUser->m_bCreateCnt = query->m_bCreateCnt;
pUser->m_dwAcceptTick = 0;
m_mapTUSER.insert( MAPTUSER::value_type( pUser->m_dwID, pUser));
MAPDWORD::iterator finder = m_mapACTIVEUSER.find(pUser->m_dwID);
if( finder == m_mapACTIVEUSER.end() )
m_mapACTIVEUSER.insert(MAPDWORD::value_type(pUser->m_dwID, pUser->m_dwID));
}
break;
default : return EC_SESSION_INVALIDCHAR;
}
UNDEFINE_QUERY()
}
else
{
DEFINE_QUERY( pDB, CSPLogin)
lstrcpy( query->m_szUserID, LPCSTR(pUser->m_strUserID));
lstrcpy( query->m_szPasswd, LPCSTR(pUser->m_strPasswd));
lstrcpy( query->m_szLoginIP, inet_ntoa(pUser->m_addr.sin_addr));
query->m_bIPCheck = bIPCheck;
if(!query->Call())
query->m_nRET = LR_INTERNAL;
#ifdef DEF_UDPLOG
m_pUdpSocket->LogLogin(pUser, query->m_nRET);
#endif
pUser->SendCS_LOGIN_ACK(
query->m_nRET,
query->m_dwID,
query->m_dwCharID,
query->m_dwKEY,
query->m_szIPAddr ?
inet_addr(query->m_szIPAddr) : 0,
query->m_wPort,
query->m_bCreateCnt,
query->m_bInPcBang,
query->m_dwPremium,
CTime::GetCurrentTime().GetTime());
switch(query->m_nRET)
{
case LR_DUPLICATE :
{
SMART_LOCKCS(&m_csLI)
MAPTUSER::iterator finder = m_mapTUSER.find(query->m_dwID);
pUser->m_dwID = query->m_dwID;
pUser->m_bLogout = TRUE;
if( finder != m_mapTUSER.end() )
{
(*finder).second->m_bLogout = FALSE;
CloseSession((*finder).second);
}
else if(query->m_dwCharID)
{
pUser->m_bLogout = FALSE;
}
}
return EC_SESSION_INVALIDCHAR;
case LR_NEEDAGREEMENT:
pUser->m_bAgreement = FALSE;
case LR_SUCCESS :
{
//m_pDebugSocket->LogLogin(pUser, query->m_dwID);
SMART_LOCKCS(&m_csLI)
pUser->m_dwID = query->m_dwID;
pUser->m_bLogout = TRUE;
pUser->m_bCreateCnt = query->m_bCreateCnt;
pUser->m_dwAcceptTick = 0;
//pUser->m_bLock = FALSE;
if(m_hExecFile != INVALID_HANDLE_VALUE)
pUser->m_qCheckPoint.push(0);
m_mapTUSER.insert( MAPTUSER::value_type( pUser->m_dwID, pUser));
MAPDWORD::iterator finder = m_mapACTIVEUSER.find(pUser->m_dwID);
if( finder == m_mapACTIVEUSER.end() )
m_mapACTIVEUSER.insert(MAPDWORD::value_type(pUser->m_dwID, pUser->m_dwID));
}
break;
default : return EC_SESSION_INVALIDCHAR;
}
UNDEFINE_QUERY()
}
return EC_NOERROR;
}
// 현승룡 CS_TESTLOGIN_REQ
DWORD CTLoginSvrModule::OnCS_TESTLOGIN_REQ( CSqlDatabase *pDB, LPMAPTGROUP pGROUP, CTUser *pUser, CPacket& packet)
{
DEFINE_QUERY( pDB, CSPTestLogin)
EnterCriticalSection(&m_csLI);
if(!query->Call())
query->m_nRET = LR_INTERNAL;
LeaveCriticalSection(&m_csLI);
pUser->m_strUserID = query->m_szUserID;
pUser->m_strPasswd = query->m_szPasswd;
ATLTRACE(_T("nRet:%d dwUserID:%d, UserID:%s, Passwd=%s\n"), query->m_nRET, query->m_dwID, pUser->m_strUserID, pUser->m_strPasswd);
// Login 할 수 있는 ID가 없을 경우
if( query->m_nRET == 1 )
{
pUser->SendCS_LOGIN_ACK(10, 0, 0, 0, 0, 0, 0, 0, 0, 0);
return EC_SESSION_INVALIDCHAR;
}
pUser->SendCS_LOGIN_ACK(
query->m_nRET,
query->m_dwID,
query->m_dwCharID,
query->m_dwKEY,
query->m_szIPAddr ?
inet_addr(query->m_szIPAddr) : 0,
query->m_wPort,
0, 0, 0, 0);
switch(query->m_nRET)
{
case LR_SUCCESS :
{
SMART_LOCKCS(&m_csLI)
pUser->m_dwID = query->m_dwID;
pUser->m_bLogout = TRUE;
m_mapTUSER.insert( MAPTUSER::value_type( pUser->m_dwID, pUser));
MAPDWORD::iterator finder = m_mapACTIVEUSER.find(pUser->m_dwID);
if( finder == m_mapACTIVEUSER.end() )
m_mapACTIVEUSER.insert(MAPDWORD::value_type(pUser->m_dwID, pUser->m_dwID));
}
break;
default : return EC_SESSION_INVALIDCHAR;
}
UNDEFINE_QUERY()
return EC_NOERROR;
}
Oookay i have this ! x)
|
|
|
06/27/2016, 06:10
|
#4
|
elite*gold: 0
Join Date: Sep 2012
Posts: 40
Received Thanks: 6
|
Do u Have 64-Bit system if yes do the ODBC over syswow64 (windows folder)
C: > Windows > SysWOW64 > ODBC > done
|
|
|
06/27/2016, 10:12
|
#5
|
elite*gold: 0
Join Date: Mar 2010
Posts: 187
Received Thanks: 93
|
Yes ! The solution was simple: configure ODBC 64 & 32, but not the Windows Connection ! Juste the "sa" & "asdf" code... And it works ! O.o
|
|
|
06/27/2016, 11:09
|
#6
|
elite*gold: 0
Join Date: Sep 2012
Posts: 40
Received Thanks: 6
|
...nice have fun
|
|
|
Similar Threads
|
TLOGIN ERROR
01/24/2015 - 4Story - 2 Replies
hello community i have this problem can you help me ?
Screenshot by Lightshot
|
TLOGIN ERROR
03/29/2014 - 4Story - 13 Replies
Hello guys,i have a big problem with TLOGIN on 4.3 patch.
I login work something like 25-30 minutes and after is down,can someone tell me what can i Do. I try to replace with a old tlogin but after i can`t login in game anymore. Thank you in advance for help.
|
All times are GMT +1. The time now is 23:32.
|
|