Jump to content
  • Advertisement
Sign in to follow this  
JL4453

Battlenet-like online matchmaking/lobby

This topic is 3835 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

For those who haven't played such online RTS games as Blizzard Entertainment's Starcraft and Warcraft III, Battle.net is Blizzard's online user-friendly matchmaking and chat lobby service in which anyone connected to the internet can seamlessly search for hosted games, host their own games, or just chat with other users from around the country/globe in public or private chat channels. Playing & sharing user-created scenarios and mini-games in Starcraft online has been one of the most enjoyable gaming experiences I can recall, keeping my interest in the game alive for years after I would have dropped it, and sparked my interest in coding & computer science at an early age. I've recently learned that it is possible to rent dedicated servers from companies such as ServerBeach, with prices on the order of $100 a month related to the maximum monthly transfer in the vicinity of thousands of gigabytes a month. I've become interested in the possibility of using this service to create a sort of Battle.net clone for use with a hypothetical independently developed RTS game, but am stuck on some of the high level details. Specifically, I'm wondering about how the client-host relationship works in such a system: Does the server merely forward everyone's IP addresses to one another so the clients could form a ring & manage game updates between one another directly (perhaps with one of them chosen as a "game host")? Or would the server typically be expected to run all the game processing, the clients relying on constant communication with the server for synchronization? The second option would seem to be impossible with the specifications of (cheaply) available machines. I wonder if anyone with more knowledge of the area could comment on the feasibility of the former option (the server merely connecting strangers to one another & handling chat, nothing more)? Would it be dangerous to pass out players' IP addresses to one another? Also, I wonder how much data transfer per month a typical chat server would expect to be able to handle. Or could chat be handled in this distributed fashion as well: when a user types a message, he merely gets the list of IP addresses of individuals in the same chatroom and then personally sends off the text to those addresses. If I could furthermore be directed to articles or other resources related to these concerns I would greatly appreciate it. Thanks.

Share this post


Link to post
Share on other sites
Advertisement
Quote:
Does the server merely forward everyone's IP addresses to one another so the clients could form a ring & manage game updates between one another directly (perhaps with one of them chosen as a "game host")?


That's right. In most cases the server just acts as a specialized chat room and IP broker. I say in most cases because some servers also help clients connect to each other.

You see, sometimes clients are behind firewalls or proxies that won't allow a direct connection. When this happens, some servers act as relays. They don't process the packages, but they route them to allow that client to play with the others. But that's an advanced feature, not something you will need for version 1.0.

About sending IPs, it's only a problem if your game has a security flaw that can be exploited remotely. If you find one, make sure the players receive a patch as soon as they connect, and only let them play once they install it.

Bandwidth and download limits won't be a problem for a simple lobby. In fact, depending on the number of concurrent users, a Virtual Private Server may be enough for your needs.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!