opening the following ports:
80 (Default port for Apache servers. If you aren't running a site of sorts, this is not required.)
3306 (Default port for MySQL servers. If you don't need your MySQL to be accessible remotely, this is not required.)
3443 (Default port for Remote Access, if you aren't using RA, this is not required.)
7878 (Default port for Simple Object Access Protocol, if you aren't using SOAP, this is not required.)
3724 (Mandatory realmlist port.)
8085 (Mandatory World server port.)
Once done please check if your ports are open using this site. Don't use other tools, as they'll probably be incorrect.
Getting a DNS:
A DNS will serve as your realmlist, for example Blackrock-Gaming uses 'realm.blackrock-gaming.com' of course, you'd need a domain name for that; but there are free sites to do that, such as DYNDNS. Your 'IP' address is the IP address that you can find here. Make sure the setting is 'Host with IP address' and nothing else.
Changing the HOSTS file:
This step is important, since you are the HOST of the server, the computer should be expecting incoming connections from an IP. By default, the computer only expects incoming connections from '127.0.0.1', that is your local host. Navigate to 'C:/Windows/System32/Drivers/etc/' and open the 'hosts' file with notepad and make sure you edit it:
Code: [View]
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# myexternalipaddress mydyndns
Once done, just close and safe.
Changing the realmlist:
This last step is forgotten by many and is 'the most important' step to actually get your Trinity Core to be public. Open your database via HeidiSQL, go into the 'auth' database and open the 'realmlist' table. There, change the address from '127.0.0.1' to 'myexternalipaddress'
Close the table. Success! You're done!.