Re: [Warzone-dev] Release 2.2 (with port change) or go with 2.1.3 + port change or ?
Am Samstag, 14. März 2009 02:11:56 schrieb bugs buggy: > I finally found the cause for people getting disconnected for no > apparent reason (especially in longer games). I would go with releasing the fix in 2.2 and not in 2.1 then. And we finally need some version checking code to prevent such incompatibilities in the future. (But we still should not introduce incompatibilities in minor versions.) --DevU signature.asc Description: This is a digitally signed message part. ___ Warzone-dev mailing list Warzone-dev@gna.org https://mail.gna.org/listinfo/warzone-dev
Re: [Warzone-dev] Release 2.2 (with port change) or go with 2.1.3 + port change or ?
2009/3/13 bugs buggy : > I finally found the cause for people getting disconnected for no > apparent reason (especially in longer games). > The fix is simple enough, but the issue is, we can't stop 2.1.2 people > from connecting to 2.1.3 people. And since the main point of the fix > is to allow people to NOT drop connections, I don't see a alternative > besides changing ports to prevent the clients from connecting. I don't see the problem with just fixing 2.1.3 and leaving it at that. Yes, 2.1.2 networking with 2.1.2 will be unstable, but that's kind of impossible to fix. Yes, 2.1.3 networking with 2.1.2 will be unstable, but not more unstable than 2.1.2 currently is. And 2.1.3 networking with 2.1.3 will be stable (or at least moreso), so why not? -Zarel ___ Warzone-dev mailing list Warzone-dev@gna.org https://mail.gna.org/listinfo/warzone-dev
Re: [Warzone-dev] Release 2.2 (with port change) or go with 2.1.3 + port change or ?
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 bugs buggy wrote: > Anyone have any opinions on what should be done? Another option: How about adding version checking stuff to 2.1.3 and then releasing 2.1.3 + some non-netcode fixes? When releasing 2.1.3 add information on our plans for 2.1.4 (see below) to the release announcement, so people are prepared. Not sure how version checking is achieved, but I hope that it is possible to implement version checking without breaking backwards-compatibility to 2.1.2. Perhaps some behaviour of versions prior to 2.1.3 could be used as an indicator. Then in 2.1.4 you could add that networking fix as 2.1.3 users have version checking and one should assume that most people upgraded to 2.1.3 in the meantime. More stable netplay would surely convince most people to use 2.1.4 anyway. - --> 2.1.4 will not work with 2.1.3 or any other version prior to 2.1.4. But that should be okay as the advantages people get in exchange for incompatibility should outweigh the disadvantages. More stable netplay was _the_ main goal for 2.1, so that sacrifice is justified. Eventually people will understand that. Yet another option (just to have mentioned that one as well) is to not use the fix for netplay (aka the unfixed netcode), if 2.1.3 or no version is detected. Dirty: Yes. Convenient for the users: Yes. Convenient for distributors: Yes. Going to a stable 2.2 ASAP could help with overcoming this "mess". P.S.: Everything's IMHO ;) - - Kreuvf -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFJu3im4y86f1GXLDwRAih7AJ9ovG9wI02t69WNMzgR3A4P8kMQnQCfRJBG 3vM7pOV5klowA0hQzzSWP5E= =G7Ik -END PGP SIGNATURE- ___ Warzone-dev mailing list Warzone-dev@gna.org https://mail.gna.org/listinfo/warzone-dev
Re: [Warzone-dev] Release 2.2 (with port change) or go with 2.1.3 + port change or ?
Am Samstag, 14. März 2009 10:28:10 schrieb Kreuvf: > bugs buggy wrote: > > Anyone have any opinions on what should be done? There comes something to my mind: If version checking is implemented in 2.1.3, it should be able to figure out that 2.1.2 (and prior) do not support a versioned network protocol. Thus it should be able to drop connections with people using that... It will be a little bit unexpected for those using 2.1.2, but if we explain this in the release notes, I think it will be less so. --DevU signature.asc Description: This is a digitally signed message part. ___ Warzone-dev mailing list Warzone-dev@gna.org https://mail.gna.org/listinfo/warzone-dev
Re: [Warzone-dev] Release 2.2 (with port change) or go with 2.1.3 + port change or ?
On 3/14/09, Dennis Schridde wrote: > Am Samstag, 14. März 2009 10:28:10 schrieb Kreuvf: > > > bugs buggy wrote: > > > Anyone have any opinions on what should be done? > > There comes something to my mind: > If version checking is implemented in 2.1.3, it should be able to figure out > that 2.1.2 (and prior) do not support a versioned network protocol. Thus it > should be able to drop connections with people using that... > It will be a little bit unexpected for those using 2.1.2, but if we explain > this in the release notes, I think it will be less so. > Nope, it can't do that. 2.1.3 sends the 'version_check' message, but 2.1.2 has no idea what that messge is, and all we do is return false. No error or warning messages at all. :( ___ Warzone-dev mailing list Warzone-dev@gna.org https://mail.gna.org/listinfo/warzone-dev
Re: [Warzone-dev] Release 2.2 (with port change) or go with 2.1.3 + port change or ?
On Saturday, 14 March 2009 at 11:53, bugs buggy wrote: > On 3/14/09, Dennis Schridde wrote: > > Am Samstag, 14. März 2009 10:28:10 schrieb Kreuvf: > > > > > bugs buggy wrote: > > > > Anyone have any opinions on what should be done? > > > > There comes something to my mind: > > If version checking is implemented in 2.1.3, it should be able to figure > > out > > that 2.1.2 (and prior) do not support a versioned network protocol. Thus it > > should be able to drop connections with people using that... > > It will be a little bit unexpected for those using 2.1.2, but if we explain > > this in the release notes, I think it will be less so. > > > Nope, it can't do that. 2.1.3 sends the 'version_check' message, but > 2.1.2 has no idea what that messge is, and all we do is return false. > No error or warning messages at all. :( Could the version check be done in the lobby server? ___ Warzone-dev mailing list Warzone-dev@gna.org https://mail.gna.org/listinfo/warzone-dev
Re: [Warzone-dev] Release 2.2 (with port change) or go with 2.1.3 + port change or ?
On 3/14/09, Christian Ohm wrote: > On Saturday, 14 March 2009 at 11:53, bugs buggy wrote: > > On 3/14/09, Dennis Schridde wrote: > > > Am Samstag, 14. März 2009 10:28:10 schrieb Kreuvf: > > > > > > > bugs buggy wrote: > > > > > Anyone have any opinions on what should be done? > > > > > > There comes something to my mind: > > > If version checking is implemented in 2.1.3, it should be able to > figure out > > > that 2.1.2 (and prior) do not support a versioned network protocol. > Thus it > > > should be able to drop connections with people using that... > > > It will be a little bit unexpected for those using 2.1.2, but if we > explain > > > this in the release notes, I think it will be less so. > > > > > Nope, it can't do that. 2.1.3 sends the 'version_check' message, but > > 2.1.2 has no idea what that messge is, and all we do is return false. > > No error or warning messages at all. :( > > > Could the version check be done in the lobby server? > I thought of that as well, but the GAMESTRUCT is a fixed size, and if we changed it, it will do screwy things to pre 2.1.3 clients. Unless of course, we have a different lobby servers for 2.1.3 & trunk/2.2 ? That could work. But that don't stop the problem of direct connecting via IPs. ___ Warzone-dev mailing list Warzone-dev@gna.org https://mail.gna.org/listinfo/warzone-dev
Re: [Warzone-dev] Release 2.2 (with port change) or go with 2.1.3 + port change or ?
Am Samstag, 14. März 2009 16:53:21 schrieb bugs buggy: > On 3/14/09, Dennis Schridde wrote: > > Am Samstag, 14. März 2009 10:28:10 schrieb Kreuvf: > > > bugs buggy wrote: > > > > Anyone have any opinions on what should be done? > > > > There comes something to my mind: > > If version checking is implemented in 2.1.3, it should be able to figure > > out that 2.1.2 (and prior) do not support a versioned network protocol. > > Thus it should be able to drop connections with people using that... > > It will be a little bit unexpected for those using 2.1.2, but if we > > explain this in the release notes, I think it will be less so. > > Nope, it can't do that. 2.1.3 sends the 'version_check' message, but > 2.1.2 has no idea what that messge is, and all we do is return false. > No error or warning messages at all. :( The 2.1.3 client should figure out that it is talking to someone who does not understand what version_check means, shouldn't it? So the function could return a failed version check if it does not receive any answer at all. We could even signal to the user that client X does not support version_check and was thus removed from the game. Please tell me where the flaw is in that thought. --DevU signature.asc Description: This is a digitally signed message part. ___ Warzone-dev mailing list Warzone-dev@gna.org https://mail.gna.org/listinfo/warzone-dev
Re: [Warzone-dev] Release 2.2 (with port change) or go with 2.1.3 + port change or ?
On 3/14/09, Dennis Schridde wrote: > Am Samstag, 14. März 2009 16:53:21 schrieb bugs buggy: > > > On 3/14/09, Dennis Schridde wrote: > > > Am Samstag, 14. März 2009 10:28:10 schrieb Kreuvf: > > > > bugs buggy wrote: > > > > > Anyone have any opinions on what should be done? > > > > > > There comes something to my mind: > > > If version checking is implemented in 2.1.3, it should be able to figure > > > out that 2.1.2 (and prior) do not support a versioned network protocol. > > > Thus it should be able to drop connections with people using that... > > > It will be a little bit unexpected for those using 2.1.2, but if we > > > explain this in the release notes, I think it will be less so. > > > > Nope, it can't do that. 2.1.3 sends the 'version_check' message, but > > 2.1.2 has no idea what that messge is, and all we do is return false. > > No error or warning messages at all. :( > > The 2.1.3 client should figure out that it is talking to someone who does not > understand what version_check means, shouldn't it? So the function could > return a failed version check if it does not receive any answer at all. We > could even signal to the user that client X does not support version_check > and > was thus removed from the game. > Please tell me where the flaw is in that thought. > > --DevU > There is no flaw in that thought, after X (5 secs? 10?) if we don't get a echo back, we could kick... just means more coding. Something like host broadcasts "trunk", and after X, if we don't hear a reply, we kick? I'll try it and see how it goes. ___ Warzone-dev mailing list Warzone-dev@gna.org https://mail.gna.org/listinfo/warzone-dev
Re: [Warzone-dev] Release 2.2 (with port change) or go with 2.1.3 + port change or ?
On Saturday, 14 March 2009 at 12:14, bugs buggy wrote: > On 3/14/09, Christian Ohm wrote: > > Could the version check be done in the lobby server? > > I thought of that as well, but the GAMESTRUCT is a fixed size, and if > we changed it, it will do screwy things to pre 2.1.3 clients. > Unless of course, we have a different lobby servers for 2.1.3 & > trunk/2.2 ? That could work. Hm, so the game sends a fixed struct to the lobbyserver, and every time the struct changes, both game and server have to be updated? Then I guess my idea wouldn't work, except if one of the fields could be abused to include the version information. A new lobby server instance (+ port) per network protocol change is not good. But Dennis's idea sounds better anyway. > But that don't stop the problem of direct connecting via IPs. Yeah, but people playing with direct IPs would have to communicate anyway, and those using 2.1.3+ would hopefully know about the network fix. ___ Warzone-dev mailing list Warzone-dev@gna.org https://mail.gna.org/listinfo/warzone-dev
Re: [Warzone-dev] Release 2.2 (with port change) or go with 2.1.3 + port change or ?
Dump from IRC: Use a simple number (int), which we increment everytime we change the netcode in an incompatible way. Use a 2nd number in addition, which we increment if some compatible enhancement happens. (And reset when we increment the major version.) (That is in fact similar to what is done for shared objects on Linux.) Since we need to check game data and mods as well, strings seem better for that task. (Simply concat the version strings. Example: "trunk:aiv:ntw") They could be seperated from the netcode version though. Proposed constants: NETCODE_VERSION_MAJOR=0, NETCODE_VERSION_MINOR=0, DATA_VERSION="2.2" (With the latter being the one used to concat mod version strings onto.) --DevU signature.asc Description: This is a digitally signed message part. ___ Warzone-dev mailing list Warzone-dev@gna.org https://mail.gna.org/listinfo/warzone-dev
Re: [Warzone-dev] Release 2.2 (with port change) or go with 2.1.3 + port change or ?
Hi all, > Proposed constants: > NETCODE_VERSION_MAJOR=0, NETCODE_VERSION_MINOR=0, DATA_VERSION="2.2" > (With the latter being the one used to concat mod version strings onto.) I'd rather just use the SVN revision of the game. It is simpler. Furthermore there are a lot of changes we could make to the game that do not involve the netcode that could break stuff. My proposal: SVN revision, int, locally modified, bool (just issue a warning to both sides if any player has it as true), hash, string. For the moment I suggest that we make the hash just an empty string, but it will allow us, in the future to hash mods and compare game data, Of course, for the moment an empty hash makes more sense, time wise. This method is: - foolproof, as it handles accidental local modifications and game changes (stats etc, as different rev numbers); - simple, thanks to autorevision; - extendible to handle mod hashing in the future. Regards, Freddie. signature.asc Description: This is a digitally signed message part ___ Warzone-dev mailing list Warzone-dev@gna.org https://mail.gna.org/listinfo/warzone-dev
Re: [Warzone-dev] Release 2.2 (with port change) or go with 2.1.3 + port change or ?
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Freddie Witherden wrote: > I'd rather just use the SVN revision of the game. It is simpler. What do you do when switching to another VCS? That value must be VCS-independent. And if I understand the git docs correctly (haven't really read much of it :X) you have some hash-like strings as revision and you probably cannot derive from such a string if it belongs to an earlier or a later version of the game. Correct me, if I am wrong. - - Kreuvf -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFJvLX64y86f1GXLDwRAl6UAJ9Va8XJ2OHmdyh4ghuGanVklBL2AwCgjUhb aiabKxf4Bt8e2Eagi1ADDLY= =1aoV -END PGP SIGNATURE- ___ Warzone-dev mailing list Warzone-dev@gna.org https://mail.gna.org/listinfo/warzone-dev
Re: [Warzone-dev] Release 2.2 (with port change) or go with 2.1.3 + port change or ?
Hi, On Sun, 2009-03-15 at 09:02 +0100, Kreuvf wrote: > -BEGIN PGP SIGNED MESSAGE- > Hash: SHA1 > > Freddie Witherden wrote: > > I'd rather just use the SVN revision of the game. It is simpler. > What do you do when switching to another VCS? That value must be > VCS-independent. And if I understand the git docs correctly (haven't really > read > much of it :X) you have some hash-like strings as revision and you probably > cannot derive from such a string if it belongs to an earlier or a later > version > of the game. Correct me, if I am wrong. One more reason to stick with SVN. However, I am sure that we could extract the time at which the revision was committed and then convert that to an integer. This would be reasonably fail-safe (what are the chances of two people committing into repos at exactly the same time..) Regards, Freddie. signature.asc Description: This is a digitally signed message part ___ Warzone-dev mailing list Warzone-dev@gna.org https://mail.gna.org/listinfo/warzone-dev
Re: [Warzone-dev] Release 2.2 (with port change) or go with 2.1.3 + port change or ?
On 3/14/09, Dennis Schridde wrote: > Dump from IRC: > > Use a simple number (int), which we increment everytime we change the netcode > in an incompatible way. > Use a 2nd number in addition, which we increment if some compatible > enhancement happens. (And reset when we increment the major version.) > (That is in fact similar to what is done for shared objects on Linux.) > > Since we need to check game data and mods as well, strings seem better for > that task. (Simply concat the version strings. Example: "trunk:aiv:ntw") > They could be seperated from the netcode version though. > > Proposed constants: > NETCODE_VERSION_MAJOR=0, NETCODE_VERSION_MINOR=0, DATA_VERSION="2.2" > (With the latter being the one used to concat mod version strings onto.) > > --DevU > After getting all the input, I have made the latest update: http://developer.wz2100.net/ticket/290 We need to get it correct the first time. Right now, we only check on the version string. All the other stuff we send isn't used. I am also not sure about the time period to wait before we auto kick someone. Right now, it is set to 7secs. Logic is, player joins. Host sends version request query. If Host don't get response within 7 secs, then we auto-kick. If wrong version string, we auto-kick. If all is fine, you won't notice anything. ___ Warzone-dev mailing list Warzone-dev@gna.org https://mail.gna.org/listinfo/warzone-dev
Re: [Warzone-dev] Release 2.2 (with port change) or go with 2.1.3 + port change or ?
2009/3/18 bugs buggy : > Right now, we only check on the version string. All the other stuff > we send isn't used. > > I am also not sure about the time period to wait before we auto kick > someone. Right now, it is set to 7secs. > > Logic is, player joins. Host sends version request query. If Host > don't get response within 7 secs, then we auto-kick. > If wrong version string, we auto-kick. > If all is fine, you won't notice anything. We should send a message with the "wrong version string" auto-kick, though. "You're using version X, we require version Y" And we should only send the "wrong version string" auto-kick if the two versions are netcode-incompatible. Let's set the time period to 12.8 secs. ;) /me likes powers of 2 -Zarel ___ Warzone-dev mailing list Warzone-dev@gna.org https://mail.gna.org/listinfo/warzone-dev
Re: [Warzone-dev] Release 2.2 (with port change) or go with 2.1.3 + port change or ?
On 3/18/09, Zarel wrote: > 2009/3/18 bugs buggy : > > > Right now, we only check on the version string. All the other stuff > > we send isn't used. > > > > I am also not sure about the time period to wait before we auto kick > > someone. Right now, it is set to 7secs. > > > > Logic is, player joins. Host sends version request query. If Host > > don't get response within 7 secs, then we auto-kick. > > If wrong version string, we auto-kick. > > If all is fine, you won't notice anything. > > > We should send a message with the "wrong version string" auto-kick, > though. "You're using version X, we require version Y" Well, it does that in the console via LOG_ERROR... doing that in the GUI... is not going to happen anytime soon. > > And we should only send the "wrong version string" auto-kick if the > two versions are netcode-incompatible. That is a given. > > Let's set the time period to 12.8 secs. ;) > > /me likes powers of 2 Ha! Ok, then 4 secs. ;) ___ Warzone-dev mailing list Warzone-dev@gna.org https://mail.gna.org/listinfo/warzone-dev
Re: [Warzone-dev] Release 2.2 (with port change) or go with 2.1.3 + port change or ?
2009/3/18 bugs buggy : > Well, it does that in the console via LOG_ERROR... doing that in the > GUI... is not going to happen anytime soon. Oh, come on. So the user just gets kicked out, no explanation why? It _better_ go in the GUI. > Ha! Ok, then 4 secs. ;) I thought Warzone's game code had 1/10 sec ticks? So the closest approximation would be 6.4 secs. -Zarel ___ Warzone-dev mailing list Warzone-dev@gna.org https://mail.gna.org/listinfo/warzone-dev
Re: [Warzone-dev] Release 2.2 (with port change) or go with 2.1.3 + port change or ?
Am Mittwoch, 18. März 2009 22:05:15 schrieb Zarel: > 2009/3/18 bugs buggy : > > Well, it does that in the console via LOG_ERROR... doing that in the > > GUI... is not going to happen anytime soon. > > Oh, come on. So the user just gets kicked out, no explanation why? It > _better_ go in the GUI. > > > Ha! Ok, then 4 secs. ;) > > I thought Warzone's game code had 1/10 sec ticks? So the closest > approximation would be 6.4 secs. Make it 10, at least. It could happen that the peer is under load, has some weird network setup which needs more time, or whatever. --DevU signature.asc Description: This is a digitally signed message part. ___ Warzone-dev mailing list Warzone-dev@gna.org https://mail.gna.org/listinfo/warzone-dev
Re: [Warzone-dev] Release 2.2 (with port change) or go with 2.1.3 + port change or ?
On 3/18/09, Zarel wrote: > 2009/3/18 bugs buggy : > > > Well, it does that in the console via LOG_ERROR... doing that in the > > GUI... is not going to happen anytime soon. > > > Oh, come on. So the user just gets kicked out, no explanation why? It > _better_ go in the GUI. _YOU_ can do it then... GUI stuff is... well, you will see if you tackle this. It takes a heck of allot of code changes / additions to do this kind of thing. Besides, they DO get a explanation, it is just using stderr that will show them the message. Oh, and for the record, it isn't that I don't want it done, it is that I have no time to get that part done. At least, not now. And I almost forgot, we are going with port 2100 right? ___ Warzone-dev mailing list Warzone-dev@gna.org https://mail.gna.org/listinfo/warzone-dev
Re: [Warzone-dev] Release 2.2 (with port change) or go with 2.1.3 + port change or ?
2009/3/18 Dennis Schridde : > Make it 10, at least. > It could happen that the peer is under load, has some weird network setup > which needs more time, or whatever. If the peer is _that_ under load, that peer isn't going to be able to play Warzone very well. 2009/3/18 bugs buggy : > _YOU_ can do it then... GUI stuff is... well, you will see if you > tackle this. It takes a heck of allot of code changes / additions to > do this kind of thing. I'll see what I can do. :/ I know widget code is a mess, which is why we're all waiting for Betawidget. > Besides, they DO get a explanation, it is just using stderr that will > show them the message. That doesn't count. Survey 1000 gamers; see how many know what "stderr" means. Then see how many of those would look at "stderr" after being randomly kicked from a game. I estimate those numbers at 3 and 0, btw. > And I almost forgot, we are going with port 2100 right? I believe everyone agrees yes. -Zarel ___ Warzone-dev mailing list Warzone-dev@gna.org https://mail.gna.org/listinfo/warzone-dev
Re: [Warzone-dev] Release 2.2 (with port change) or go with 2.1.3 + port change or ?
Am Donnerstag, 19. März 2009 01:59:12 schrieb Zarel: > 2009/3/18 Dennis Schridde : > > Make it 10, at least. > > It could happen that the peer is under load, has some weird network setup > > which needs more time, or whatever. > > If the peer is _that_ under load, that peer isn't going to be able to > play Warzone very well. Temporary load. I.e. if my hdds kick in at the wrong moment the system might hang for a second. Nvidia drivers were known for a bug where the system would occasionaly hang for a few. > > And I almost forgot, we are going with port 2100 right? > > I believe everyone agrees yes. Under one condition: That we never ever have to change ports again. --DevU signature.asc Description: This is a digitally signed message part. ___ Warzone-dev mailing list Warzone-dev@gna.org https://mail.gna.org/listinfo/warzone-dev