With the new version of Terraria you can now run a dedicated server and use a server configuration file to automatically load the world you want, password, number of players, etc. Here's how to do it since the included instructions aren't that helpful.
1. Navigate to your Terraria folder which if you are on Windows 7 is probably here --> C:\Program Files (x86)\Steam\steamapps\common\terraria\
2. Edit the serverconfig.txt file with the options you'd like it to load. The file has some sample entries to help you set the options you'd like to have start when the server fires up. Save the file with the same name.
3. Create a shortcut on your desktop or taskbar and append this information to the end so that it looks like this --> "C:\Program Files (x86)\Steam\steamapps\common\terraria\TerrariaServer.exe" -config serverconfig.txt
4. Run the short-cut and voila! In a few seconds you'll have a MP server up and running!
5. Don't close the window (looks like a DOS window) as it will kill your server. You can minimize it though.
Ah, what about the port you say? That's fairly easy to fix as well. Navigate to your firewall/router admin page and Port Forward the port you set in the config file (by default it's port 7777). To test to see if your port is open you can use this site - http://canyouseeme.org/ - and it will verify if you've opened up the right port or not.
To make things easier setup a Dynamic DNS entry (I use DynDNS.org) that will map to your IP address. This will keep server management easier as you won't have to remember the IP address all the time (especially if it changes a lot).
Good luck and have fun! Terraria is a blast on multi-player.