[quake3-bugzilla] [Bug 5099] Add support for dpmaster protocol

bugzilla-daemon at icculus.org bugzilla-daemon at icculus.org
Thu Jul 28 04:00:07 EDT 2011


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

--- Comment #13 from Simon McVittie <smcv-ioquake3 at pseudorandom.co.uk> 2011-07-28 04:00:03 EDT ---
(In reply to comment #12)
> I simply don't see the need for a "dpmasterprotocol" cvar in this case. Why not
> always use getserversExt query in the standalone case, even when going over
> ipv4? As has been established it is more than sufficient in my view to provide
> the game separation you strive for, without adding yet more code.

I assume the answer is the same as various cvars I asked for: so Quake III
Arena and standalone games can share an engine build, and choose whether to be
standalone at runtime. I no longer have any objection to this patch, thanks for
explaining the situation.

When switching from discriminating by sv_heartbeat to discriminating by
com_gamename, perhaps we should bump com_protocol from 70 to something
obviously different (1071?) to avoid collision with the 68+ range already used
by standalone mods like OA? (I ask this particularly because it's about to
collide with protocol number 71, which OA has used since 2008 - potential for
confusion there.)

(In reply to comment #7)
> No gamename into the infostring, so OpenArena servers are considered as Q3A
> servers, with a higher network protocol number. And since the getserversExt
> queries ask for openarena servers, you won't get any server in the response.

Would it be possible to make dpmaster consider protocol number 71 in the
QuakeArena-1 heartbeat protocol to imply a gamename of "openarena" instead of
"Quake3Arena"? :-) (This would require ioQ3 avoiding protocol number 71, but I
think the "non-legacy" protocol number should probably increase to something
visually distinct anyway.)

Historical behaviour which can't really be changed now:

* Q3 1.32c heartbeats as "QuakeArena-1 68", and queries for protocol 68

* ioQ3 1.36 heartbeats as "QuakeArena-1 68", and queries for protocol 68
  (IPv4) or "Quake3Arena 68" (IPv6)

* OA 0.8.1 and 0.8.5 heartbeat as "QuakeArena-1 71",
  and query for protocol 71 (IPv4) or "openarena 71" (IPv6)

Things we can still change:

* OA engines from the future can heartbeat as "DarkPlaces Quake3Arena 71"
  or "DarkPlaces openarena 71", whichever would give better compatibility
  (updated OA engine snapshots based on ioQ3 are released occasionally,
  whereas updated OA game content hasn't happened for a long time; I think
  most people still use the engine that comes with the 0.8.5 game content)

* "the OA engine" in Debian/Fedora/Ubuntu (which is just ioQ3 with some
  command-line options) can do the same

* if ID make their master server DP-compatible, ioQ3 could start
  using heartbeat "DarkPlaces Quake3Arena 68" if that'd help

Possibly-mad idea: instead of having a cvar, would it perhaps make sense for
ioQ3 to recognise and special-case the hostname of id's Q3 master server, use
the legacy protocol for that hostname only, and use the DarkPlaces heartbeat
protocol for all other masters?

-- 
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