admin client

Make suggestions for improving one of the best games on the net!
User avatar
The Purple Panzer
Field Marshal
Field Marshal
Posts: 244
Joined: Tue Sep 23, 2003 8:13 pm
Location: Stonington, CT
Contact:

admin client

Post by The Purple Panzer » Wed Jun 08, 2011 3:24 pm

It would be nice if the client displayed additional info if the player is an admin on a server; for instance, highlighting players going faster than they should be, curved shots, shots missing that shouldn't (narrow tanks), and any and all other reasonable checks for cheats. None of this would assist in game play, that is it wouldn't give an admin any advantage; but it *would* help in 'noticing' unusual behaviors. It could also help in logging such behaviors for later discussion if needed.

It might be in another tab like the chat stuff, or as the 'observer' now gets information, or whatever would be easiest.

User avatar
blast
General
General
Posts: 4744
Joined: Fri Mar 21, 2003 3:49 pm
Location: playing.cxx
Contact:

Re: admin client

Post by blast » Wed Jun 08, 2011 8:17 pm

Players going too fast are already displayed if you're in observer and have the observer info turned on. It will show the speed on the scoreboard, and change color when it goes too high (though physics drivers and maybe the Agility/High Speed/Theif flags are not taken into account.. haven't really paid attention).

Curved shots? Normal bullets cannot curve, unless you mean shots that come out the side of a tank. That would be harder to pick out from the client.

There is primitive hit checking if you're in observer and are driving with a player (again, with observer into turned on) but it is not accurate due to lag.
"In addition to knowing the secrets of the Universe, I can assure you that I am also quite potty trained." -Koenma (Yu Yu Hakusho)

Image

User avatar
The Purple Panzer
Field Marshal
Field Marshal
Posts: 244
Joined: Tue Sep 23, 2003 8:13 pm
Location: Stonington, CT
Contact:

Re: admin client

Post by The Purple Panzer » Wed Jun 08, 2011 9:35 pm

Well, why can't I see this when I'm playing? My admins (and I myself) usually are on a server to *play*, not observe. Having some display of odd events while playing, for admins, would be very useful. Actually I think players are much more sensitive to oddities than observers are, unless by accident the observers are looking at exactly the right place at exactly the right time.

User avatar
JeffM
Staff Sergeant
Staff Sergeant
Posts: 5173
Joined: Fri Dec 13, 2002 4:11 am
Location: https://discord.gg/NN9uAvx
Contact:

Re: admin client

Post by JeffM » Thu Jun 09, 2011 2:27 am

if we had code that could check for cheats we'd have the server check for them and stop the cheater from sending the bad data in the first place.

User avatar
The Purple Panzer
Field Marshal
Field Marshal
Posts: 244
Joined: Tue Sep 23, 2003 8:13 pm
Location: Stonington, CT
Contact:

Re: admin client

Post by The Purple Panzer » Thu Jun 09, 2011 11:31 am

Yes, but I've seen multiple times that what might appear to be someone cheating can be due to lag on that player's connection, or the (playing) admin's connection. I think human judgement is very useful here, right now perhaps critical.

User avatar
Pimpinella
Private First Class
Private First Class
Posts: 96
Joined: Wed Nov 19, 2003 4:50 pm
Location: Jever, NDS, Germany

Re: admin client

Post by Pimpinella » Thu Jun 09, 2011 12:12 pm

Hi

There are some checks serverside, though they are not really reliable as Jeff explained. These checks log it when they find something suspicious. It'd be quite simple to create a pluging that filters such log events and sends them to admin channel. So you should probably consult your local plugin developer ;)
I'm not sure though if it's worth it. Detectable cheats have mostly been made impossible (like curved non GM shots) or lead to a quick kick (like endShot cheat provided the server is configured to kick). Cheats that are hard to detect because they can be mistaken with lag won't create really useful log events since the server can't distinguish lag from cheat either. It might be possible to refine cheat detection, but it's mostly not reliable at the moment.

Ghost.
Private First Class
Private First Class
Posts: 26
Joined: Sat May 14, 2005 2:55 pm

