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

Reply via email to