New Guild History and LibHistoire

Three years ago due to the popularity of Master Merchant and other addons that relied on the Guild History API, the game servers were struggling to keep up with the demand, threatening the stability of the whole game.

ZOS swiftly took measures to reduce the load by limiting the speed with which data can be requested and even considered completely locking down the API for addons at one point.

In order to prevent that from happening, I wrote LibHistoire as a way to cache the history data locally and make it available to addons without having to query the server for every request.

And while it did improve the situation, it still would not be able to help with requests made via the vanilla UI or with addons that did not switch to the library.

Fast forward to today and we are finally getting a new and more efficient guild history with Update 41.

The new system will allow to load data much faster (500 entries at a time compared to 100 before) and going back for a longer period of time (at least 30 days). In addition, it will also enable addons to request data for specific time ranges without having to load all the history up to that point.

And as if that is not already enough, it will offer a shared cache for the vanilla UI and addons alike, so that data can be accessed without having to query the server again.

As you can see, the new system will make LibHistoire’s caching feature obsolete and as such I will be removing all the caching functionality from the library starting with the next update.

In order to improve loading times, I also decided it will be best to completely delete already stored data, so if you want to retain any of it for future use, please make sure to export all the information you want to keep before the update arrives early next year.

Now you may be wondering what will LibHistoire be used for in the future?

The answer is that it will continue to act as a wrapper around the new system and ensure that addons relying on the library will be compatible with the new system without any changes on their part.

In addition it will also add more fine-grained control over the new cache than what the game itself will provide, as well as visualise the state of it by adapting the already available UI.

For a more in-depth look at the new API, check out this thread on the ESOUI forum.

A new era of add-on debugging

The Log Viewer Window

Today marks the release of the DebugLogViewer and LibDebugLogger 1.1. Together these two will provide authors with a powerful new way to find and fix bugs in their add-ons locally and out in the wild.

But the log viewer is not just for authors. It is also very useful for regular players, as it will for example suppress Lua error pop-ups and instead present them in a non-intrusive manner.

Continue reading “A new era of add-on debugging”

How to get ready for a major game update

Keep Calm

You may be excited and want to jump into your new adventures as soon as possible, but you should restrain yourself and first get some things out of the way. Otherwise you may ruin your own experience.

Update The Game

Arguably the most important step on this list. Just start the game launcher and let it do it’s magic. Be aware that the first login after a major update always takes longer, because the game has to rebuild some internal caches.

Continue reading “How to get ready for a major game update”

So much to do, so little time

TL;DR: Many things planned. Become a patron so I can get them done sooner.

The Elder Scrolls Online has recently turned 5 years old and it looks like a bright future is still ahead of us. New players and add-on authors are flocking to the game and there is no end in sight. That’s why I decided to rectify some of the past mistakes we made and also plan to create some tools that will help authors become more productive and save them countless hours while they work on their add-ons.

The following projects are a non-exhaustive excerpt of my to-do list in no particular order. Continue reading “So much to do, so little time”

Schema definition for ESOUI XML

Creating GUI in Elder Scrolls Online is time consuming and frustrating. For a long time I have played with the thought of making it somehow easier and finally decided to look into that.

After thinking about it very hard for a few evenings and researching different ways to improve the experience, I arrived at the conclusion that it would be best to create a schema for the XML files used to define the GUI elements. This way I would learn more about the available possibilities and end up with something that will allow me to craft them faster and with less errors.

Continue reading “Schema definition for ESOUI XML”