This is how you play the game...
 

SWBF2 Anti-Cheat Software

This page expands on theSWBF2 Anti-Cheat software mentioned on the SWBF2 History page.

More on the entire history of GWL can be found on our GWL History page.


Global Warfighter League - MyGWL.com - Header 11 SWBFExhausted Competition Mod Avenues

MyGWL.com - Launcher IconAfter exhausting the avenue of trying to create a competition mod for the SWBF2 we had few options. This left an anti-cheat software solution that we would create ourselves. Global Warfighter League, being the only website supporting SWBF2 (Classic) competitively, took up this challenge.

[SL]Sprite and [SL]Feanorgem took the lead here. We approached one of the SWBF2 Classic hackers. We knew who these people were because the SWBF2stats.net underground admin network identified many of them. We asked the “hacker” for help identifying the problems with the game. The individual we approached was more than helpful and remorseful. As he put it, “I was only having fun, and never intended to ruin a community”.

We needed a new website section for GWL to handle this. [SL]Sprite handled the website end that coordinated anti-cheat software with the website for online matches, while [SL]Feanorgem coordinated with the reformed “hacker” to identify online issues and Lucas Arts developers (as we kept them in the loop per their game’s Terms of Service). Feanorgem was also the only one that was a part of GWL SWBF2 (Classic) staff at the time that understood the “C+” language and the compiling and structure needed to construct an anti-cheat for the game.

How Our Anti-Cheat Worked

MyGWL.com - Game ServersWe tried to model this new anti-cheat after “PunkBuster” used for other online multiplayer games like COD. There were a couple of websites that received information from the Punkbuster API, and we thought this anti-cheat model would be a good idea for our own competitive SWBF2 community.

We had several versions of the anti-cheat for the SWBF2 (Classic) game and a beta group from community players to test functionality was set up. Essentially our anti-cheat checked to see if you had modified files for the game. This was NOT a check to see if you had a mod installed for the game. After all, we had several approved mods for competition. At the time, installing a mod for the SWBF2 (Classic) meant adding mod files into the games “Addon” folder. This was not checked by our program.

We were verifying that originally installed SWBF2 Game Files were not modified. If they weren’t modified, then you were good to go and got a “Pass”. If the files were modified, the player was then flagged as a “Fail” status and was not allowed to play the GWL competitive match by our SWBF2 competition rules. Players could negotiate to play anyway if they wanted. The reason for this was because some legit mods were modifying the game files and some players trusted each other to play anyway. Keeping a “CLEAN” version of the game without mods was a lot to ask some players, including SWBF2 admin staff.

Future versions of the anti-cheat software included a check on the computer’s processes to check if the player wasn’t running two separate processes of the game. Someone had figured out that you could run a version of the game for our anti-cheat check but in fact was actually playing on a modified game for the competitive match. Essentially running two versions of the SWBF2 (Classic) game at the same time and in effect fooling our anti-cheat. We had to check for this. Ctrl Alt Delete to task manager and you’d see two games running in the processes.

MyGWL.com - Kamino ConsoleWe also introduced a feature to the anti-cheat that logged a person’s MAC address. We introduced this because a problem emerged for us that some SWBF2 players were playing competitive matches as other players (with that other player’s consent) but we also had to check for hack software that specifically looked for our GWL anti-cheat and bypassed it’s functionality. Not to mention, ways of inserting your own installation keyhash were emerging (to impersonate other players) and we had to search for these hacking processes as well.

We were not an anti-cheat software provider for the SWBF2 (Classic) game for just anyone or EVERYONE playing the game online. The program was ONLY for players using our GWL website competitive ranking and matches. The anti-cheat program eventually became mandatory to use if you wanted to participate in a GWL SWBF2 (Classic) competitive match, tournament, or event (as voted on by the community). The software established a connection between the user and our website. It gave information of the server you were playing on, who was there and gave a response as to whether the user passed the criteria or not (Pass or Fail).

