I've spent the past few days compiling my first TC server. I worked my way through the install guides and found every answer that I needed to get it going right here on the sight. I'd like to give ya'll a few tidbits from my experience that might help ease the frustrations of anyone who follows after me.
First, believe everything you have heard. Once you get this up and running, it really will be worth it! I'm doing the 3.3.5a version right now and I'm able to play WoW with my sons on our own private server! It really does feel very much like the real thing just with my own little changes to make it more fun for us. So my advice, be patient, use the forums, and keep trucking. Your effort will totally be worth it!
Second, take a few minutes to really understand the importance of the extracted files that you get from the client. I made a mistake and got a 3.3.5 client without realizing it. I was able to get the server up and running but spells weren't working, classes were weird and there was some really buggy things. It took me half a day to realize what I did wrong (if you're not able to attack or shoot with your starter weapon or bow, then this is probably why). My advice, find one of the sites where you can download the actual Blizz installers and patch up your client with official patches. Don't take the chance on an unpacked client that someone may have tinkered with. Secondly, pay attention to the last numbers of the version number. The one you're after is 18.104.22.16840.
Third, trust the documentation and the install guide. I ran into a few snags during compiling and all of them were my own fault. I thought I understood what it meant instead of doing exactly what it said, and all I accomplished was frustrating myself. Pay close attention to the version of Boost and OpenSSL that you choose in relation to the version of your compiler! I used VS 2015 to compile and I loved it but I did have to use certain files from Boost and OpenSSL to get it to work, I found the answer right in the install guide (right in front of my face the whole time lol) My advice, follow the install guide word for word. Read it through at least once before assuming you know what to do and don't try to compile x64 with x86 support files (not that I did that or anything, I mean come on now, I am a seasoned pro! lol)
Lastly, networking. The install guide could do a better job of explaining this in my opinion. I am not totally confident in my understanding of this so please, correct me where I am wrong. There are two main pieces that you should be concerned with. First is the Auth database. The realm ID that you set on the Auth Database needs to be the same as in the world server config file. I used my local address (192.168.x.x) instead of localhost (127.0.0.1) in both the world server config and in the auth database. Once I made that change, my sons were able to connect to the game and play. I am not hosting this on the web but I assume normal NAT config on your router would let others connect just like any other game server that you've ever run.
In all, I was very impressed with the work that the TC community has put into this project and my family is having a ball playing in it. I'd like to thank everyone for their contributions and for being so generous to share it with us. I hope to find some way of making a contribution of my own.
Now I'm off to teach my 10 year old son the finer points of maintaining aggro so he doesn't get the rest of the family killed! Thank god my wife decided to play with us, I mean heck, we needed a healer right?