HaxBall News Play About Community Flash

HaxBall News

Update: HTML5 no longer Alpha

May 15, 2018

HTML5 version of HaxBall is now default HaxBall and drops the alpha tag.

Flash version is now in http://www.haxball.com/flash/, it will probably remain up until chrome no longer supports flash.

HTML5 Update: Headless Host

May 12, 2018

The html5 version of haxball does a lot of things that are unnecesary when trying to host on a VPS (rendering, audio, GUI / menus).

To improve this situation I’ve implemented a “headless” version which does no rendering audio or GUI and is controllable through a javascript API.

Read the documentation here.

Also, starting today creating a room will require passing a recaptcha test.


HTML5 Update: Replays

Dec 29, 2017


  • Replay recording and playing.
  • Some bugfixes.

Because these new replay files are incompatible with the ones created with the flash version the extension has changed to “.hbr2”.

There’s currently no way to link directly to a replay file, I’ll implement that feature soon. For now the only way to load a replay is from the room list “Replays” button.

I wish you all a happy new year!

HTML5 Update:

Nov 24, 2017


  • Implemented custom team colors.
  • Implemented setting to locally disable custom team colors.
  • Implemented /colors /set_password /clear_password /checksum and /handicap commands
  • Made custom stadiums names appear as yellow text in the room menu.
  • Non player chat messages in the chat log are now a different color.
  • Added log messages for most admin actions. They all say which admin produced the action.
  • Fixed bug were some custom stadiums had their background broken.
  • Fixed bug where transparent discs would only work for the player that loads the custom stadium.
HTML5 Update:

Nov 15, 2017


  • Implemented a new “maxViewWidth” custom stadium property, this property allows custom stadium authors to specify the maximum width players should be able to see regardless of their viewport size. This should be useful for stadiums where having a bigger viewport than other players provides you with too much advantage.
  • Implemented crowd cheers sounds.
  • Implemented Settings menu.
  • Implemented settings to mute all game sounds, chat sounds and crowd cheer sounds.
  • Implemented country selection setting.
  • Implemented FPS limit setting.
  • Renderer optimizations
  • Fixed bug where players would desynchronize when they join a room.
  • Fixed player discs rendering on top of other stadium discs, this was breaking some maps that relied on on players being able to hide behind other discs.
  • Fixed a bunch of smaller bugs and memory leaks.
HTML5 Update:

Nov 2, 2017


  • Implemented /avatar and /clear_avatar commands
  • Implemented restricted view size mode (selected with Number 4 for now)
  • The game will now remember your prefered viewmode/zoom level.
  • The game will now automatically try reverse connection if forward connection fails, this should fix improve the connection success chance for a number of people. (This is related to the reverse_setting that was available already, it will try using that setting automatically now)
  • Implemented a shorter timeout for players that have disconnected but didn’t properly leave the room. It’s 30 seconds now.
  • Fixed bug where players would become invisble and unable to move when starting a game.
  • A bunch of other smaller bug fixes.
HTML5 update:

Oct 27, 2017


  • Implemented arrows pointing to players outside of the view.
  • Probably fixed the bug that causes the host to randomly kick players with “bad actor” as reason. (It is hard to reproduce so I’m not 100% certain, I’ll be keeping an eye out for it to see that it is truly fixed.)
  • Disabled gamepad input support for now. It was causing problems to players that had been playing with gamepad using key mapping software.
  • Default player name is now empty, forcing players to actually pick a nick.
  • Default value for max players changed to 12.

More updates to come soon.

HTML5 HaxBall is here!

Oct 25, 2017

Give it a try html5.haxball.com

Found something wrong with it? Dont panic! This is an alpha version, it’s bound to have bugs and lack features. My top priority is reaching feature parity with the flash version and new features may come after that. If you find a bug please report it here.

The flash version and html5 versions will coexist until feature parity is reached.

Screen/Viewport size

One notable difference with flash version of haxball is the bigger use of the screen. This is something I always wanted to do, but since flash was not hardware accelerated it wasn’t possible to do it at a reasonable framerate.

However, a bigger viewport can make the game look really tiny (specially if your screen is 1080p or above). For this reason I’ve added camera-zoom feature. You can change between 3 different zoom levels using number keys 1 to 3.

Some people have expressed to me that they would rather have the restricted viewport size that the flash version had, this is something I’m considering as an option. If this matters to you too let me know.


The netplay works very similarly to the flash version but uses WebRTC instead of RTMFP.

If you have issues connecting to room hosts but were able to do it in the flash version you should report it here.

You will notice ping will be a bit lower than usual, this is mainly because in flash network events were handled 60 frames per second while in html5 the events are handled immediately and independent of the screen refresh rate. This meant that flash could add about 32msec of latency depending on how close to the frame updates the network packets would arrive.

Another nice improvement is that the game will no longer lag if the host changes tabs. (flash would lower it’s frame rate and thus handle network events even less frequently)

HTML5 HaxBall update coming soon

Oct 15, 2017

Ive been working on it for a long time and it’s very close to being ready.

I’ve been silent in this blog about it since I wasn’t particularily sure I’d be able to finish it and I wouldn’t like to announce vaporware. However, I’m now pretty confident it’s gonna be released so here is the official teaser/announcement.

You can expect it to be released this year. (Hopefully november, but no hard promises)

Among other things will feature:

  • Unchanged physics, true to the flash version gameplay.
  • Improved but still user hosted peer to peer netplay using WebRTC.
  • Better use of the screen space, no longer constrained to a small window.
  • New bugs! Which will be fixed as they are reported.
  • Some missing features! Which will be implemented soon.
  • Survive Flash death. RIP :’(

Sadly only Firefox, Chrome and Chromium-based browsers fully support the technology needed (WebRTC). So HTML5 HaxBall will not work in Safari or Edge for now.

Update: Better room security

Feb 23, 2017

Changes: Improved player banning and implemented automatic banning of spammy users. These changes address the room DoS attacks that have been happening.

« Newer posts Older posts »