It’s very important to note, this software was never meant to be installed on a computer. It was only meant to run during a GWL SWBF2 competitive match. There were no installation files or permanent file structure left on the users computer. This program was entirely portable and ran as a “.exe” on the player’s PC. It was a program that the SWBF2 Player ran just before they started their SWBF2 (Classic) game and then stopped running via a “Stop” button on the anti-cheat GUI after the match. If our program was flagged as POTENTIAL “adware”, “malware”, “virus”, etc., the player was directed to allow. We were not doing anything beyond what’s explained here.

The anti-cheat software was a stand alone “.exe” file that was checking windows processes and was making an online connection to send player status as determined by our software. This kind of behavior is sometimes flagged as a malicious file or virus. However, this was not a malicious file and anyone who ran the file was greeted with a message that explained everything the file was doing.

Anyone who downloaded the file was informed what it was doing and our community was well aware as we were actively getting the community involved for features and functionality. This was not something sprung on the community as “Now you have to use this to compete in SWBF2” without the whole community involved in voting on the idea. The player “allowed” the software to run because they trusted us while believing the reasons for running it… not to mention wanting to compete at GWL with SWBF2 with a clean version of the game.

Lucas Arts

MyGWL.com - Lucas Arts LogoAs mentioned, we had a few versions of this software. All versions of our software were shared with Lucas Arts as we were actively keeping the Lucas Arts (LA) developers (after Pandemic) informed of our progress and usage with the software. Not only because of the LA Terms of usage for the SWBF2 (Classic) game but also because LA were genuinely interested in what we were doing. It’s important to note that Lucas Arts never publicly approved or disapproved of our anti-cheat for the SWBF2 (Classic) game. They couldn’t officially do that.

Lucas Arts NEVER contributed or worked with us in developing this software. However, Lucas Arts was kept in the loop regarding development and they were given copies of ALL versions of the anti-cheat we had developed. Our GWL SWBF2 (Classic) community was also informed of this.

While we couldn’t say Lucas Arts were giving an official thumbs up approval of the anti-cheat, GWL could say Lucas Arts were being informed and given copies of the software and were aware of what we were doing. They could have sent a Cease and Desist at any time and ESPECIALLY after we offered the software for download. Lucas Arts indicated they couldn’t directly endorse the program but they wouldn’t raise an issue either.

Beta Testers

When we had final versions, we had gotten some volunteers as beta testers that would test and run this anti-cheat for compatibility and online connections for different setups. There were several setups for the SWBF2 (Classic) game and we needed to ensure compatibility for all setups, operating systems, and regions.

Initially this worked well,  but eventually there were problems with our beta group. We had several groups and we were always up front with what our software was doing and why. We went through several members of this beta group because we needed them available at certain times and not everyone was available at these times. This amounted to some extensive churn of testers.

MyGWL.com - Competition Mod LogoThis worked well for a few months. Competition was being kept secure and the community was generally happy there was a working system to keep things secure for competitive events. There was no real issues with the anti-cheat. We had setup a public website where users could download the anti-cheat and check status of matches if the software was run.

It wasn’t long before the Beta testers starting asking development questions. Questions that normal testers wouldn’t ask that indicated to us that they knew much more about the SWBF2 game than they were letting on. Some testers wanted to know specific coding methods that caused flags for the software. We always told them what the software was doing and why. However, we refused to tip our hand to the coding methods. These were our first flags that we had problem players in our beta tester group.

Problems Arose Within the GWL SWBF2 Community

At one of the last testing sessions, the software had been looking at windows processes operating on the machine and identified one of the users using a voice changer. We also identified a player using two versions of SWBF2 at the same time. We could see these in the windows processes. As soon as we started questioning these players as to what was going on, we started getting backlash.

Shortly after this, someone had started to reverse engineer our beta version of the anti-cheat and discovered that we were checking the user’s MAC address in the new beta version. We were checking this because we needed to know if players were playing as other players. This isn’t a definitive way of determining this because players can be on different machines and even different installations, but a player’s MAC address wouldn’t match another player’s known MAC address and that was the direction we were heading.

