Jump to content
TrinityCore

Stuck at connected / infinite loop / login issues / battle.net


CFGhost
 Share

Recommended Posts

This isn't a realm ID issue or the player wouldn't even be able to connect at all.

Is your friend using a hacked version of the client? Did they modify any of their MPQ files? If this happens only when a loading screen appears, it seems to me that something is broken on the client side.

I remember when I was mucking around with trying to change the Draeni models into Night Elf models by editing the DBC files, I caused similar "malformed packet" issues when trying to /sit or /dance which not only disconnected me but crashed my client too.

using the exact same client as he does and it's not hacked nor have we modded any mpq files nor any dbc files. But i'll tell him to try and re-download the client and try again, thanks for the answer, i'll get back to you guys with an answer.

Link to comment
Share on other sites

using the exact same client as he does and it's not hacked nor have we modded any mpq files nor any dbc files. But i'll tell him to try and re-download the client and try again, thanks for the answer, i'll get back to you guys with an answer.

He'll have a hard time downloading the client, the launcher will update him to 5.x which is a Pandaria migration patch. If he downloads it off a torrent then he might get what he wants but then again he might not.

What I find strange is there is no "Player" data for the error. If his client did in fact send the wrong packet, there should be a valid reference to the Player object to get account info.

You didn't indicate in your OP but what version of the core are you running? Is this a 3.x or 4.x server?

If this is a 3.x server, here is the function in question:


int WorldSocket::handle_input_header (void)

{

ACE_ASSERT (m_RecvWPct == NULL);


ACE_ASSERT (m_Header.length() == sizeof(ClientPktHeader));


m_Crypt.DecryptRecv ((uint8*) m_Header.rd_ptr(), sizeof(ClientPktHeader));


ClientPktHeader& header = *((ClientPktHeader*) m_Header.rd_ptr());


EndianConvertReverse(header.size);

EndianConvert(header.cmd);


if ((header.size < 4) || (header.size > 10240) || (header.cmd > 10240))

{

	 Player* _player = m_Session ? m_Session->GetPlayer() : NULL;

	 sLog->outError(LOG_FILTER_NETWORKIO, "WorldSocket::handle_input_header(): client (account: %u, char [GUID: %u, name: %s]) sent malformed packet (size: %d, cmd: %d)",

		 m_Session ? m_Session->GetAccountId() : 0,

		 _player ? _player->GetGUIDLow() : 0,

		 _player ? _player->GetName() : "<none>",

		 header.size, header.cmd);


	 errno = EINVAL;

	 return -1;

}


header.size -= 4;


ACE_NEW_RETURN (m_RecvWPct, WorldPacket ((uint16) header.cmd, header.size), -1);


if (header.size > 0)

{

	 m_RecvWPct->resize (header.size);

	 m_RecvPct.base ((char*) m_RecvWPct->contents(), m_RecvWPct->size());

}

else

{

	 ACE_ASSERT(m_RecvPct.space() == 0);

}


return 0;

}

Notice this:

Player* _player = m_Session ? m_Session->GetPlayer() : NULL;

For some reason this is returning NULL for your friend so it seems like he's disconnecting before this function even gets called.

Link to comment
Share on other sites

He'll have a hard time downloading the client, the launcher will update him to 5.x which is a Pandaria migration patch. If he downloads it off a torrent then he might get what he wants but then again he might not.

He is currently repairing it, it seems, otherwise i'll direct him towards a torrent, used to be easier to get clients a year or two ago.

Link to comment
Share on other sites

He is currently repairing it, it seems, otherwise i'll direct him towards a torrent, used to be easier to get clients a year or two ago.

He can try this downloader:

http://www.joystiq.c...-install-client

I just ran it and selected "Wrath of the Lich King" from the dropdown and it did connect to blizzard's akamai deployment server to download this into my temp folder: InstallWoW.Start.IX86.WLK-1.MPQ

