[quake3-bugzilla] [Bug 4962] Protocol version 69 + legacy support

bugzilla-daemon at icculus.org bugzilla-daemon at icculus.org
Thu Jun 30 10:20:31 EDT 2011


https://bugzilla.icculus.org/show_bug.cgi?id=4962

--- Comment #20 from Thilo Schulz <arny at ats.s.bawue.de> 2011-06-30 10:20:27 EDT ---
(In reply to comment #18)
> Hmm, I'll think about it a bit more. Having "protocol" and "protocolver" isn't
> good though. "protocolnew" doesn't really fit, nor does "protocol_not_legacy".
> Do we really need to expose that cvar anyway? It seems like the only reason
> we're allowing "protocol" to be changed by the user is to allow ioq3 to be used
> with OA? Is there a reason to allow "protocolver" to be changed as well?

Yes. It's not only OA... World of Padman uses the same mechanism to distinguish
between game content. I am sure other mods do as well.
The Debian package maintainers don't want to compile 5 different instances of
the same engine that basically does the same thing when nothing really changed
except for game content. I understand that, and would like to support them in
that. Also not all standalone developers have the resources to make builds for
the machines we support. ioquake3 has powerful standalone detection
capabilities for exactly these cases.

> Yes that's what I mean. I realise other games are separated by master server
> but right now there is nothing stopping me connecting a Tremulous client, for
> example, to something else ioq3 based that advertises protocol 69. The server
> won't complain at the connection. It'll break later obviously, but not in a
> controlled or graceful way. If we have a string for protocol identification
> then this awkwardness goes away.

The getServersExt query does already differentiate between games. This requires
each standalone game to run their own masters, or at least link to a master
that understands this query. But that's not an unreasonable demand. Especially
given upcoming ipv6 support, we can make getserversext query standard in the
standalone case, not only for ipv6 connections. I understand that idsoft's
master server is a dpmaster. If they update, we could drop the getservers query
entirely in favor of getserversExt. The master server would go on supporting
getservers for old q3 clients, but it wouldnt break anything anymore then.
(getServersExt only returns ipv4 results if the ipv6 keyword is not given, by
the way.)

> Problems like this was why I was suggesting possibly using a FOURCC code
> instead of a string. Providing we have 32 bits to play with for the protocol
> field, we can have much more unique protocol identification without any
> storage changes.

I find this to be a better solution than any fourcc code. Who'd get to be the
standardizing body? It wouldn't solve the problem for debian maintainers who
want to use the same engines for several games, we'd still have to make the
protocol var changeable.

> Oh, one other thing. In the README it's probably best not to draw attention to
> the specific security issue that is fixed, instead refering more generally to
> "security issues" or something like that.

Why not? The exploit by Luigi has been out for ages.

-- 
Configure bugmail: https://bugzilla.icculus.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the quake3-bugzilla mailing list