Re: admin client

Post by Ghost. » Thu Jun 09, 2011 12:38 pm

So, again, having read what you write, an admin mode in the client, that indicates oddities, or can provide specific metrics on request for a player, by the admin, would be a beneficial instrument on cracking down on the last bits, that only humans can detect, through observation during gameplay.

For example - there was mentioned bullets that would have hit, but did non, aka use of skinny tank while having cloak for example. Being in observer mode, you would not be able to detect this, unless you fired at the opponent, and didn't get a hit when you should have had one.
A one-off or a few odds, doesn't make a cheater, but a persistent pattern would be a very strong indicator that not everything is what it should be.

Another one that is hard to see, is shot speed or rotational speed, or altered gravity or jump speed settings, and while changes may be small, and may not be distinctively detected by the server, a human often gets a feeling for when things are not right, and having the numbers to back it up, would be a great tool in addition to existing knowledge.

I don't see how having access to this additional information could not be beneficial, and why it is argued against, when the benefits clearly outweigh the cons, and that it would not be very hard to implement, especially as there already are similar abilities in the client, but in the "wrong mode".

A seasoned admin takes far more than just numbers into account, including experience, but having access to the hard facts, gives them a far better chance of making the right decision, especially as the numbers can either qualify someone as cheating, or more importantly, show that there are no sinister background to the oddities seen, and that they have to be written off as "oddities".

As for curved plain bullets - this is something i have seen in real gameplay, as recent as a few months ago, without kick.
I have also seen bullets split halfway on the map, with one bullet killing two tanks, as recent as a few weeks ago.

The more information the admins has at hand, the better *informed* decisions they can make, in the best interest of anyone who wants a fair game.

Even very small and subtle changes that would normally pass the servers anti-cheat tests, can give significant boosts to a players performance, if they know how to use them right.

User avatar
JeffM
Staff Sergeant
Staff Sergeant
Posts: 5173
Joined: Fri Dec 13, 2002 4:11 am
Location: https://discord.gg/NN9uAvx
Contact:

Re: admin client

Post by JeffM » Thu Jun 09, 2011 4:11 pm

I understand what you are asking for but we don't have it right now.

If we were to spend the time to write that into a client then why would we not spend the time to just fix the networking and simulation so that the situations can't happen (Yes it is possible to the extent you are talking about. Most modern online games don't allow what we allow)

The stuff we have in observer works because when you are following at tank your client thinks that it is that tank and can do the code to see if it got hit, that's it. We don't have general code to do the kinds of checks you want on any arbitrary player and shots.

Development time is limited and right now we have been struggling to just get a release out (we are doing better this month).

Anti-cheat is a topic all the developers are aware of but it's not a small task that we can "just do X and Y" and it'll all be ok. Networking and simulation changes are on the dev roadmap for a future release so that we can bring he game up to a more modern standard of online play.

Ghost.
Private First Class
Private First Class
Posts: 26
Joined: Sat May 14, 2005 2:55 pm

Re: admin client

Post by Ghost. » Thu Jun 09, 2011 5:02 pm

So in essence you are saying - You're stuffed with what's there, and unless the sky falls in at some point in the future, such things might be implemented before the heat death of the universe?

Not gonna ask or suggest anything again.

User avatar
The Purple Panzer
Field Marshal
Field Marshal
Posts: 244
Joined: Tue Sep 23, 2003 8:13 pm
Location: Stonington, CT
Contact:

Re: admin client

Post by The Purple Panzer » Thu Jun 09, 2011 5:30 pm

I think he's saying a bit more than that, and the perspective is one I'm glad to understand. I know I thought (and perhaps Ghost too) that these were close to trivial changes in the client. One of my admins sent me a message that he's modded a client to do some of this, which probably was the root of my assumption that it was easy (I haven't seen this client, and have mixed feelings about allowing any mods, but it might be worth a glance).

