You need hamachi, (https://secure.logmein.com/welcome/access/hamachi/1/?wt.srch=1&utpk=hamachi&destination=/welcome/access/hamachi/1/&originid=56890&ef_id=HcdOOIty@wYAAM7J:20110802234242:s) then after you get that hit host and play, choose character, make a map or use one of your own, let people join your hamachi and tell them to join you.
On the Main Menu of Terraria, Click "Host Server", and then tell your IP to your friends or random people.
Just Google Terraria servers and copy the ip address into the multiplayer slot on terraria.
Unknown
A public server is that you have to buy it but a dedicated server to make public means you have to forward the ports of your router.
Is the server up? or is the owner asleep or somewere.
There are no main server on terraria so I would suggest google searching "terraria servers" and see what comes up. I have done this and been on multiplayer.
To make your Minecraft server open for the public, make sure that your white-list is off. Then you will want to go to minecraftservers.org , and register for an account to submit your server IP.
Sorry but is not possible to get free Hearts Shards in Terraria. Unless someone on a server with you is nice enough to drop a Heart Shard for your liking.
Anyone can give anything on a server and you would get to keep it, just begging people for it is hard, but the obsidian skull is not hard to make. Only 30 obsidian.
There is no such item as Pewpew in Terraria.
Your own server, no unless you make other people pay to get on. Public Servers, depends on the person running the server.
You have to forward the port 27015. Then people can access your server through <your ip>:27015.
At least phaseblades and the jungle armor breastplate, but for more info go to terraria wikia