Been diving into the wonderful world of lacewing for my game for the past two weeks or so. A mighty fine extension capable of a ton of things.
I've got a good idea of how to do IP-to-IP connection between players in which they both set up a static ip and portforward, etc. Me and my buddy played my prototype this way! Very cool, but, honestly, going through the process of port-forwarding, etc. or using something cool like Hamachi is for more "advanced users" I think.
I'm interested in making conventional online play - play in which users hit "Online" and they are presented with, ideally, a lobby of selectable games, and then they choose what they want to do. I want to make an online chess-like board game.
I wanted to pick everyone's brain for both my thinking on how to do this, and also for some PERFORMANCE concers.
Here's what I intend to do:
1. Make a server that process client's request for my game in MMF. This .exe would be run on a DEDICATED server box here at my home - a desktop with decent hardware spec. This MMF server would be hosting/dealing with MULTIPLE game sessions at a time. My game is 1v1.... but obviously, my server needs to be able to deal with several 1v1 sessions simultaneously. This server program ALSO has a lacewing client object.... this is used to communicate to server #2.
2. A "master" server that is receiving the status of all GAME servers. The reason I want this server is so that I can have a game lobby actually updated with player occupancy and "open rooms". When the players hit "Online", they actually connect to THIS server program, which simply presents them with the list of "open rooms" (realistically, just channels to connect to server #1).
3. A client that the players use to connect to and navigate these servers as well as do all game actions.
My QUESTIONS are, in order of importance:
1. Server #1 must host multiple game sessions at once. I am hazy on HOW to establish which set of clients are communicating on which channels to make this a possibility. Every game session can't all slam "channel 0" on port 6121, yeah? If 10 sets of 2 are playing, how will the server know which clients to update if they all use the same channel? ORRRRRR is there something about channels I don't understand?
2. Given that the servers are port-forwarding and static IP, NOTHING as far as set-up will be required of my players, correct? These servers are meant to be up all the time - I know it's not exactly possible but they will be up MOST of the time. I REALLY want to avoid my players having to do anything but press "play".
3. Is a desktop PC like mine, running windows, running an MMF server going to actually be able to withstand a decent amount of active channels and users?