If I wanted to turn one of my old computers into a game server for my friends and I to play games together over (just my friends and I, this wouldn't be some sort of server for everyone everywhere playing online games to use). Does the server need to know how the game works or does a game server just tell clients where they can find other clients?
Could I do this with some basic UNIX socket programming or is this a much larger project than I expect?
The answer certainly depends on the game itself, but there are 3 popular choices:
The 3rd approach is the most popular one, since it grants the game creators some control over their product - automatic updates, harder to obtain illegal copies that work on the network, etc.