Home Artists Posts Import Register

Content

Each week that goes by reminds me that I *still* haven't updated all our patreon supporters on the state of Wabbajack. I often sit down in the evening, think I should make a patreon post, then go do some coding and forget to actually write the article. At any rate, my plan now is to try an write a post once a week to update you all on the progress of the project.

Going back several months, life first got interesting around the new year with a massive outage from Lovers Lab, and a month or so later some software updates on their site. This outage exposed some coupling with the Wabbajack server and their site, where a DDOS of the LL site could cause the WJ server to stop validating all lists. This was fairly painless to fix, and removing coupling between sites is always a good thing so that's one problem solved.

A few weeks later, the Nexus also experienced a few days of outages and a week or so of instability. A lot of Wabbajack depends on the Nexus, so we can't out-right ignore a Nexus outage, but I did implement several server updates to be a bit more tolerant of Nexus downtime. Another problem solved.

Next we killed off our usage of RocksDB. The Wabbajack client stores a lot of cache data in a internal database, and while RocksDB was a great fit and is extremely fast, it has the nasty limitation of only allowing one program to use the database at a time. Switching to SQLite allows multiple Wabbajack apps (or a UI and a console app) to be running at the same time.

We added support for Origin games, and added support for the Dragon Age trilogy, and about 6 other games that were added to ModOrganizer2's list of supported games.

At this point I sat down and had a hard think...the manual Nexus downloading process (if you don't have Nexus Premium) was a nasty hack and hardly worked, so do I keep the feature or remove it? The WJ moderators voiced a fair amount of the support for the feature so I decided to see what I could do. Debugging this part of the app is a challenge because my personal account has premium, and the Nexus forbids operating multiple accounts. However, I realized one day that this doesn't stop me from adding a debug flag in WJ that turns off auto-downloading so I can debug the manual downloader. A few hours of work on that, and the process is much less painful now.

In the past few months we've seen more than one new developer lend a hand, three of our moderators: Luca, Unnoen, and LostDragonist have all submitted patches. Luca even going so far as to learn C# so he could contribute. Several nice-to-have features like folder tagging and drive type detection (so we can better set thread count defaults) are thanks to the efforts of these contributors.

And finally, last week I implemented some performance improvements in the gallery, and now images are cached, and the app doesn't try to load the images on the same thread that is displaying the images, this results in a much smoother initial loading of the gallery.

With that all out of the way, where are we going next? Well I have 2 big coding projects on my plate. Firstly our updater needs a rework so it can update the launcher, and clean up old folders. Those past version folders that continue to grow with each update? The app should clean those up, only ever keeping the most 2-3 recent versions. Also the app should update the launcher so we can continue to improve that code without requiring users to manually download a new .exe file.

The biggest change I've been working on is that it's high time for Wabbajack to become a game launcher instead of just a downloader. In a separate branch I already have code that tracks Wabbajack installs, allows you to select a list to play, and launches the game. It's still a week or so out until I'm ready to start beta-testing this feature, and probably closer to a month until the feature is ready to release, but the feature is coming. This should smooth out the install process for new users who aren't familiar with what ModOrganizer2 is and how to copy game files. This feature also includes a "Copy Game Files" button and can validate that game files are copied into the game folder before launching. So now we can tell users "install the list, click the copy game files button, now click play".

So that's the update on what I and the rest of the Wabbajack team have been up to for the past few months. As always thank you so much for your support and encouragement. It means a lot to me and the rest of the team.

Comments

John Barry

Great update, especially if I don't have to redownload the exe everytime. I too have premium, but I store all the downloaded files in one place to make updates and new lists quicker. I was wondering if you could enable something like that for non premium users.?