Your server having --- ping can be caused by a couple things. First, make sure that your IP is static and not dynamic external IP. To check this, find out your current IP and write it down somewhere. Then restart your router. Check your IP address again. If it has changed, then you have a dynamic external IP. If your IP is dynamic, you want to change it to static. This link will help you with that :
http://www.howtogeek.com/howto/19249/how-to-assign-a-static-ip-address-in-xp-vista-or-windows-7/If your IP is static and you are sure you have correctly port-forwarded, check to see whether you have UPnP enabled on your router. The way you check usually varies depending on the router that you currently have. It can also be useful to disable the check box in the in-game options menu, if you haven't already.
If all else fails, I have heard from multiple people that, for whatever reason, joining someone else server and then leaving to host their own, have fixed the problem for them. I have no idea how this would work out, but perhaps as a last resort this may help you.
It could also just be Blockland being a fart