He will need to run it under an account that has full access to "C:Program FilesCommon FilesBlizzard Entertainment" because it unpacks files there.

Based on the XML file, it looks like it will stop at Litchking:


<?xml version="1.0" encoding="utf-8"?>

<product_defs>

ProductCode WLK

TrialCode 0

PromoCode 0

LocCode enUS

</product_defs>

The WotLK installer installs 3.0.1.8874 at which point he'd need to patch his client back up to 3.3.5a.

Edit:

I think he'll need to actually choose all three from the dropdown and point them to the same installation folder. When I selected WotLK and pointed it at an empty folder it said the download size was 6 GB which would be missing quite a bit.

Link to comment
Share on other sites

Full wotlk client+updates to 3.3.5a

http://www.wow-patch.in/content/wow-client-3.0.1.php

http://www.wow-patch.in/content/wow-patch-3.2.0-full.php

http://www.wow-patch.in/content/wow-patch-3.3.0-full.php

http://www.wow-patch.in/content/wow-patch-3.3.0a.php

http://www.wow-patch.in/content/wow-patch-3.3.2.php

http://www.wow-patch.in/content/wow-patch-3.3.3.php

http://www.wow-patch.in/content/wow-patch-3.3.3a.php

http://www.wow-patch.in/content/wow-patch-3.3.5.php

http://www.wow-patch.in/content/wow-patch-3.3.5a.php

Link to comment
Share on other sites

Burn the updates to DVD. They're nice to have especially as time goes by and they get harder to find. I have all my patch files on DVD so anytime I need to reload the client I shut off the internet and patch manually and when it's all done I rename launcher.exe to launcher.exe.old so it can't run and auto-update my client. I change my WoW shortcuts to run WoW.exe.

Link to comment
Share on other sites

Burn the updates to DVD. They're nice to have especially as time goes by and they get harder to find. I have all my patch files on DVD so anytime I need to reload the client I shut off the internet and patch manually and when it's all done I rename launcher.exe to launcher.exe.old so it can't run and auto-update my client. I change my WoW shortcuts to run WoW.exe.

Agreed. I have all the 4.x patches saved as well. Since Blizz decided to stop providing EXE patches like the 3.x ones, it's harder now to patch through the Cata. series of patches.

Link to comment
Share on other sites

As a bit of an aside, I stop mine from updating without renaming the launcher, and I don't edit the realmlist.wtf, either, I simply put this in my hosts file


xxx.xxx.xxx.xxx       	 us.version.worldofwarcraft.com eu.version.worldofwarcraft.com launcher.worldofwarcraft.com launcher.wow-europe.com status.wow-europe.com logon.worldofwarcraft.com us.logon.worldofwarcraft.com

The xxx part being replaced with the LAN IP of my server. No problems with unwanted updates in the last few years...

Link to comment
Share on other sites

@Paradox - Nice and clean. I always forget about the hosts file

What I did was create a wtf for my LAN, localhost or "public" in the game folder and then I run a batch file to simply copy them into the 'realmlist.wtf'. It's not as simple as the hosts file but it also modifies the Config.wtf to switch between fullscreen (playing) or windowed (debugging)

wow_launcher_LAN


@Echo off

cls

setlocal


SET wow_path=D:\Games\wow_wotlk

SET cfg_path=D:\Games\wow_wotlk\Data\enUS

SET wtf_path=D:\Games\wow_wotlk\WTF


REM ### Create the proper realmlist.wtf


if exist "%cfg_path%"\realmlist_lan.wtf (

TYPE "%cfg_path%"\realmlist_lan.wtf > "%cfg_path%"\realmlist.wtf

) else (

ECHO Cannot start: realmlist_lan.wtf does not exist

)


REM ### Create the proper Config.wtf (for fullscreen/windowed, etc)


if exist "%wtf_path%"\lan_Config.wtf (

TYPE "%wtf_path%"\lan_Config.wtf > "%wtf_path%"\Config.wtf

) else (

ECHO Cannot start: lan_Config.wtf does not exist

goto batch_exit

)


