Back

Goodbye Blocksworld 2

I’m officially closing the BW2 servers, forever. This has been all throughout a great adventure for which I feel eternally grateful, for letting me learn while helping others and for growing this weird yet awesome community.

However, I’ve had ever less time recently to work on BW2, and even lower motivation for actually doing it when I can (especially when I seldom play video games now…). Some of you might have already noticed that the main website has been down for a couple of months now, mostly due to lack of maintenance, and that the server also shut down for the same reason.

If you’re not aware, today is bwapi’s 7th birthday (it’s a bit older than the GitHub repository). So.. Happy birthday BW2 ! I think it’s a good time to weave a small retrospective on the last few years.

Consequences

  • The server shuts down. You can’t play Blocksworld online anymore unless someone spins up a new server (the code is still open-source!) or maybe creates an entirely different alternative to Blocksworld
  • The discord server is independent, it might stay up atleast so people can share their creations. This will depend on the admins and moderators.
  • The BW2 website will die.

NEW! An archive of the server data is available for download:

First Year (2019)

The year is 2019. Linden Lab has showed signs of decaying support of Blocksworld and there were ominous signs (indeed) that the server would shut down, because the Steam version of the game, and the Steam version only stopped working. Being curious about servers in general, I decided to write some kind of prototype in NodeJS (it’s only temporary, right?) for a server that would reimplement Blocksworld’s API. This is the uncreatively named bwapi, or Blocksworld’s Secondary Server as I called it, or BW2 as most people said.1

At the same time, I was on a general Blocksworld Discord server run by you-know-who where I shared this project with someone called Salvitus. This quickly gained some steam and he proposed we create a Discord server specifically for BW2. That’s how the Blocksworld 2 Discord was born. Thanks to Salvitus promoting the server, it quickly grew to be dozens of us in this server.

As for BW2 in and of itself, it really was a barebones prototype: worlds didn’t save, models didn’t exist, and so on. This time predated the actual Git repository.

Second Year (2020)

This is the year BW2 truly started growing. Too much happened during that time. First, COVID happened. Lockdowns, quarantines and that kind of things. I think for most of us, it was either a period you deeply want to forget, or a time you absolutely cherish. No inbetween.

At this time multiple things happened:

  • To make BW2 work for everyone, I had to decompile Blocksworld’s source code, change the server URL, and recompile it. Fortunately, Unity makes it quite easy with all the code being in Assembly-CSharp.dll in an easily decompilable IR. This culminated in the Exdilin mod, which ended up having a bunch of other features (including the first modding support!). Mods had to be made in C# so I was the only one making them.
  • I started the bwsecondary.ddns.net website around the start of the year. The archived version is certainly worth a look. It really shows that I barely knew how to make a website (I’ve always been more of a back-end guy..).
    A cheesy-looking website showing the secondary server, with a dab in the background
  • It was also at this time that I started the forum. I had to manually deal with a lot of spam. It wouldn’t last long.
  • The original Blocksworld server shut down for everyone in June 2020.
  • Somewhere in July, I added support for Lua mods/scripting in Exdilin. This made mods popularity BLOW UP. Looking now on my personal website archive, near the end, there were more than a hundred mods, and all of them (except Exdilin and one mod I made) were coded in Lua
    Screenshot from a little later (2021) showing 67 mods total at the time
  • Earlier in the year, I also created the Blocksworld World Editor, a clumsy tool that allowed debugging Blocksworld worlds and moving worlds from an old save on Linden Lab’s now-defunct servers towards BW2.
  • In November, I finally created the Blocksworld Launcher, which allowed to eschew Steam for playing Blocksworld on PC. This was a few months after the game was delisted on Steam.
    As you may or may not know, Blocksworld got pulled of the Steam Store. However, due to how Blocksworld works, this also had catastrophic consequences: like literally having some people being unable to login (the login system relied on Steam). Expect a new account system to be used, with username and password, you will also be able to transfer your old Steam-connected profile to the new system when it will come. That will take a lot of time (around a week) as changing the whole account system is a huge task

    Making an authentication system is a 1 week task when you don’t care about any security practices

  • Things where I don’t know if it was a joke and I fell for it or if I was serious

Third Year (2021)

  • Dennisonung started hosting the server entirely free of charges (thanks again Dennis!!) 2, until then, it was running on my PC in my bedroom, which meant I was sleeping to the sweet sound of hard drive whrrrrs.

  • I updated the Blocksworld Launcher so that it could now install mods, download Blocksworld without Steam (previously it had to be downloaded manually), and preview worlds.

  • In April that year was also the time I started making BW2 compatible with iOS. The technical details are interesting: I created for that a DNS server which redirected https://blocksworld-api.lindenlab.com/ to https://bwsecondary.ddns.net:8080. Normally, this wouldn’t work because HTTPS uses certificates to ensure that it is talking to the correct server. But actually, Blocksworld on iOS ENTIRELY DISABLED certificate checks. So there was almost nothing to bypass!

  • This means BW2 was now on all the platforms that Blocksworld had been: Steam and iOS, and even more, on any PC even if it didn’t have Steam, thanks to the launcher.

  • I somehow tried to make an advertisement system by the players for the players ? They are funny to look back on…

