How do I, if possible, connect a group of people together through the internet with a program? I want to be able to do this without having to pay tons of money for a Server, so I was hoping someone here would know if there was another way.
The project is for a game, Client Based, but it's supposed to be Online Mode. I was thinking that somehow all the players would connect through my computer or something, but I don't know how these things work. If someone can please push me in the right direction.
You need a server. Whether that is your computer or some machine in a hosting center is irrelevant.
SFML offers the required networking functionality, so you should be all set.
That means you would be able to have your computer act as a server, any other computer that wishes to connect to yours would need to know your IP address, and I'm guessing you have a dynamic IP address. I don't know if you ever played really old games, when you start a new online game, you would need the game to tell you your IP address, then you would give that IP address to the other players, then they would have to put that in on their clients, then the client would connect to that IP address(your computer).
You can easily circumvent that by using a dynamic DNS service.
If electricity is cheap in your country and your internet connection has halfway decent upload speed, use your one of your own machines (preferably a notebook due to lower power consumption).
If not, you could look around for a cheap VServer. OVH also offers a solution they call "Real Private Server". Unlike a VServer, you get a machine with dedicated CPU and RAM, at the cost of not having a hard disk. Disk access is done over the network via iSCSI, so disk I/O performance is beyond terrible - however, that's generally not much of a problem for a game server.
@ OP: If you haven't picked up on it by now, server is a term used to describe the primary function of a computer, it is not necessary to have a specilized OS and hardware to use a computer system as a server.
Okay, so what I could do is buy a new computer and every player who would log in has to give up their IP address, then the players IPs would be connected to the new computer which allows the players to join eachother online?
>_> Close, to far?
...if you ever played really old games,...
This hurts me, those games aren't that old.
Yes, I play games that were made just a few years ago that do something like this :P
and every player who would log in has to give up their IP address, then the players IPs would be connected to the new computer which allows the players to join eachother online?
...what, no. Connecting to a server doesn't involve selling your soul or anything. Your browser is doing the same thing at least a dozen times every time you load a web site, and I'm sure it never asked you to "give up your IP" to anyone (whatever that means).
When a user starts your game, it connects to your server and then keeps communicating whatever is necessary.
That's all.
I also think that you cannot do that with your own computer. I think there is no getting around it. For this specific purpose is there something special to consider or can he choose any web hosting ( http://www.ixwebhosting.com/ ) company? I personally would make sure that you choose a company which offers good customer support.