Bug Tracker – Bug 595

Client/Server compatibility between SVN and releases

Last modified: 2019-01-06 03:37:24 CST
Bug 595 - Client/Server compatibility between SVN and releases
Summary: Client/Server compatibility between SVN and releases
Alias: None
Product: Odamex
Classification: Unclassified
Component: Server & Client (show other bugs)
Version: (old) 0.5.0 - 0.5.5
Hardware: All All
: P2 trivial
Assignee: Odamex Bug Reporter
Depends on:
Reported: 2010-07-21 21:19 CDT by Kyle
Modified: 2019-01-06 03:37 CST (History)
3 users (show)

See Also:


Add an attachment (proposed patch, testcase, etc.)

Note You need to log in before you can comment on or make changes to this bug.
Description Kyle 2010-07-21 21:19:21 CDT
Connections between the (now) incompatible SVN and 0.4.4 client/server is still permitted. There is no way to distinguish between the servers (if the admin doesn't say SVN in the hostname) until you get kicked. For new users, this would be confusing and possibly lead them to the conclusion that the odamex is too buggy to even be played.

Proposed solution: From what I understand, the connection compatibility is solely based on the protocol version, so a define could be made that affects how this version is found. Say it has three states:

Release: This will be defined in tagged releases. release clients can connect to release servers.

Compatible: This will be set between releases as long as compatibility is maintained with release builds both ways. Protocol number will be identical to release builds.

Incompatible: This is between releases when (if) compatibility is broken with the release client/server. Protocol number will be one higher than the release version.

What do you guys think?
Comment 1 Ralph Vickers 2011-01-25 01:06:21 CST
The Odamex launcher now displays server versions. Is this good enough?
Comment 2 Mike Lightner 2011-01-26 00:32:15 CST
I would say it is not sufficient as-is.  We need to either distinguish more clearly what's considered newer or older than the current release, or simply not show servers that are older than latest stable and distinguish those that are newer.
Comment 3 Kyle 2011-01-27 06:27:33 CST
Yeah, it should definitely not allow clients to connect to incompatible servers, but if a certain release, let's say 0.5.2, maintains protocol compatibility with 0.5.1, then connections should be allowed. More or less, the protocol number should be independent of the actual version number. (I don't think it is at the moment, correct me if I'm wrong)

ZDaemon keeps the old protocol in the clients, as far as I know, which allows for demo compatibility with old releases as well as allows server admins to be a bit lazy with the updates. ;)
Comment 4 Charlie Gunyon 2011-01-27 18:32:51 CST
Incompatibility is deeper than just protocol or what messages are supported.  Versioning should perhaps reflect this?
Comment 5 Ralph Vickers 2016-11-11 20:46:58 CST
For a long time this was fixed, however with the git conversion it is broken again. We need a solution. Alex suggested having a read-only cvar that has the version number in it.
Comment 6 Ralph Vickers 2019-01-06 03:37:24 CST
We basically accomplish this currently through the Master git branch and protobreak. The system seems to work fine for us.