Added a feature that allows an EQ client to log in directly to World without having to enter the LoginServer, provided the 'password' field is set in WorldServer.

Mainly used for administration purposes. A DLL hack is needed to utilize this feature, and the DLL itself will be posted (source included) on the EQEmulator forums. It uses Microsoft Detours 1.5. Up to you guys if you want to add the source to this program here.
This commit is contained in:
SecretsOTheP
2014-12-08 05:46:10 -05:00
parent f81f62670e
commit 9db39b5eec
3 changed files with 13 additions and 3 deletions
+6 -1
View File
@@ -397,6 +397,11 @@ bool Client::HandleSendLoginInfoPacket(const EQApplicationPacket *app) {
}
else if(strncasecmp(name, "LS#", 3) == 0)
id=atoi(&name[3]);
else if(database.GetAccountIDByName(name)){
int16 status = 0;
uint32 lsid = 0;
id = database.GetAccountIDByName(name, &status, &lsid);
}
else
id=atoi(name);
#ifdef IPBASED_AUTH_HACK
@@ -406,7 +411,7 @@ bool Client::HandleSendLoginInfoPacket(const EQApplicationPacket *app) {
clog(WORLD__CLIENT_ERR,"Error: Login server login while not connected to login server.");
return false;
}
if ((minilogin && (cle = client_list.CheckAuth(id,password,ip))) || (cle = client_list.CheckAuth(id, password)))
if (((cle = client_list.CheckAuth(name, password)) || (cle = client_list.CheckAuth(id, password))))
#endif
{
if (cle->AccountID() == 0 || (!minilogin && cle->LSID()==0)) {