2009/4/7 bugs buggy <buginato...@gmail.com>: > We also may want to change GAMESTRUCT, so the master server can take > care of games that have a password, and other stuff we want to check > for?
YES. The master server should also save the version number, and any mods loaded. I'm sick and tired of people joining my Rebalance games and then refusing to leave (they seem to auto-reconnect when kicked). 2009/4/7 Per Inge Mathisen <per.mathi...@gmail.com>: > Instead, I suggest that for trunk we use port 2100 for game, port 9990 > (or something else) for master; for 2.2 we use port 2100 for master, > and port 9990 (or something else) for game. That means, we switch them > when changing 2.2->trunk. This way people will not have to open new > ports in their firewall for the 2.2->trunk upgrade. In the trunk > version, we add version checking and probably a ton of other network > changes. No... For one thing, only the game port needs to be opened, the master server port does _not_ need to be opened on user machines. It's a _lot_ simpler just to add version checking to 2.2. > Another reason why adding a version check to 2.2 may not be > sufficient, is that we may end up making totally network incompatible > changes that it cannot pick up anyway when we first start picking > apart the netplay code. I do not want to freeze any part of the > network code before this work is even seriously started. ...even the version check part? Obviously, the version check part ensures that anything that happens after the version check can be as incompatible as you want - simply bump the version number. imho, most of the problems with hosting multiplayer games is that people with incompatible versions always join, and it's impossible to shoo them away. That's why I find version check so important. By the way, Buggy, I sincerely hope your version checking code affects mods. Even if we make totally network incompatible changes, there's an easy fix without even changing the corresponding ports: In 2.2: - Interpret an unrecognized packet as a kick. In the lobby server: - Have the lobby server retain backwards compatibility. In 2.3: - Use either a recognized version check packet, or a known unrecognized packet. -Zarel _______________________________________________ Warzone-dev mailing list Warzone-dev@gna.org https://mail.gna.org/listinfo/warzone-dev