Rune Central
http://forums.runequake.com/

ProQuake / Qrack's "q_version"
http://forums.runequake.com/viewtopic.php?f=3&t=1599
Page 1 of 1

Author:  Slot Zero [ Wed Mar 30, 2011 6:31 pm ]
Post subject:  ProQuake / Qrack's "q_version"

While I was updating the server, I happened to notice someone partially typing the q_version command and saw that it still worked. I immediately patched the server binary to prevent these messages and thought I would explain why I did in this thread.

For those not familiar with the feature, if you type "q_version" in a chat message, players who are using recent versions of ProQuake or Qrack will automatically spit out what client version they are using. Here is a snippet of how this looks from one of my logs,

Code:
#1 nick: q_versi
#1 nick: ProQuake version Windows GL 4.51 Beta
#8 [fz] fuzzy: ProQuake version Windows GL 4.51 Beta
#5 MasteR SplinteR: ProQuake version Windows GL 4.30 Beta
#11 og: ProQuake version (DirectQ emulated)


At face value, it seems like a novel idea. But there are several issues I find disturbing about this feaure.

#1) Invasion of privacy.

The client should have a method to disable this feature. If I want to share this information, it should be my choice. [If a command already exists in ProQuake to disable this, please let me know]

#2) Abusive usage.

A 20 second grace period isn't enough. The client should limit the output to the server to say once or twice per level, or ideally a user configured value. [For those who can remember several months back, or longer (I forget), the server was being spammed constantly because of an oversight in the client code. This was when I first decided to block the message from appearing on the server by replacing the 'q' with an 'x'. Note: I am aware that this has been fixed by preventing the command to work multiple times on one line and a 20 second delay]

#3) False sense of security.

As I was looking through the logs trying to find an example of how the feature works (for this post), I noticed a few instances where people were using the output of q_version as proof they don't cheat. This is complete nonsense. If you're determined enough, you can make the output of q_version work on any client, even bots. In no way does the output of q_version determine if you're cheating or not.

Author:  Baker [ Fri Apr 01, 2011 10:21 am ]
Post subject:  Re: ProQuake / Qrack's "q_version"

Well, there are a lot of different reasons for the origin of the feature.

For starters, during heavy periods of engine development if some guy on the server said he was having a ProQuake issue (or in R00k's case Qrack) instead of having to ask someone the version they are using (which could take 5 minutes of time to get an adequate response) you could just type q_version and get the client to tell the answer.

I mean, getting someone to tell you the version is not always easy or they could even tell you wrong information.

It also helps on a server running custom maps to detect the annoying guy who is running an old ProQuake without http map download.

Plus it allows players to socially gauge what other players are using and probably is somewhat a vehicle for spreading information to less aware players. If you are playing a game of CAx and someone types q_version and you see that 7 players are using a very recent ProQuake and one of the q_version messages says "Direct3D" and 2 of the guys are using Qrack and you are using ProQuake 3.50 because you haven't played in 6 years ... you just learned something.

I agree with some of the points you've made ... the frequency limiter should be more tuned. I don't think the privacy thing has all that much validity, really. Although ideally, there should be a better mechanism for this and at some point there probably will be.

Origin of feature: Quakeworld has long had "f_version" (which works the same as q_version). Neil made an "anti-cheat" ProQuake 3.50 client to prove someone didn't cheat and this was one feature. R00k implemented the feature. Then I borrowed the feature from R00k's code.

Author:  sputnikutah [ Tue Aug 09, 2011 7:48 pm ]
Post subject:  Re: ProQuake / Qrack's "q_version"

Better late than never.....

I added this silly little feature to identify versions of Qrack, for comparison of features etc. Also Q_SysInfo to find out what type of system they are running on for troubleshooting.
There is the cl_echoqversion cvar default 1 enabled or 0 turned off. So the client has full control of it's use. Also it only replies once per minute. Afterwhich th euser can easily flip the cvar off if its a bother. It's not by any mean to illustrate a valid version, as anyone can compile the source and falsify the build response. :(
In my experience, we havent had anyone abusing this option; I suppose a down right correct way would have been to make a COMMAND available to the console. Ask the user to type Q_version in the console voluntarily, at which the client would broadcast the correct response.

Page 1 of 1 All times are UTC - 5 hours [ DST ]
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/