worldserver.exe launches slow

Hi all. I was patching a custom script and building my solution wasn’t fixing the issue. I copied the authserver and worldserver .exe’s from my Debug folder into my Release folder and my script now works! But for some reason the .exe’s are about twice as large as the old ones, and the world server takes much longer to initialize than the old one, 45 sec. compared to just 6. Any ideas on what’s causing this? Sorry if it’s something obvious, I’ve only been spending most of my time now doing .dbc editing and less in the core, so I may have forgotten something simple.

Debug builds contain debug code and run a lot slower. Release is optimized more for actual production.

Compile your core with release instead of debug to make it run fast.

The whole idea it’s larger and slower (in debug) is for that very reason. Where if it crashes, hopefully there is a catch to the exact symbol where it crashed and it logs just about everything in memory when you execute the binary (why worldserver.exe is so slow).

As for the DBC editing, well, you are on your own with that one. That would cause client issues if something goes wrong.


This will help you understand the differences.

When using visual studio please DONT use Release build ever, use RelWithDebInfo, the difference is tiny but it is actually possible to debug crashes

Should change release to RelWithDebInfo in the guide?

yes (isnt that guide from ancient times - from before cmake on windows?)

Changed windows guides. Another reference is made here though:
Btw. this reminded me about this from 2013

:smiley: This has been this way for quite some time. Then when people compile, follow the wiki and dont produce any debug logs, we yell back at them that they didnt compile correctly and cant help them.

I honestly thought it was intentional to compile in release, so that in the OPs case here he is just complaining about how slow it is.

Better to be slow compile, then to have issues you cant identify.

Thanks for the replies guys. I just changed my Active Solution Configuration to RelWithDebInfo as the guide stated. However, my script still isn’t working properly using the .exe’s from the RelWithDebInfo folder. Well, it’s hard to explain but it’s kind of working. The function I made makes an SQL query to a table that contains what spec has what spells, and when I use the .exe’s from Release or RelWithDebInfo, it’s like it’s not seeing the changes I made to the database. It still changes my spells properly for the warrior class which I did first. Sorry if this isn’t making sense, I’m at a loss.

Edit: Hey everyone, I seem to have solved my issue. I had an incorrectly named patch file and once I fixed that things started working again. Thanks for the help guys.