First of all I would recommend you learning some programming. The most used language around here is C#, so it would be your best shot. It might take some time to learn it and get a good grab around it, but it's necessary.
Once you have done that you can either download a public source or make your own. It would be easier, if you are using a public source, then learn about packet logging etc. upgrade the packets and once you have been very good with such things, then you can start to make your own source, but don't make too big goals, learn the basics at first.
To host without hamachi from your own PC, then you would need a static IP and open your ports in the router, then you use your network IP, if you don't know what it is, then you can find it here:
If you wish to host without your PC, then you can get a server (Dedicated, VPS etc.) Go to google and search for a server for your needs, I would suggest minimum 2GB ram.
Remember it's not free and you will need to spent some money on that, unless you can get somebody to host for you.