REM Using /D allows us to define a working dir similar to the "Start In" box in a shortcut.

ECHO ^>Starting World of Warcraft - lan (wow.exe)

ECHO.

ECHO ^>Will automatically save settings and exit when game closes

ECHO.

ECHO ^>Note: Forces game to 75hz refresh rate


START /D%wow_path% /WAIT %wow_path%\wow.exe


:batch_exit


REM Save any changes to the config (audio, video, etc.)


TYPE "%wtf_path%"\Config.wtf > "%wtf_path%"\lan_Config.wtf


REM WoW is broken, it deletes the gxRefresh line at logout so we'll put it

REM back after exiting the game...


ECHO SET gxRefresh "75" >> "%wtf_path%"\lan_Config.wtf


endlocal

wow_launcher_Blizzard

@Echo off

cls

setlocal


SET wow_path=D:\Games\wow_wotlk

SET cfg_path=D:\Games\wow_wotlk\Data\enUS

SET wtf_path=D:\Games\wow_wotlk\WTF


REM ### Create the proper realmlist.wtf


if exist "%cfg_path%"\realmlist_orig.wtf (

TYPE "%cfg_path%"\realmlist_orig.wtf > "%cfg_path%"\realmlist.wtf

) else (

ECHO Cannot start: realmlist_orig.wtf does not exist

)


REM ### Create the proper Config.wtf (for fullscreen/windowed, etc)


if exist "%wtf_path%"\public_Config.wtf (

TYPE "%wtf_path%"\public_Config.wtf > "%wtf_path%"\Config.wtf

) else (

ECHO Cannot start: public_Config.wtf does not exist

goto batch_exit

)


REM Using /D allows us to define a working dir similar to the "Start In" box in a shortcut.

ECHO ^>Starting World of Warcraft - public (Launcher.exe)

ECHO.

ECHO ^>Will automatically save settings and exit when game closes

ECHO.

ECHO ^>Note: Forces game to 75hz refresh rate


START /D%wow_path% /WAIT %wow_path%\Launcher.exe


:batch_exit


REM Save any changes to the config (audio, video, etc.)

TYPE "%wtf_path%"\Config.wtf > "%wtf_path%"\public_Config.wtf


REM WoW is broken, it deletes the gxRefresh line at logout so we'll put it

REM back after exiting the game...


ECHO SET gxRefresh "75" >> "%wtf_path%"\public_Config.wtf


endlocal

Link to comment
Share on other sites

I also used to have a page setup on my webserver that would respond when the launcher page was requested that would respond to the launcher with whatever revision I was supporting, which would (if the patching system was properly implemented) have allowed me to push out updates to those computers on my LAN that hadn't been updated yet, and keep the ones that were up to date from trying to update further..

Also, MrSmite, you could combine those scripts, and use a commandline switch in the shortcut(s) to apply the proper one... But, since local and official are not the same client revision, it would be better to just have 2 installed clients, and make your batch file change the hosts file instead :)

Link to comment
Share on other sites

Also, MrSmite, you could combine those scripts, and use a commandline switch in the shortcut(s) to apply the proper one... But, since local and official are not the same client revision, it would be better to just have 2 installed clients, and make your batch file change the hosts file instead :)

Yes, indeed. Those scripts are from when Trinity was actually the same as Live. Shows you how long it's been since I've actually used the "Blizzard" one. The third script I have is for when I debug because my Config.wtf is different than when I play.

Link to comment
Share on other sites

  • 2 weeks later...

Hello guys!

I have setup a 4.3.4 Trinity Core on a server i had laying around, And my buddies and I planned on making a test server so we could contribute some fixes. Well, I'm having some issues setting up making it public. Let me remind you, This is not a Private Server, Its a Test Server for friends to connect to so we can contribute code to Trinity core without having to install it at all of our houses. With it being public, We can work at any of our houses and be able to connect to it. So, With that being said, I followed some guide i found on how to set it up (Won't link it because i don't know the rules on that). And i followed the guide to a T, But it seems there is a tiny issue somewhere, Because when trying to login, Im getting a loop on "Logging into game server". It comes up and just goes away quickly.

