Since I keep getting messages from every direction about this, I figured I’d make a post.

Jagex has bought Ace of Spades and has shut down their master server. Spadille 1.5.1 (latest public release) used their master server and is therefor broken.

I will be updating this when I get the chance.

I will also likely be making a post regarding Ace of Spades 1.0, Jagex, and all that jazz.

For the time being, please visit our alternative community Build and Shoot. I have reverse-engineered the master server protocol and created a new one, along with creating a new, open-source game server called PySnip Google Code. We have a serverlist set up [here(http://www.buildandshoot.com/serverlist)here, where you can join servers just as you always have.

Visual Studio’s WinForm designer is outstanding in many ways. But recently I’ve found myself in a bit of a situation when using the designer along with an ImageList.

Upon trying to compile, I received an error stating “Error 322 Could not load file or assembly ‘<referenced assembly here>’ or one of its dependencies. An attempt was made to load a program with an incorrect format. Line 283, position 5. WinForm.resx 283”. This lead me to viewing the resource file for the WinForm I was working. More specifically, it was showing me the ImageStream (base64 encoded) for the ImageList.

Here are a few notes regarding my situation that might be relevant:

  • Using Visual Studio 2010 targeting .NET 2.0
  • Occurs using both Debug and Release modes
  • Solution platform - x86
  • Running Windows 7 Home Premium 64-bit
  • ImageList contains 5 16x16 PNG images with 32bit Bit Depth
  • The assembly it’s supposedly failing to load is a class library I have created which has no referenced resources (at least not externally)

Some quick Googling lead me to a Microsoft Connect [bug report(https://connect.microsoft.com/VisualStudio/feedback/details/532584/error-when-compiling-resx-file-seems-related-to-beta2-bug-5252020] where the issue was supposedly resolved…..in early 2011. Some users have found some hacky workarounds involving modifying the ImageStream, but that wasn’t the case for me. I eventually landed on a blog post with a few possible workarounds with the first one being the easiest (in my situation, at least). All I had to do was change the referenced assembly from x86 to AnyCPU. It seemed to have done the trick and I haven’t had any problems since. Hopefully this bug will actually be fixed/released by Microsoft, seeing as none of the workarounds are universally ideal for lots of project types.

Over a span of the last 2-3 months, I’ve had the joy of dealing with one of the most controversial anti-cheat softwares to date - Punkbuster.

I had bought Battlefield 3 (or rather my girlfriend bought it for me) when it first came out. Actually, before then. I got the pre-order version which included “Back To Karkand”. Around the same time I had build a new PC to help cope with the demand of the game (plus I was overdue for an upgrade).

For the next few months, I had a blast. I even ranked up to a Colonel Service Star 16 (Rank 61). Needless to say a lot of time was put into ranking up. You can view my battlelog profile here. All was good.

The “What the Hell”

One night (January 20th) I was playing on a server called ”Noobs Hiding In The Bush - [HAI]”. After a few minutes I suddenly saw a message saying “Syntack banned for gamehack”. Immediately I was booted from the game and greeted with a Punkbuster message on the battlelog page saying I was banned for 20 minutes. I was confused, but figured it was by mistake and decided to wait it out. Soon afterwards I tried to rejoin and was immediately given the same message with a longer ban duration. Soon afterwards I started getting a mixture of error messages from any server I would try to join including  ”Something went wrong (NaN NaN)”.

I figured the logical thing to do would be to post on the forums and see if anybody had any insight. I should’ve figured I had high expectations and didn’t realize everybody would immediately assume I was a hacker trying to wiggle my way out of a ban. Despite some of the responses being completely asinine, I must say I laughed at a few of them:

No spread, reduced recoil, infinite hold breath, red triangles without spotting - nice. Appeal probably won't work here ;)

After viewing your battle reports, you got busted, son. All of your recent reports are completely inconsistent with your overall stats. You suddenly became about a 300% better player. Don't let the flag pole hit you in the butt on the way down.

ENJOY YOUR BAN LOL.

The only real useful response was one containing a link to my PBBans ban report with the ever-so-helpful violation description of “VIOLATION (GAMEHACK) 89241”. Looking at the description for the violation returns the following: #80000s - Gamehack. Very descriptive.

During the time that all of this was occuring, there was a lot of drama surrounding PunkBuster and PBBans involving innocent players being banned. This wasn’t the first time PunkBuster had been exploited either. With GUID spoofing and a code signature scanning proof of concept</a>. I figured there was a good chance that I was one of the many who were caught up in the mess.

The Appeal

Having never dealt with punkbuster/pbbans before, I wasn’t sure where to appeal first.

After reading the appeal documentation, I decided to contact Even Balance (the company behind PunkBuster). After a few days of slow message exchanges, I was finally told “We do not find this violation to be triggered in error, and it will not be removed. It is at the discretion of the third-party ban list administrator to remove any ban given as a result of this violation.”. Time to go back to PBBans.

I went back to my PBBans ban report and filled out the appeal form. After a few days I was a bit peeved to find that my appeal was flat out denied. No insight. No explanation. Nothing. After that point, I gave up for a while.

Return to PBBans

Finally on March 21st, I decided it had been long enough since my last appeal attempt. I had learned that a webform based communication wouldn’t suffice, so I decided to try the #pbbans IRC channel on Quakenet. I requested to speak in private to a PBBans admin and one (who goes by the handle “HSMagnet”) accepted. I explained my situation and expresses some of my thoughts regarding how Even Balance handled the situation. Surprisingly, it seems PBBans admins don’t know any more than I do when it comes to what triggered a particular violation. He told me to try opening up another ticket through Even Balance and if the violation was found to be triggered in error, they would lift it.  I did just that.

Again my wishful thinking got the best of me and no further insight would be shed regarding my “violation” even after pushing for something as simply as stating whether it was a disk file or running process that triggered the violation.

I relayed the message back to HSMagnet and was told it would not be lifted and that I had two options:

  1. Play on servers that do not subscribe to the banlist
  2. Buying a new game

I’ve done option #1, it sucks. Servers are either entirely empty or riddled with aimbots. As for option #2, I would prefer to not have to redo all of my progress. So I questioned buying a new game while being able to keep my stats. His response was that EA should be able to manage that - depending on the support person I get ahold of. It’s a possible option, but only if I would be able to keep my progress. There are still two problems with this. The first being that I shouldn’t have to pay for a game which was already paid for. The second being that I’m not even sure what I was originally banned for, so who’s to say that it won’t just happen again?

Conclusion/TL;DR

I personally have to deal with ban appeals daily within the forumsAce of Spades</a> community pertaining to the  as well as the global blacklist</a> that I operate. Obviously the forums are a bit easier to manage due to it being a bit more structured, plus quick access to evidence for the initial banning. As for the global blacklist, it’s managed by trusted server admins. Bans are issued for those who have been caught in-game, by said administrator(s). Sure there are the cliché appeals including “my brother was the one cheating”, but if I’ve learned anything from this, it’s to give the user a fair shot. If they are persistent, their story is consistent, and they seem to be telling the truth, use your own judgement. Don’t just rely on some sort of software or a possible human error.

I can understand Even Balance keeping some things in secret. But telling somebody what triggered the violation does not seem like very sensitive information (or at the very least, whether it was a disk file or a running process). If somebody was cheating, I’m sure they’re aware of what triggered the violation.

The only sense of rationalism during this whole process was talking to the admin one on one. I think that speaks a lot for itself. Hopefully over time, users will be given the benefit of the doubt at the discretion of the admin, rather than snuffing them out by relying entirely on Evan Balance’s seemingly holy word.

Another thing that still peaks my curioustiy, is why a third-party banlist (such as PBBans) exists in the first place? Don’t get me wrong, I understand the concept behind it. But I mean why doesn’t Even Balance host a federated banlist themselves if third-party associates are going to value their word over the user in the end anyway? I was really hoping talking to a person one on one (and discussing any updates with that same person) would help me bypass some of these roadblocks that many users seem to face, but it seems my attempts were futile.

DICE (the creators of Battlefield 3) seem to be looking for an anti-cheat developer. Who could blame them for all of the drama surrounding third-party anti-cheat tools like PunkBuster?  A native implementation should prove to be a lot more reliable rather than outsourcing it to outdated/easily exploited solutions. More information regarding the DICE job opening here.

Just some advice to server administrators, banlist administrators, PunkBuster officials, and more:

  • Don’t rely on a system that has a smeared track record.
  • Don’t rely on a fully-automated “you’re caught-you’re banned” system.
  • Don’t rely on the honesty and integrity of server admins - or at least not as much as you do currently. Human error is prone, humans can have malicious intent.
  • Look into false positive reports.
  • Stop treating players as some sort of criminals. No software is 100% reliable just as no human is.

Innocent players are constantly banned while there are obvious cheaters running rampent in public, PunkBuster-enabled servers.

No system is perfect, but no user should have to deal with a system as broken as this.

/rant