MantisBT - Zandronum | |||||
View Issue Details | |||||
ID | Project | Category | View Status | Date Submitted | Last Update |
0002331 | Zandronum | [All Projects] Suggestion | public | 2015-06-27 01:59 | 2015-06-27 22:59 |
Reporter | AlexMax | ||||
Assigned To | |||||
Priority | normal | Severity | feature | Reproducibility | N/A |
Status | new | Resolution | open | ||
Platform | OS | OS Version | |||
Product Version | |||||
Target Version | Fixed in Version | ||||
Summary | 0002331: Zandronum versioning overhaul | ||||
Description | 'http://zandronum.com/forum/showthread.php?tid=6102 [^]' This thread got me thinking about a couple of problems of the current Zandronum versioning system, mainly surrounding network protocols and testing releases. 1. Forcing the client and server version to match exactly by default is, frankly, obnoxious in some cases. I tried to use edward-san's version of Zandronum, which had the desync problems fixed, and players couldn't connect to my server. I had to apply the fixes as a patch against a stock 2.1 checkout. 2. On the other hand, if there is a new version of the Zandronum client that is released, you want to have players on that new version as soon as possible. For this, having the server inform the client that they are out of date is a good thing. But do demos have to break too? 3. And on the third hand, if you're running testing sessions, sometimes you want the freedom to be able to make updates to the server without the player having to download a new client, and sometimes it's important that the client isn't using an older testing client that will exhibit bugs that have already been fixed in a newer version. To that end, I say that we overhaul how versions work in Zandronum. Not the visible version string that we tell everybody, but some under-the-hood stuff that we can use to allow for automatic updates and easy downloading of proper testing releases. How about we have these? 1. A "protocol version". This protocol version is updated by the developer anytime the network protocol changes in a backwards-incompatible way. Make it 32-bits, so developers don't feel bad about bumping it. For recording and playing back demos, this is the only version that will ever be checked. Why: To prevent incompatible clients and servers from talking to each other. 2. A "real version". This would be "2.0", "2.1", and would be updated for every stable release of the Zandronum _client_. If an unmatched client tries to connect to a server, it will refuse to connect them, even if the protocol version matches. Note that this would _not_ be bumped for point releases that are only relevant for servers. Why: To ensure that players are always using the latest stable release of the client, even if the protocol doesn't change. 3. A "channel". This would be "stable" or "testing", and would be "stable" for almost any stable release of Zandronum, and "testing" for almost any testing release. This is also a blocker - stable client can't join a testing server and vice versa. Why: Doomseeker will use this field in combination with the protocol version to figure out what version of the Zandronum client to download and use on that server. If it's "stable" and protocol version 67, it will use download and use the latest stable release on protocol 67. If it's "testing" and protocol version 92, it will download and use the latest testing release on protocol 92. | ||||
Steps To Reproduce | |||||
Additional Information | |||||
Tags | No tags attached. | ||||
Relationships | |||||
Attached Files | |||||
Issue History | |||||
Date Modified | Username | Field | Change | ||
2015-06-27 01:59 | AlexMax | New Issue | |||
2015-06-27 09:17 | Zalewa | Note Added: 0012808 | |||
2015-06-27 10:25 | Leonard | Note Added: 0012809 | |||
2015-06-27 13:32 | Dusk | Note Added: 0012811 | |||
2015-06-27 13:40 | Dusk | Note Edited: 0012811 | bug_revision_view_page.php?bugnote_id=12811#r7545 | ||
2015-06-27 13:41 | Dusk | Note Edited: 0012811 | bug_revision_view_page.php?bugnote_id=12811#r7546 | ||
2015-06-27 22:54 | Konar6 | Note Added: 0012816 | |||
2015-06-27 22:59 | Konar6 | Note Edited: 0012816 | bug_revision_view_page.php?bugnote_id=12816#r7550 |
Notes | |||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|