We're making a competitive 1v1 game and we want to implement a match-making lobby. We have a few problems and a few ideas. We figured we would ask first to save time.
1) How should the matchmaking algorithm work with tnet? Should we write our own LobbyServer? Or is there a way to distribute these calculations among the users? Or should we write a "special" client who manages all of this, while using the built-in TN servers? Or something else we haven't thought of?
2) Should GameServers be on the client devices or on our server? We're having trouble with this at the moment. If we run a GameServer on our EC2 instance, we can fiddle with permissions and port forwarding until it works. However, we can only have one game going at a time. But if we just use the EC2 instance as a lobby and try to run the GameServers on our own computers, we aren't able to get a connection going ("unable to connect" messages.) It seems like if we want it to work for users, we shouldn't need to fiddle with it - it should just work. Does this sound like we're doing something wrong?