What is a lobby server?

Started by
12 comments, last by wodinoneeye 9 years, 5 months ago

Which part is confusing you? I'm not sure any of us will be able to do better than the Internet at explaining the overall picture unless we have some specific context to aim at.

I searched a lot and finally came to this conclusion.

Suppose there are 3 computers in your home. One of your brother, one of your sister and one of your father. All of them use the same router to access the internet. Now, what NAT (Network Address Translation) does is that you and your family have the same public ip address if you all browse at the same time (but not the same private ip). If any of you use the internet from any computer, then the same (public) IP address is used to request a connection from the server. From the perspective of the server, only one computer is requesting the information. So, NAT provides some security layer. What NAT does is translate between private and public ip address.

What I mentioned above correct? How is NAT related to peer-peer/server hosting/gaming? What is port forwarding and how it can help to host servers or to play a match in peer-to-peer ?
Advertisement
The problem comes if you (or your father, or your microwave oven) want to host a game.
For some other player to join the game you are hosting, they need your public IP address.
Unfortunately, that address is the one of your router -- not of your computer.
Your router doesn't know what it means when someone tries to connect to "your game."
There are two solutions:

1) Use port forwarding, and make the way to configure hosted games aware of the user doing port forwarding. This requires network knowledge and administration for each user who wants to host a game, making hosting "hard."
2) Use NAT punch-through, using an external third party server to "see" what your external IP address is, and "see" which port the router happened to pick for your connection, and let the other player know about what it sees.

Option 2) is generally automatic with most good-quality routers/firewalls, unless they are locked down in "super paranoid" mode, in which case you can forget about hosting anything.
enum Bool { True, False, FileNotFound };

The problem comes if you (or your father, or your microwave oven) want to host a game.
For some other player to join the game you are hosting, they need your public IP address.
Unfortunately, that address is the one of your router -- not of your computer.
Your router doesn't know what it means when someone tries to connect to "your game."
There are two solutions:

1) Use port forwarding, and make the way to configure hosted games aware of the user doing port forwarding. This requires network knowledge and administration for each user who wants to host a game, making hosting "hard."
2) Use NAT punch-through, using an external third party server to "see" what your external IP address is, and "see" which port the router happened to pick for your connection, and let the other player know about what it sees.

Option 2) is generally automatic with most good-quality routers/firewalls, unless they are locked down in "super paranoid" mode, in which case you can forget about hosting anything.

Thanks for such a great explanation.

Lobby servers also do additional functions while doing their primary function of matching up players for games :

Game launch control (waiting players listed, info display, countdowns

Filter game type/flavor/difficulty - grouping players (some 'best fit' logic)

Private game request forwardings and coordination/management

Latency/consistancy test a players connection to group players (if there are enough of them) within similar 'response time' levels.

Are most games divided between consoles/PCs? (different lobby servers segregating them with possibly different interfaces)

coordinating Chat functionality outside of games

Awards/achievement/scores might be facilitated (data retrieval, update transactions) - if not done on a seperate server

--------------------------------------------[size="1"]Ratings are Opinion, not Fact

This topic is closed to new replies.

Advertisement