MyGWL.com - Endor Beta TesterThis feature was NEVER part of the official public releases. It was being experimented with in the beta versions to see if it would be feasible. This is something that PunkBuster and affiliated sites already did and as mentioned, we were using them as a model for what we were trying to do with regards to setting up an API for the SWBF2 (Classic) game. We also thought we had trusted beta testers who would honor their commitment of confidentiality within the beta program.

Immediately one of the Beta Testers posted we were looking at Windows processes. Our community didn’t care because we had been upfront with this. Not getting the reaction they had hoped, a couple people started posting at other SWBF2 communities that we were distributing SpyWare with our anti-cheat software. There were also people that were competing at GWL being called out for cheating and legit players refused to play with them unless they ran the GWL Anti-cheat creating more bad vibes.

Malicious SWBF2 players

We knew immediately it was the person who was using a voice changer in the beta group and the person running two games posting this stuff along with their friends. We also knew the person running two versions of the game was in the beta group checking to see if we would catch him. About this time, someone posted we were checking for MAC address’ in the new Beta version. Even though we never released this version publicly for competition. A few in our own community started raising concerns publicly over this.

We immediately removed this feature and released the new version of the anti-cheat without it. We always welcomed conversation on the topic of our anti-cheat. We didn’t even know if checking for the MAC address was going to be a feasible feature moving forward because we never finished the testing. We explained to our community that many anti-cheat programs checked the MAC address, including PunkBuster. The response from the trouble makers was that GWL is not PunkBuster.

MyGWL.com - Space ConsoleWe weren’t storing any personal information. When a person clicked “Stop”, all information was deleted immediately except for the “pass” and “fail” flag indicator stored on the website with reasons for a fail. We weren’t storing processes. We were checking against a known list of files and duplicate processes. We weren’t storing MAC address’ either (like other anti-cheats were doing). This feature was never implemented publicly.

Today you can’t even log into many websites without the website knowing you’re on a different device without being questioned and making you log in again. Essentially this was what we were doing in the beta version of the anti-cheat.

The complaints were flooding in now from people who thought we were distributing malware who weren’t even part of our GWL community. It was obvious that we were dealing with a coordinated effort to discredit us.

Our answer was that the feature is not active and never was in the official release. You don’t have to download the software and you don’t have to compete here at GWL. Unfortunately it was increasingly becoming a problem. The community was dividing up into those who would only use the anti-cheat and those who didn’t want to use it at all.

Not to mention there were SWBF2 mod files being released that weren’t just deposited into the “Addon” folder. They were changing the actual game files. This wasn’t to cheat in the game. It was only to give the player a different experience. We tested these mods and these files were flagging the SWBF2 Anti-Cheat software. This meant that if players wanted to play legitimately, they would have to uninstall these files and sometimes do a totally new installation of the SWBF2 game just to compete on our ladders and in our tournaments.

Splitting the Competition

MyGWL.com - Tantive ConsolesWe gave players the option to negotiate in matchcoms whether they wanted to run the anti-cheat for their SWBF2 match. We figured, you either trust the other player or you don’t. This worked initially until you have people on the ladders who wouldn’t compete without the anti-cheat holding a position that someone wanted but whom wasn’t going to run the anti-cheat or vice versa.

We started getting players that wanted separate competitive ladders for those that didn’t want to run the anti-cheat (so running it wasn’t required). We created these ladders. This effectively gave us two ladder systems dividing the community which brought activity for the whole game down because there was no budging by either side.

Once the ladders were split among those that wanted to run the anti-cheat and those that didn’t, there was a decline in players and activity for the game here at GWL. We on staff knew it was coming. Ladders that had no activity were archived and eventually they were all archived. A sad day here for us.


More on the history of the SWBF2 Classic game can be found on the SWBF2 History Page.

More on the history of Global Warfighter League can be found on the GWL History Page.

SWBF2 Classic (2005) at GWL