in common ztrain fassion, i have skipped 90% of the thread and am just typing up my answer.
so, not counting minecraft, you can often run a game server on an old desktop... however minecraft (being all shitty and java like) requires TONS of ram, which is why its often expensive. for minecraft, you need about 1 gig of ram per 16 players (if you have buckit). which is a lot for game hosting standards. you also need a 1/2 decent cpu and good upload speeds.
now assuming you have a good enough computer, good enough internet, and you dont care that you are technically going against your isp's ToS (dont worry, they will like, never catch on. and the worst they will do is send you a letter saying to stop)... the process is simple.
you start your server binary... and tell it to listen on some port. now go to your router, and forward the port that you just chose to your computers LOCAL ip address (to find that, open up cmd on your server computer and type in ipconfig). now that your port is forwarded, make sure your server is running and go to canyouseeme.org and check that you opened the port correctly.
assuming the port has been opened correctly, you can then go to google and type in "my ip" google will be all cool and say what it is. give that to your friends and they can then join.
now, if you get super serious about this, you can put linux on your server, which will free up more system resources. and you can buy a domain name (costs about 10 bucks a year) so, lets say you buy "myShittyServers.com" you can then make an a-name record that points to your ip address. lets say the a-name is minecraft. you can then cnnect using "minecraft.myShittyServers.com". cool eh?
now, one problem you will run into... is that if you disconnect your modem, you will sometimes get a new ip address.... there is a free work arround, and its similar to the above domain name thing. you can get a no-ip domain name, and they have a tool that will check your ip and auto update your domain name.... so, say you get myShittyServers.no-ip.info and your ip address is 123.222.132.111 and then it changes to 123.222.132.211 or something stupid. the no ip update tool will fix what your no-ip domain is pointing to, so that way your bros can still connect.
anyway, if you want my advice, host a small minecraft server (like 8 people) or just host something way cooler like garrysmod. (i had a 12 slot gmod server running on 1mb/s up, 10mb/s down, 756mb ram, and a pentium 4 @ 2.2ghz, no hyper threading)
anyway, if you have any questions, just reply to this... ill check it later.