Does anyone know where i went wrong for this to be doing this? Did i forget to include a port in a config, Or forgot to change something? Any help would be greatly appreciated. I set it up localhost just fine, But making it public was causing a little more issues.

If i need pastebin copies of my Auth and World configs, I can post them. Also i made a short video about what it is doing.

Hope you guys have a great day and hope i find a solution to this so we can start contributing!

Link to comment
Share on other sites

Well for starters, that's like trying to tell a car mechanic what the car sounds like over the phone.

No specs or logs files are provided.

Put some logs or the config files in spolier tags, and XXXX out the 'public' IP address in the config files. Maybe an issue with a firewall on that box.

Link to comment
Share on other sites

  • 3 weeks later...

hello

I recently finished setting up a 3.3.5 trinity sever on win7 thanks to the http://www.trinitycore.info/How-to:Win everything went pretty smooth i was able to log in to the server and play locally then i decided to make it public

so i can share it with my friends and ofc that went wrong and now this is my 3rd day on researching how to fix this issue. I read plenty of post but not one seems to give a clear answer. i got desperate so i

decided to do a windows recovery to see if i could start from fresh and well that did not help after i re-installed everything still stuck in realm loop.

here is my authserver file:

post-15658-0-70708100-1349750487_thumb.p

and here is my worldserver file:

post-15658-0-14252500-1349750526_thumb.p

here is my authserver.exe:

post-15658-0-65732100-1349750157_thumb.p

and here is my worldserver.exe:

post-15658-0-73765000-1349750218_thumb.p

Please help.

Link to comment
Share on other sites

Read this first. http://www.trinitycore.org/f/topic/345-howto-properly-install-git-on-windows-fix-trinitycore-rev-0000-00-00/

Does a server list even populate on your screen? If it doesn't, then you don't have the TDB setup correctly.

Tips for people using 'root'. Create a user in your TDB that doesn't have full access to 'mysql'.'user'. I've just seen too many terrible things happen.

Link to comment
Share on other sites

here is my TDB uath:

post-15658-0-96983900-1349806502_thumb.p

as you can see its set to localhost.

i also follow CDawg direction and create a new path through CMD prompt

and enter setx path "%PATH%;C:\Program Files (x86)\Git\cmd

here is my worldserver with rev numbers not 000:

post-15658-0-90076100-1349806899_thumb.p

though i am not sure were to find the server list to see if its populated if you are talking about my

auth, characters and world DB's then yes they are populated.

i also deleted cmake cache to rebuild the release folder and still i get realm loop.

Link to comment
Share on other sites

for some reason even after i uninstalled HeidiSQL and re-installed it I still had to use the original (user/pass) login, this lead to the

question if uninstalling everything and starting fresh is possible or not? this is why i tried to do a system recovery which did not

delete all the setting as i said the login info for the TDB was still needed to login.

Link to comment
Share on other sites

i redid the world database but still stuck on realm list loop not sure if there is an order of configuration (DB, cmake, Vc++, auth.exe, worldserver.exe..) but i do try to follow the guide, i will eventually try to do everything from scratch or build a

virtual pc and see what the results are.

Link to comment
Share on other sites

Your DB has the loopback (127.0.0.1), It's fine for local, but won't get your friends connected... first, you need to check your firewall.. If you are using Windows it should have prompted you to allow traffic on 8080, and 3724 as usual. Removing, Reinstalling or configuring CMake and VisualStudio(C++) has nothing to do with connecting, those our the tools to compile the source.

There is something blocking you on your router and/or LAN or something wrong with the DB.

If you plan on having friends connect, then you need to setup your forwarding address, But I think you should iron out getting connected locally, before getting your friends to connect.

Link to comment
Share on other sites

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...