I finally did it. The forums are finally not using vbulletin.
I wanted to acknowledge the failed attempts and postmortem why they failed. We’ve had a few.
Early attempts aimed at transitioning. Coded in PHP with MYSQL, but instead of being a whole other system they’d use the existing databases. If I remember right these actually got pretty far. The momentum tailed off when it came to re-implementing all of vbulletin’s moderator tools.
Other, later attempts were maybe too ambitious, chasing shiny stuff. Single page apps without page refreshes are cool – but that’s not really how we browse forums. We middle click and open stuff in tabs. Reddit style “anyone can create a forum” is a fine idea, and I think we’ll do it eventually, but doing it from the start proved to be a distraction from what we were actually trying to achieve.
This iteration came together finally when I stopped trying to make it mobile friendly by default. When I focused on our core audience of desktop users, who are reading and posting on the forums in between using Steam.
It uses VueJS, but it doesn’t use any of the routing stuff. The backend is ASP.NET, using MSSQL and Entity Framework. It’s built into our sites stuff.. which means things like blog comments are tied directly to the forums. If you’re logged into the forums you’re logged into all of our sites.
This account system is quite interesting to us going forward, because once you’ve authed your forum account with Steam, we can detect and auth that in our games.. so stuff you do in game can be reflected on your forum account and vice versa.
An example of that is with our coins system on the forums. If you’ve been a member for a long time and earned a lot of coins, maybe you’d be able to buy an exclusive skin for a gun in Rust. Or maybe you’d be able to use the coins to prioritise your position in a beta queue.
In fact right now if you report a cheater in Rust, and the cheater ends up getting banned – you’ll get coins and level up on the forums as a reward.
It’s satisfying to have finally got away from vbulletin, but there are some things that we still need to decide on.
Private Messaging is one. There’s issues with private messaging in vbulletin, but it’s probably not unique to vbulletin. I can open the database and view any private messages. That doesn’t feel very private. It feels like for them to actually be private messages it should be encrypted in a way that I, or anyone else with database access, can’t view. This is why I’ve resisted adding such a system so far. Someone suggested simply calling them “direct messages”.
Part of me thinks the smart way would be to make it so users can email other users via the forums, and it’ll come from their email address. So once they reply we’re out of it, it’s a private email thread between those two parties. There’s a divide there though, and spammer issues. But it’s something we’re thinking of.
We’re missing a lot of moderator tools too. Post Reporting is missing right now. This is kind of on purpose to see how vital it is. I’ve felt for the last few years that moderators on our forum see their role to roam around looking for someone to ban. If they’re not banning someone they feel like they’re not doing their job. Although we have a history of being quite strict, it feels like lately we’ve had rules creeping in that only really serve to trap new users. Moderators should be there to help users, not run around banning as many people as they can.
That said, reporting probably will come back, but I want to rethink exactly what it will look like.
Refugee Camp is gone. Not sure if this is coming back. If people want to lodge an appeal on their ban I think we can do better than having a forum for them to do that.
Drop Dead Thread is gone. We should be closing or deleting threads, not moving them to different forum.
It looks weird/broken on mobile right now too. That’s something I plan to fix – but not just yet.
The short story is that we’re in a great position now, and things should get even better over time.