I've been working on a tool called Grappl that makes it easier to host Minecraft servers. All you have to do is start Grappl and enter the port the server is running on locally on your computer. Unlike similar programs like Hamachi, players don't have to download anything extra.
It works with all versions of Minecraft, most other games, and even HTTP servers. It works by routing data through Grappl relay servers, as a proxy of sorts. It's compatible with Windows, OSX, and Linux.
1. Download Grappl and get the Minecraft server .jar or .exe from minecraft.net
2. Run the Minecraft server application
3. Start Grappl and choose to either log in or be anonymous
4. Enter the port '25565'
5. You server is live for people to connect! Grappl will display a public address, which is the address you can give to people so they can join.
How to host an 'open to LAN' server with Grappl:
This video demonstrates it well, starting at about 1:10. The only difference is now you can choose to log in or be anonymous.
Grappl is completely free to use, and is 100% donation supported. If you donate $5 you can get a static port, which means your public address will stay the same every time you start Grappl. http://grappl.io/donate
I appreciate any feedback! Grappl is still in development, but is pretty stable at the moment.
This is really cool - but I think I found a better way to do this (it doesn't require any "proxy" servers running). You can make the program forward the port via UPNP. I don't have access to my router and I use this program called "UPNP Wizard" to create port forwardings in my router - and it works perfectly.
The Universal Plug and Play protocol (UPnP) provides a feature to automatically install instances of port forwarding in residential Internet gateways
Wow, it works! I haven't actually tried having someone else connect to me, but I did try to connect to the IP given to me by grappl. Works with Minecraft wonderfully, next I'm going to try a different game (not that I expect altering results).