Is it perhaps worth a fresh look? Imagine a loop that looked at each player in turn, did a short eval of motion parameters (as well as could be done), then highlights a questionable player name in the score list? Or, maybe the server could do this, (that is, so it's done once for all admin clients) and the data be sent as admin messages. I could well be wrong - I'm sure Jeffm knows more about what this means than I do - but I thought it worthwhile to bring up. If it is indeed something that would take substantial time I understand that it shouldn't happen in the near-term.

User avatar
The Purple Panzer
Field Marshal
Field Marshal
Posts: 244
Joined: Tue Sep 23, 2003 8:13 pm
Location: Stonington, CT
Contact:

Re: admin client

Post by The Purple Panzer » Thu Jun 09, 2011 6:18 pm

While driving today, an idea occurred to me: how about an "observer bot", that would cycle through players, watching each for a few seconds (maybe a settable parameter), use what information the observer can certainly already see to check what can be checked, then send admin messages out about issues? (One would not want to drown in those).

I have no idea what it would take to implement such a thing, but it might be closer to minimal than maximal effort.

User avatar
JeffM
Staff Sergeant
Staff Sergeant
Posts: 5173
Joined: Fri Dec 13, 2002 4:11 am
Location: https://discord.gg/NN9uAvx
Contact:

Re: admin client

Post by JeffM » Thu Jun 09, 2011 7:21 pm

That is of course possible with a modded client (the full game client is the only thing that has has all the code that can do what a player does ).
Someone could make this, but I don't think it's something that we would want to support a project level.

You should also note that this type of check is totally dependent on the lag of the observer and the lag of the player being observed. What an observer sees is not what the observed player sees.

User avatar
FiringSquad
Sergeant
Sergeant
Posts: 847
Joined: Thu Jan 26, 2006 5:53 pm
Location: Ireland

Re: admin client

Post by FiringSquad » Thu Jun 09, 2011 7:43 pm

Any policing clients that are in use will probably never be released.
In most cases, the most they can do is raise suspicions and if they were released then it would be easy to modify your client to avoid detection.

User avatar
Pimpinella
Private First Class
Private First Class
Posts: 96
Joined: Wed Nov 19, 2003 4:50 pm
Location: Jever, NDS, Germany

Re: admin client

Post by Pimpinella » Thu Jun 09, 2011 8:27 pm

Ghost, you are very welcome to implement whatever you see fit. Right now, however, JeffM is doing a great job resurrecting development that in fact had already died! Your reaction does not really help to motivate developers. The upcoming release WILL include some cheat _prevention_, which is what we really want, instead of unreliable client side cheat detection that suffers from the same limitations the admin player does - lag and jitt. BZFlag is made by spare time programmers and i don't think you want their limited time spent on solutions that ease problems (for as long as it takes until cheat code improves) when they could also fix them. Your suggestions are welcome. Just understand, that not everything is possible or
economical.
You can't provide information that you don't have. The cheat detection you want is just not there. If you want cheat detection (and again, thats not what you want, you want cheat prevention) someone has to make it. If there will be any further development after 2.4 (yes, not when, if) cheat prevention will have high priority. If you really, really want those client side stuff go ahead and make it and it might be accepted for a 2.4.x version. It's not what bzflag needs for future major releases though.

Pimpi

Ghost.
Private First Class
Private First Class
Posts: 26
Joined: Sat May 14, 2005 2:55 pm

Re: admin client

Post by Ghost. » Thu Jun 09, 2011 9:39 pm

Cheat prevention can help, but can never replace cheat detection, as cheats often depends on bugs not yet found, or client behaviors that goes outside what the server has capabilities of detecting.

As for information not being there? Well, i beg to differ - if the information about shots fired, speed tanks etc were not readily available, you would not be able to render the other tanks on-screen in any meaningful way.

Processing power is not an issue with modern machines.

User avatar
Pimpinella
Private First Class
Private First Class
Posts: 96
Joined: Wed Nov 19, 2003 4:50 pm
Location: Jever, NDS, Germany

Re: admin client

Post by Pimpinella » Thu Jun 09, 2011 10:58 pm

You don't get it. Cheat prevention makes cheat detection dispensable. If you make a cheat impossible you don't need to detect it. Cheats use bugs? Fix the bugs! The server has not enough capabilities? Give the server capabilities!

Client cheat detection? You have lots of inaccurate information about other tanks on your client. It's like trying to read something written in 6pt letters while you're missing your 8 diopter glasses. So someone already made that cheat detection you seek for so badly? Make him share!
You end up adding informations that prove nothing to your observations that prove nothing, though. Nothing plus nothing is nothing,. If you want to ban players based on guessing you can do so even now. If bz development was dead it would probably a cheap way to go, but apparently it's not really dead yet! Wasting some part of the _very_limited_ manpower available on something thats so obviously the wrong way to go? Sorry, but no.

Pimpi

Ghost.
Private First Class
Private First Class
Posts: 26
Joined: Sat May 14, 2005 2:55 pm

Re: admin client

Post by Ghost. » Thu Jun 09, 2011 11:11 pm

Your response pretty much nails it, why people give up on suggesting things for the BZ, and why fewer and fewer players hang around.
I've been in engineering long enough to know that:

You can't foresee unknown bugs, yet to be detected, and as a result, you can't preempt them, until you see them, and the developers hasn't got enough time on their hands, hence, your reasoning fails, and pretty much proves my point, that we need an alternate resource for the time between bug detection (cheat detection) and countermeasure (fixing the bug).

Anyway, I give up.
It's pointless discussing it with you, as you so categorically dismiss all and any of what i am saying, even though some of it having already been implemented, just not in the right setting one would wish for.

I'll just shut my trap, and leave you to it, for whatever time i will still be with the game.

User avatar
macsforme
General
General
Posts: 2024
Joined: Wed Mar 01, 2006 5:43 am

Re: admin client

Post by macsforme » Fri Jun 10, 2011 12:01 am

Ghost. wrote:Cheat prevention can help, but can never replace cheat detection, as cheats often depends on bugs not yet found, or client behaviors that goes outside what the server has capabilities of detecting.
If the bugs are not yet found, I fail to see how cheat "detection" can work any better than cheat "prevention," since obviously neither the detection nor prevention can be made to detect these "not yet found" bugs.

Some of the community, as you said, has already created several third-party modified clients or tools to do what they believe is cheat detection, with various degrees of success. One of the problems has been that nobody really wants to share them, because of fears that the detection method will be "leaked" to the cheaters and they will either stop cheating that way (omg!) or somehow change their methods to avoid this detection.

Another primary reason why there are problems with even the existing "cheat detection" (aka extended observer info), so called, is that they are simply alerts to abnormal state and don't mean that anyone is cheating at all. If I'm guessing right, this entire topic arose out of an incident where the observer info showed abnormal state, and an admin relied on this and banned a player who was not cheating. That is the problem with what we already have, and would still be a problem if we added more. A player's own client is the only authority for much of that player's state, for better or for worse. What other players see is not what that player sees, especially if lag or other network issues are thrown into the mix. Yes, this observer information can be a useful tool to an experienced admin who looks at the entire picture, but you are more likely to see admins rely too heavily on this information, banning people in error which results in a time-consuming process of communication back and forth trying to determine and explain what actually happened.

Yrogirg
Private First Class
Private First Class
Posts: 154
Joined: Sat Oct 27, 2007 7:24 pm

Re: admin client

Post by Yrogirg » Fri Jun 10, 2011 6:09 am

The Purple Panzer wrote:for instance, highlighting players going faster than they should be ... None of this would assist in game play, that is it wouldn't give an admin any advantage
Knowing tank speed is an advantage --- you can figure out whether st is using a jumper or a travelator to get to your base. Or actually to determine st position in this case.

User avatar
JeffM
Staff Sergeant
Staff Sergeant
Posts: 5173
Joined: Fri Dec 13, 2002 4:11 am
Location: https://discord.gg/NN9uAvx
Contact:

Re: admin client

Post by JeffM » Fri Jun 10, 2011 7:02 am

Cheat prevention/detection is not rocket surgery, most other games do it to some degree. The main problem is that BZFlag was never written with it in mind. At it's heart it's a lan game and doesn't really do anything about lag, it just ignores it. Every player has a slightly different version of the game simulation at any one point in time. The server has none of the state info. So yes while every client has most of the info it needs, but it will be off by some degree unknown to the client. This makes it unreliable on it's own.

Ghost is right and nobody is trying to dismiss his comments, just put them in perspective. You can never prevent all cheats and at some point there will need be a person there to figure out that something is wrong. That said you can minimize the impact of cheats and what they can do with smart coding. There are multiple ways to solve the problem and a lot of thought and research has been put into what would be best for the game in the long run.

Right now bzflag lets anything happen as long as the client says it's ok. Modern games push more of the logic onto the server so the client has less say in the game. This gives players a more consistent game. This is where we want to go. Once we are there then, yes there may be some things we have to do in an admin client or tool, like provide info to detect aiming bots. This is the place where games like quake are now (punkbuster etc). We aren't even close to that point.

There is a lot of info/code around on how to do all this and we just have to get to a point where we can implement it. It is a large task that will involve major changes to the games internal design. Once we can get to that point then a lot can be done to minimize a cheaters effect on everyone's game.

So again as a stopgap measure you can probably make a client that helps you view the data and make some kind of choice, but it's not the direction we want to go for the project as a whole. The tool in this case is only one part of the choice, the knowledge on how to interpret the info is the other and we don't have the time or resources to train everyone in how to do that with an official tool. The time would be better spend moving tank movement to the server so that nobody CAN go fast for instance.

There are tools out there now that do what you are talking about, some of the league admins use them. Some people have good luck with them, some don't. It is all about how much the user knows about the nature of latent simulations and how bzflag works.

User avatar
The Purple Panzer
Field Marshal
Field Marshal
Posts: 244
Joined: Tue Sep 23, 2003 8:13 pm
Location: Stonington, CT
Contact:

Re: admin client

Post by The Purple Panzer » Fri Jun 10, 2011 1:23 pm

Minor points: Yrogirg mentioned that an admin could gain some advantage by seeing another player's speed. But I'd want the detector (however implemented) just to tell me that limits were exceeded, not what the speed value(s) are.

On sharing: I encouraged this author of his modified client to do so. I think the problem there is that he really doesn't speak English. I have a number of admins in Europe, from Moscow to Ireland, and we do manage to communicate (sometimes in pairwise steps.. it can be funny). I think he finds the idea of trying to submit patches in an English language project daunting. Can't say for sure; haven't even seen it.

Ghost.
Private First Class
Private First Class
Posts: 26
Joined: Sat May 14, 2005 2:55 pm

Re: admin client

Post by Ghost. » Fri Jun 10, 2011 1:35 pm

JeffM, Thanks for confirming the validity of my points.

I am not asking or suggesting unreasonable things, only that some of what has already been implemented, and that other known data that will not affect gameplay by it's display, can be turned on during normal gameplay, as a stopgap solution.

You also speak about GU league clients that are readily available, but where they are wary of releasing them.
Could you not, as a manager, talk to these guys, and ask them if they would be willing to share these with other admins?

After all, I (and many others with me) know full and well that you can't just rely on figures, but have to see it with your own eyes, but while doing so, having whatever additional "hard" information there may be available as part of making the decision, will be beneficial, either to clear the suspect, or to provide additional information to prove the point.
Also, having a screenshot with the data, can help considerably if there is a later dispute.

Sometimes, technology and algorithms can do the job, but in the end, having a human making the final decision might be the only solution, and while i am all for automation of the process of dealing with cheats, some cheats will not go detectable by automated methods, however sophisticated, but needs that extra evaluation to make sense of the available data.

User avatar
FiringSquad
Sergeant
Sergeant
Posts: 847
Joined: Thu Jan 26, 2006 5:53 pm
Location: Ireland

Re: admin client

Post by FiringSquad » Fri Jun 10, 2011 2:22 pm

I don't think JeffM is saying that it will never happen.
He is trying to get developers focused on getting the next release ready.
Any diversion from that task would need to be for a very good reason.
Given that any work done on cheat detection will be obsolete as soon as the newer version is complete, I totally understand JefM's reluctance to commit any resources to this.
Even if it's only a matter of copying and pasting in some code, there is still the overhead of testing on various platforms etc. before being released.
Frankly, I think resources are better spent where they are.

A major new release will mean that all existing cheat clients will be null and void.
Of course it will be easy enough to build another one, but many people who use cheat clients just got a copy of it and do not have the skills to build another one.

User avatar
JeffM
Staff Sergeant
Staff Sergeant
Posts: 5173
Joined: Fri Dec 13, 2002 4:11 am
Location: https://discord.gg/NN9uAvx
Contact:

Re: admin client

Post by JeffM » Fri Jun 10, 2011 3:53 pm

Ghost. wrote:JeffM,
You also speak about GU league clients that are readily available, but where they are wary of releasing them.
Could you not, as a manager, talk to these guys, and ask them if they would be willing to share these with other admins?

After all, I (and many others with me) know full and well that you can't just rely on figures, but have to see it with your own eyes, but while doing so, having whatever additional "hard" information there may be available as part of making the decision, will be beneficial, either to clear the suspect, or to provide additional information to prove the point.
I never mentioned GU and no I can't do this. 1) It's not the projects place to ask people to release code, and 2) I think they are smart keeping it out of open circulation. It is not an accurate tool and not many people understand that it doesn't provide "hard" data at all. It is supper swishy data and ends up with a lot of false accusations.