Fourth Year (2022)

  • On the API server, I just did a lot of bug fixes this year. In fact, this is almost all I did. Almost all of Blocksworld features were already implemented (although poorly) and I had no reason to go and add more things. Hence I didn’t.
  • I also started a great change in the Blocksworld Launcher that was supposed to be update 1.2.0, but I haven’t got around to finish it… (even now!)

And So On..

My activity faltered from this point onwards. Most COVID measures stopped, life was going back to normal. And in the exit of this weird fever dream, my motivation for BW2 stopped. I progressively moved on…
As I write these words, it’s been a full year since I last maintened BW2, and maybe 3 years since I last added a meaningful feature.

At some point in time, there were signs that the game would be rebooted by a different company (Fortell Games), in fact, I planned to shut down BW2 the minute Fortell finished their reboot. That’s why I even shared their Kickstarter campaign on my website.

Check out the Kickstarter for the official Blocksworld REVIVAL!
But alas, it seems that it still hasn’t released. And yet I must move on at some point.

Blocksworld is dead, long live Blocksworld .

Appendix: Old Memories

Here’s the story of Blocksworld 2 as I and Salvitus told it a few years ago, unedited except for formatting (kids, don’t rely on Discord for keeping your images):


After Zen1th had left Blocksworld and then rebecame part of the community, he noticed the Steam version wasn’t working. So since he was a coder (starting in Blocksworld ;) he started modding Blocksworld and speaking about it on a discord server, that’s where he met Salvitus (call him Octoberisu so he gets angry) ((¬_¬)) who would become the first tester of BW secondary server.
Then he made the Exdilin mod, then he made the secondary server using magic NodeJS voodoo tricks.

And then he let Salvitus test it, it was very buggy, world saving didn’t work, Play tab was horrible, but it worked. Meeting Salvitus was a great thing, as he advertised it to other people :D
The server gained around 10 members, at this point the discord server was still only speaking about the secondary server, and you couldn’t post showcases on it. Then it had 30 members, 50 members, features piled on, the server became greater, 70 members, 100, 120, and today with 150 active members (+ 50 inactive ones). And now it’s great server.
When it reached around 50 members, something horrible happened: the unofficial Blocskworld discord server on which Zen1th met Salvitus banned him because ExtraCub became its owner.
From that point, the secondary server discord started adding new channels to replace the old unofficial Blocksworld discord server.
Long after that, that old server essentially died: people were speaking about poop, Blocksworld was unheard of, things worsened every day, as the activity of the members. And at some point, ExtraCub deleted that old discord server (correction by salvitus: actually it was turned into meme hell by S6Dew, correction by zen1th of the correction: and then it got deleted, S6Dew told me that) (oh ok)

TL;DR: So basically zen1th made mod and Salvitus helped him test haha and then BW2 became popular (lol so true)

Our discussion during the writing of this novel:
(good luck trying to find who said a thing)
October said:

So, what have you been up to?

  • montserrat is actually a great font i use it in my camtasia vids
    its minimalistic yet great

-wait what is the certain picture

  • idk, what picture are you talking about?
    “because some weeks earlier a certain picture of the so-called-leader of syndicate, sorata-chan, was made dand posteed by whoever-the-fuck-i-can’t-remember-his-name”
  • ah lol
    wait how old are you?
    -old enough to know better! jumps off crate
  • let me guess, you’re older than 18 years old?
  • wrong guess
    i’m young
  • ok me too i’m not

so i guess you’re 15 years old?

  • no
  • i’d rather not reveal my age due to privacy purposes in fact I had revealed it before but that’s lost in the ashes of discord
  • oh ok lol
    so are you reading the story me and navy sealz are writing?
  • yes
  • its actually quite interesting
    but i afk soon

October:

  • how to Download GTA San Andreas 2008 tutorial download today
    opens notepad hello guys today we will learn how to download GTA San Andreas 1link no fake no virus
    clup penugin free premium 2007

October:

  • WAIT NAVYSEALZ ARE YOU ACTUALLY GONNA POST THE IMAGES
    NOOOOOOOOOOOOOOOOOOOOOOOOOOO

End of Discussion


  1. I was originally against this abbreviation because I feared Linden Lab would think I stole their intellectual property if they saw a “Blocksworld 2”, whereas a “secondary server” seemed legally safer ↩︎

  2. Thanks https://blocksworld-secondary-server.fandom.com/wiki/Dennisonung for reminding me of the date ↩︎