June 28, 2021
“Nothing stokes my ire like a cheater. Deception, duplicity, murder — these are merely tools in a toolbox one can use to ensure a job done well. But cheating? I cannot even wrap my head around the point of it. Wouldn’t you know you had cheated? How on Earth could you maintain crisp certainty of your superiority to all others? And if you’re unable to do that, what’s the point of anything?”
Text Source: https://www.teamfortress.com/post.php?id=6679
Why we are publishing a Transparency Post
Every now and then we receive questions about how the ETF2L Anti-Cheat team operates and how we have operated in the past. As most of these questions revolve around the same topics, we want to give the community a chance to gain a better insight by explaining some of our workflows as well as describe changes that happened over the years. This post was written by Head Anti-Cheat Admin Samus with the help of former Head Anti-Cheat Admin quintosh, who also had the main idea for a post like this, and former ETF2L admin ashkan.
We will start with the question that we probably receive the most:
“The ETF2L Anti-Cheat team has wrongly banned innocent people for cheating before, why should we believe that they can’t be wrong now too?”
Whatever your opinions on the more recent ban decisions may be, ETF2L unbanned BeaVerN in 2011 after a new set of Anti-Cheat admins re-opened an investigation into the case. They believed the evidence was insufficient and did not prove with any certainty that he was in fact cheating. After that case, actions were taken in an effort to minimize the likelihood of reaching an incorrect cheating ban verdict again for all future cases. If you want to read up on the staff response at the time you can find it here.
In order to understand what exactly happened and what changed after that event in 2011, we need to take a short look at the history of how the admin staff of ETF2L operated. Due to it being more than ten years since then, some things cannot be recounted with 100% accuracy, but the general progression seems clear.
Originally, even though ETF2L had cheating reports dedicated to Anti-Cheat Admins, some League Admins could see Anti-Cheat cases and respond in them, or at least this was the case with BeaVerN. In 2011 there already were some opinions on how to do good Anti-Cheat case work theoretically, but an issue specific to the BeaVerN case was that the people who were leading the accusation against him cheating barely documented the evidence and their review process, or even actively tried to interfere in a re-review being done on the case because they were evidently biased. League Admins decided to make a decision based on the limited analysis they received from the few Anti-Cheat members who looked at the case. Questions were raised if there were even enough active Anti-Cheat members involved and if you can make a valuable ban decision based on what was stated in the case.
Due to this, a policy was implemented on making neutral and objective statements when collecting and documenting evidence and we strictly enforce it in every single case. Over time, people voluntarily abstained from even reviewing a player at all if there was even the slightest chance that they could be accused of being biased (teammate, player in the same division, good friends, bad personal experiences in the past, etc.). Should members make statements that are clearly lacking in objectivity they would be reprimanded, as their comments could be poisoning the well for the other staff members who might have to disregard evidence, putting the case on ice for some time.
After the unban, ETF2L admin tasks were split into Anti-Cheat and League-related tasks with different forums for each, and access to League Admin and Anti-Cheat Admin forums became mutually exclusive except for the Head Admins. In addition to this, ETF2L now tries to ensure that there always is a certain amount of Anti-Cheat staff members on the team. All case verdicts are made via a majority vote and no single admin can make a ban decision all by themself.
For future admin applications, admins would now look for different types of skills that would fit either League tasks or Anti-Cheat tasks. At this point in time the players who were recruited mostly had high-level season experience. Some time after several more skills and requirements for Anti-Cheat applicants were included as a foundation of opening up the position to players with other beneficial skills and knowledge while still having high requirements on accepting applications.
Before being offered a trial period, all chosen applicants now receive a handful of demos to analyse on their own and are asked to send a review containing their documentation of evidence and their verdicts on each case. This was another big step in selecting qualified Anti-Cheat trials as it gives us a better representation of the skills they actually have, while also showing us what areas they might still have to improve in.
One last thing to bring up is that we have also unbanned NiCO god's hand after he was able to prove that he could execute certain in-game actions without the use of a script. Script abuse cases are different from cheating cases in a way that it is easy to prove whether a script was used or not by player co-operation. To quote:
“We’d like to make it clear that this ban was appealed only because of the specifics of the script rule (if it is possible to prove that something is achievable without a script) and the cooperative attitude of the banned player. Most bans issued by our staff (e.g. for using cheats) are not subject to appeal.”
“Why is there no appeal system for convicted cheaters? It was mentioned in an old news post!”
That news post, which concerns the unbanning of BeaVerN in 2011, does include a line that the ETF2L Anti-Cheat team “will have a policy that allows appeals for future and past cases”. However, none of the admins who were in staff during that time are still part of ETF2L today. After BeaverN’s unban, changes were made to how the Anti-Cheat team works on cases (read above). These policies helped create a system that ensures that players are not banned on a whim or based on flimsy evidence. Bans only happen after a thorough process of review, especially in high-profile cases.
While you could appeal script bans by proving that you can perform the actions manually in-game and you could perhaps even prove that you are not cheating right now via streaming, LAN participation and so on, it does not mean that you have not cheated in the past.
In addition to that, the choice of not going down the appeal route after 2011 was made by the succeeding admin teams, and following a recent extensive internal discussion we currently do not see any reason to provide an appeal system for cheating bans in the foreseeable future. We are aware that some people in our community would greatly appreciate if convicted cheaters were given a second chance – and the decision against an appeal system does not imply no one ever will be. However, our current procedures do not indicate any risk of mistakenly banning innocent players due to best practice policies not being complied with. Head Admins and the Anti-Cheat team will attempt to protect the level of quality that has been achieved over the years and that it will be maintained by those following in their steps.
“How do you make sure that personal biases don’t affect a ban decision?”
Like mentioned previously, if an admin is personally involved with the suspect in any way, for example by being rostered in the same team, being in the same division in an active season, or if they are friends or had some sort of personal falling-out with each other recently, they are told to stay out of any case discussion and they may not vote on a player.
“How can we know bans are trustworthy if some of the admins might not have played at a high skill level themselves?”
A player’s competitive skill level does not necessarily correlate with their understanding of Anti-Cheat work. While a player at the highest level will likely have more gamesense than a player who is playing in a lower division, that does not guarantee that they can also use that knowledge to analyse demos better than a lower level player.
Trustworthy and skilled Anti-Cheat applicants are already hard to come by, limiting it to Premiership-level players will only worsen the situation whenever staff members leave and we need to recruit new blood, causing bigger backlogs of Anti-Cheat cases. We are careful with who we pick as a trial and our trial test as well as the following trial period gives us a good overview of a person’s capability of reviewing evidence. Players who easily jump to conclusions, have a weak understanding of the game, or show other signs of untrustworthiness are filtered out early and will not make it very far within our system.
“Anti-Cheat case evidence should be public so that we can form our own opinions.”
Sharing evidence will let the cheater know what exactly they got banned for, giving them the ability to hide non-legit play the next time. It will also show other cheaters how to hide their own cheats better. Generally Anti-Cheat teams almost never share their evidence so this strict policy is not limited to ETF2L only. Other TF2 leagues do not share evidence. Valve will also not state which program or software led to the ban from their Valve Anti-Cheat System (VAC): “We have detailed records for each VAC ban, however, releasing this information would only benefit cheat developers.”
Some of the evidence requires a more technical understanding of the game and might not be obvious to the average player which could create confusion; explaining the thought process or details behind the evidence leads to the formerly written point that cheaters will learn and adapt.
We cannot repeat this enough: cheaters would definitely adapt if they knew what evidence led to the ban and where exactly we found it! Especially in cases which did not revolve around a player rage-hacking in a scrim or wherever.
“How has the decision to implement permanent bans improved ETF2L so far?”
It has only been about three months since we started permanently banning players who have cheated more than once and so far it seems like it was the correct decision. Multiple bad actors have been removed from our community already.
We would like to state however to those players who have received a cheating or TF2 VAC ban that we have a zero-tolerance-policy on ban evasion and any players with active cheating bans attempting to evade their ban will be met with a permanent ban. Anyone who knowingly supports permanently banned players, for example by rostering known alternate accounts or playing in the same team, will receive harsh punishments.
“Why does it sometimes take a long time for a cheater to get banned?”
The Anti-Cheat team’s work could best be described as trying to slay a Hydra by cutting one of its heads off – you resolve one report, two new ones pop up. Over time this creates a backlog of cases, and depending on how much input a case needs the longer it will remain in that backlog.
To answer the question, it depends on multiple factors. Sometimes it is a matter of staff activity. This is a volunteer job and real life commitments take priority over game issues.
Other times the evidence might not be conclusive enough. As we want a solid case for every player it can take weeks or months to gather enough evidence, properly discuss it and vote on it.
Recruiting more members is not always the answer, as ‘quantity does not equal quality’ applies to Anti-Cheat work too. A core group of four to six active, neutral admins is enough. The more people on staff, the higher the threshold of reaching a majority vote as well, which would delay bans further.
“I posted obvious evidence on a public forum / Discord and so many people agree with me, why are you still taking so long to ban?”
We have had cases before where players publicly accused another player of cheating and then complained how nothing has been done about them yet. It turns out that the player was never reported to us, maybe because they thought that others would have done so already? If we do not receive player reports it is unlikely we will know about the suspect, so make sure to actually report suspicious players to us.
Or perhaps the evidence is not as clear-cut as you think. We are thorough in our case work, if there are too many doubts we will need to investigate further. Public witchhunts can also affect staff thinking, however small the effect. This can add days or weeks for us to stand back from an investigation to ensure neutrality. The only thing you will achieve by posting cheating accusations publicly is:
In short: You must not tell the player that they have been reported, and you must not post about it publicly!
“Then what is the best way to report a player and help the Anti-Cheat team?”
You think you saw a player cheating or otherwise being suspicious in the game? If this took place during a scrim or official try to obtain the STV demo(s) and/or request POV demos of the player. If it happened on a casual or community server and you have reason to believe the player is the main or alternate account of a competitive player, record a POV demo that depicts the suspect’s actions, record the screen, take a status screenshot or whatever else you can do to obtain evidence of the player cheating and their identity.
Review the evidence alone or with your teammates and make note of any suspicious demo ticks. Empty reports that only include a player profile, a demos.tf link and a reason that only states ‘player was suspicious’ are not very helpful to us.
Now, if you want to report a player for cheating or for being an alternate account, please open an Anti-Cheat request on the ETF2L Discord (#admin_requests). Do not report players to the Anti-Cheat staff in private chats unless there is a specific reason that demands such a report. In such cases it is best to contact the Head (Anti-Cheat) Admins.
If you are reporting as a group, please coordinate and have a single person open a request to avoid mass reports. Once you have made a request, follow the instructions given to you. Do not expect to receive a ‘result’ message as we will not personally update you on the investigation.
Do not post your suspicions on public forums or chats and do not tell the player that they were reported. Try not to mention anything in the game chat as well.
We know this entire thing might be quite a touchy subject for some of you. We can only state again that we are very careful with our work, but we are only humans with real life obligations in the end. If there are any open questions or feedback we would like to read it. We will continue to uphold our high standards and try our best to remove the cheaters in our league.