Battlelog Hacks


As a long-time player of PC FPS (First Person Shooter) games, I got really excited when Battlefield 3 was announced. I’ve played most of the Battlefield games since the original (Battlefield 1942) and I couldn’t wait to get my hands on the latest game in the series.

I’m not going to spend any time talking about the game, other than that it’s amazing. It’s not perfect, but games seldom are the week they’re released. Either way, I love it.

The thing is, EA did something a little different this time around. Instead of attempting to create an entire social experience in-game—Remember Tribes 2? Ouch—they contracted ESN to create a web-based server brower / social network called Battlelog.

While Battlelog is a fantastic idea, it has a few issues. I can’t address the fact that ESN has included jQuery 1.4.2, jQuery 1.4.4 and YUI 2.5.2 in their concatenated scripts. Nobody can fix that but them. Note: shame on them.

What I can do (and have done) is attempt to address some of the minor annoying issues surrounding refreshing and joining servers.

What is Battlelog Hacks?

Battlelog Hacks is a fairly comprehensive userscript that hooks into some Battlelog functionality to augment it in useful ways. It might work in other browsers, but it’s only been tested in Chrome, so YMMV.

What does it do?

  • Auto-retries server join so you don’t have to spam the button. To cancel auto-retry, click the “Close” button in the Game Manager error popup.
  • Remembers and auto-re-applies server browser sorting preference.
  • Prevents the server browser from scrolling to the top of the page on refresh.

What might it do in the future?

  • Possibly other stuff related to server browsing / joining.

How do I use it?

Head over to the Battlelog Hacks GitHub page, RTFM, and try it out. And pray that ESN fixes these issues internally, rendering this script obsolete.

And for what it’s worth, I’ve spent a LOT of time in the WebKit inspector, setting breakpoints, monkey-patching methods, tracing through call stacks, etc. I’ve seen things done in JavaScript that have made my head spin and are going to keep me up at night for years to come. If this script makes your life easier, I’d appreciate a modest donation. It’ll help pay for the therapist I’m going to need.

As usual, if you have any suggestions, let me know in the comments.

Post A Comment

  • Any of these HTML tags may be used for style: a, b, i, br, p, strong, em, pre, code.
  • Multi-line JavaScript code should be wrapped in <pre class="brush:js"></pre>
    (supported syntax highlighting brushes: js, css, php, plain, bash, ruby, html, xml)
  • Use &lt; instead of < and &gt; instead of > in the examples themselves.