EDIT: Ummmmm....I'm not entirely sure if this should be under the video game section or not. If the mods see it fit to move, then please do so. Sorry for any inconveniences.
Aight, so many people have been playing Terraria and wanting servers to play on. I'm here to inform you on how to make your own server by forwarding ports.
So, the first thing you need to know is your router's address to the control panel. I'm not sure of everyone's specific router address, but it's normally 192.168.1.1 for Linksys and the like. You need to enter this into your address bar and a screen should come up asking for a username and password. You can Google your router and find out the default username and pass, but the username is usually admin and a blank password, or the password may also be admin.
After you've logged onto your control panel for your router, you need to go to the Gaming and Applications (or something along the lines of that) tab. Once you open this up, there should be several sub-tabs underneath the first tab. You're looking for port forwarding. (don't click port triggering, or you'll fail...)
Once you get on the port forwarding page, you should have blank boxes and columns telling you which boxes are which. Under application name, simply enter Terraria. The ports you need to forward (under Start and End) is 31337; type this into both of the boxes. For protocol, you should leave that on both.
The last box is for your IP address, and I realize many of you know how to check it, but either way:
Click Start, go to run, type in cmd, when the black box comes up, type ipconfig. This will show you the current IP address for the device you are on at that moment. Go back to your router control panel and enter in the digits and check off enable and scroll down to the bottom of the screen and save your settings.(You may need to unhook your router and plug it back in after several minutes for the settings to take place, I don't know why, but that's what made mine work.)
Now all you hafta do is open up a fresh game of Terraria, and make a new world (preferably large). After the world is made, go to multiplayer and choose the desired world for online play. Now you will be prompted to make a password (you have to, since your current IP is usually generic) and you can make it whatever you would like. Normally it would say "waiting for clients" but the game should quickly realize your forwarded ports and open up your IP to incoming connections. You should spawn into your world with your chosen character alone.
Tell your friends the password and IP address to connect to and all they have to do is enter the information to join!!! Have fun!
This worked for me, and I did not have to use Hamachi or any other service to set up a server.