I have been thinking a ways down the road trying to foresee any issues I may encounter. I am not sure if, or how much Age of Empires II HD you have played but I had planned to set up my navigation through menus and such as that game does. IE Main Menu-> Single Player, Multiplayer. Additionally I had planned to release the game through Steam, taking advantage of the friends list, achievements, etc. I planned to use an Amazon server for actual server storage and just using Steam for its gateway to players. This mostly being because Steam's matchmaking abilities and such are completely independent of TNet and I wanted to avoid that. Is this wise? Even possible to right-click a friend and Join-Game without Steam's servers?
To get to the root of my post. I notice when I start Age of Empires, Steam updates to show I am playing the game. I understand the game has to notify Steam of this, correct? If so, how can you notify Steam unless you actually connect to the external lobby server? From my interpretation of how Age of Empires does it, is that the lobby server isn't connected to/shown until the player would click Multiplayer, and if they clicked Single Player, they would use a virtual server - to use TNet lingo. Is my interpretation of how they are likely doing it wrong? Are they really connecting to a lobby server at game start and just not showing it until multiplayer is clicked? But if so, how would you handle single player? If the user is already connected to a lobby server, you can't start a virtual server, right? Furthermore, how would one handle the case of no connection to a connection exists during a game, would they have to cycle lobby servers from virtual to tcp when they go back to the main menu?
I perfectly understood the examples in other posts referring to a WoW like flow (Login/Regions(game server)/Ironforge(channel), but without a log in, and using Steam Credentials as player ID/stats, wouldn't they always need to be in a lobby server? At start up, would you check if a lobby server existed externally and connect to it, and if not, default to a virtual server?
I am sure this doesn't sound 100% clear so let me know if I can clarify any more.
It's a small differentiation from your example so I am just a little unsure and wanted to make sure I had the right frame of mind before continuing. WoW is just a bit different in that you are guaranteed an internet connection, or the game would just be a login screen, so just not sure about the offline component.
Thank you for your time and I appreciate any responses =)