The analogy I will use is this;

BZFlags networking and gameplay is like 2 kids running around a back yard playing cops and robbers, shouting "BANG" at each other. It is a game built entirely on trust. You have to trust me to fall down "dead" when you shout bang.

The rest of the world is using paintball markers.

This is all fine and good for 2 friends in there backyard but doesn't extend well to a cops and robbers league tournament. Even if you were to give some referee a bunch of info and "data" about who was doing what, there is so much uncertainty in the system that it's going to end up with everyone just arguing "No I hit you". It is not productive.

We'd love to upgrade to paintballs, there is a lot more hard data with them. When you hit me with a bright orange splotch of paint I can't really say "It's just a flesh wound". But moving to paintballs means rethinking your game. They are expensive, we have to ask mom and dad and save our allowance. But we don't have to invent our own paintball system, there are lots out there that work that we can pick from.

Now there are still some ways I can cheat using paintballs but they are a lot harder to do and don't screw up the game as much. I have to wipe paint off, or cover up the hit, or find ways to get out of the way extra fast, all possible but limiting.
FiringSquad wrote:I totally understand JeffM's reluctance to commit any resources to this.
Even if it's only a matter of copying and pasting in some code, there is still the overhead of testing on various platforms etc. before being released.
Frankly, I think resources are better spent where they are.
It isn't even the resources for the code. I know how easy it is, I wrote the observer code we have now. It's teaching people how to read it. That takes time and is more of an art then a science. It also gets the project involved into a part of the game we normally stay out of, player management. By adding features like that to the official client many people would take it as "your red light said he was cheating so we banned him", and that should not be what the data should be use for.
FiringSquad wrote:A major new release will mean that all existing cheat clients will be null and void.
Of course it will be easy enough to build another one, but many people who use cheat clients just got a copy of it and do not have the skills to build another one.
I doubt the next "major" release will do what you say here. Even V3 does not have much in the way of cheat stuff ( mostly how flags are grabbed). The big changes that we need are for movement, shots, and death and those will take several major releases to work in.

Ghost.
Private First Class
Private First Class
Posts: 26
Joined: Sat May 14, 2005 2:55 pm

Re: admin client

Post by Ghost. » Fri Jun 10, 2011 4:26 pm

What you saying - rephrased into plain language: Ain't gonna happen - won't do it. Suffer it.
Fine. At least, we know where the goalposts are now.

Post Reply