Back
The Elder Scrolls Online

LibZone

Overview

A library to help with zone information.

LibZone
A library to help with zone information.
It contains:
-Localized zone names for the languages DE, EN, FR, RU
and partially translated zoneNames of the languages: JP, PL
-ZoneId, ZoneIndex, ZoneParentId
-Geographical zone parents: Provide the real geo parents of zones, where ZOs API returns 0 or incorrect values.
API functions as of changelog 2022-07-11.
Used for addons like -> Code and data provided by IsJustaGhost (thank you)

Optional dependencies:
Only on PC (not console): And to help with translations of zone names between different languages:
This library needs the library LibSlashCommander installed seperately if you want to use the zone name translations with chat commands!

Use one of the following slash commands in your chat (only if 'LibSlashCommander' is active!):

Usage
-Download, use as standalone library or keep (otherwise the SavedVariables are lost!) the manifest txt file and just use the library file within your addon.
-Load the library within your addon code using the global variable LibZone
LibStub support was removed with version 6.3 so make sure to ONLY load the library via it's global variable "LibZone"

Please add the dependency to your addon's manifest txt file using the addonversion 069 to make sure the users install at least this version to be access via the global variable:

-> This will make your addon stop loading if the library is missing or installed with a version < then 6.9.

-> This will make your addon load if the library is missing or installed with a version < then 6.9, but it WILL throw error messages if you try to load it via LibStub and might throw other error messages.

Where is the data?
Your instance of LibZone contains 2 tables.
1. for the localized data:

-> Do NOT access this table directly but use the API function LibZone:GetAllZoneData() instead!

-> Language = String, length 2. Example: "en", "de", "fr", "ru"
-> ZoneId = The zone's unique id which you are able to get via some API function like these ones:

2. for the non localized data:

->zoneIndex = The zoneIndex which can be determined via some API functions like these ones:

->zoneId = see above

Data:
The file LibZone_Data.lua contains the localized zone names of the supported languages.

LibZone API functions
Please check this file for the given API functions:
The file LibZone.lua contains functions to read this, and the other information, for your addons.
e.g.

Building new zoneData on PTS e.g. -> SavedVariables
This function will build new zone data and save them to the savedvariables. It will use the current client's language and will be run once as the library loads. So if you are playing on a non-official client language the data will be read and added to your savedvariables.

GitHub
LibZone on Github

ABOUT THIS LISTING

This page describes LibZone by Baertram. The description and screenshots are the author's own, imported from their listing on ESOUI on 3 October 2026: https://www.esoui.com/downloads/info2171-LibZone.html

Mythiq.net hosts no files for it. The download button goes straight to the release file on cdn.esoui.com, so you are downloading from the author's own host, not from a copy of ours.

The download count, rating and comments on this page start at zero and count Mythiq.net only. The source's own figures are not copied here — they measure a different site, and a number that cannot be checked against our own ledger is not worth printing.

Media

Requirements

Game versions
  • 12.1.0
  • 12.0.0
  • 11.3.0
  • 11.2.0
  • 11.1.0
  • 11.0.0
API VERSION

Built for ESO API version 12.1.0, 12.0.0, 11.3.0, 11.2.0, 11.1.0. After a patch the game marks add-ons built for the previous API as out of date; the "Allow out of date add-ons" checkbox in the add-on menu loads them anyway, and most work.

LIBRARIES

Many ESO add-ons depend on a shared library — LibAddonMenu-2.0 above all — which is installed separately, exactly like an add-on. A dependency that is missing shows as the add-on simply not appearing in the list.

CONSOLE

Add-ons are PC and Mac only. There is no way to load them on console.

Installation

1. Download the archive with the button on this page and unzip it.

2. Move the unzipped folder into your add-ons directory:

Windows — Documents\Elder Scrolls Online\live\AddOns

macOS — ~/Documents/Elder Scrolls Online/live/AddOns

3. Start the game, and at the character select screen click Add-Ons.

4. Tick the add-on. If it is greyed out and marked out of date, tick "Allow out of date add-ons" at the top of the same panel.

5. Log in. Most add-ons need a /reloadui after they are first enabled.

UPDATING

Delete the old folder first. ESO loads everything it finds, and two copies of one add-on is the usual cause of "an add-on has produced an error" on login.

This release downloads from cdn.esoui.com, not from us, so there is no checksum to compare against. Scan the archive before you unpack it.

Version history

  1. v9.1 Latest 29 Sep 2026 · 219 KB via cdn.esoui.com · 0 downloads Download
    9.10 2026-09-28
    -Added new zones of Update 51
    -Fixed SavedVariables growing by piling-up debug information for the same API version
    -Removed SavedVariables storing the current zoneId, index and parentZoneId -> Directly stored in the library internally now during gameplay, to reduce SV size
    Console: Removed slash commands auto completion as it hit the memory limit too fast and console players usually do not use the chat's slash commands that often. Maybe re-added in the future once there is a way the memory does not grow that much with LibSlashCommander and all the zone translations.

    8.99 + 9.00 2026-07-12
    Updated missing JP zoneNames
    Removed debug messages

    8.98 2026-06-08
    Added APIversion 10150 data

    8.97 2026-03-15
    Added APIversion 10149 data

    8.95 2025-10-28
    -Updated APIversion to Update 48
    -Added new zones
    -Preparation for console release - Changed file structure: manifest uses .addon instead of .txt now
    New folder PC containing LibSlashCommander "PC only" slash command helpers

    8.94 2025-08-19
    -Updated APIversion
    -Added new zones

    8.93 2025-06-03
    -Updated APIversion
    -Updated dependencies

    8.92 2025-01-04
    -Updated APIversion
    -Updated dependencies
    -Updated all zone names for all languages (except custom language PL as I'm missing the data here, noone provides them).
    Thanks to Calamath for the jp data!

    -Added debug function
    LibZone:DebugGetAllZoneDataNew(doReloadUI)

    which saves to the new SV table LibZone_Debug_SV_Data
    -All SV tables can contain a subtable __debugInfo__ now which contains 1 to n history entries of the last time the data was updated (per language)
    ["__debugInfo__"] =
    {
    =
    {
    ["APIVersionLastUpdate"] = 101044,
    ["LastUpdate"] = "1/4/2025 12:17:27 AM",
    },
    },

    8.9 2024-05-31
    Updated for Gold Road

    8.8 2024-03-18
    -Fixed Chinese zone lua error (sorry, and thanks for the fix bevisbear)

    8.7 2024-03-11
    -Updated API version for Scions of Ithelia
    -Added new zones

    8.6 2023-08-04
    Updated APIversion
    Updated GeoPArentData for Apocrypha public dungeons & delves which showed their parent = Telvanni Peninsula (thanks to DeadSoon)

    8.5 2023-05-02
    -Updated API version for Necrom
    -Added new zones for Necrom
    -Added 2 new public dungeons

    8.4 2023-03-14
    -Updated API version for Scribes of Fate
    -Added new zones for Scribes of Fate

    8.3 2022-12-27
    -Updated API version for Firesong
    -Added new zones for Firesong

    8.2 2022-08-26
    -Updated API version
    -Added new zones for geoParent -> IsJustaGhost

    8.1 2022-07-30
    -Updated for API101035 Lost Depths
    -Added new zoneIds and names
    -Added support for Spanish zone names (language: ES)

    8.0 2022-07-11
    -Added on request:
    Geographical parent data - by IsJustaGhost
    Used so far in addon: AccurateWorldMap by Thal-J

    [New API functions]
    --Get the zoneData of the zoneId and read it's pinInfo, and return the parentZoneId and,
    --if exists, poiIndex of the map pin associated with the zoneId.
    --parameters number: zoneId, number:nilable parentZoneId
    -->return: number:nilable parentZoneId, number:nilable parentZoneIndex, table:nilable poiIndex
    function lib:GetZoneMapPinInfo(zoneId, parentZoneId)

    --Get the geographical parentZoneId of a zoneId. This will not use the games API function GetParenZoneId(zoneId) as this
    --might return any other zoneId which is not the geographical parent zoneId.
    --If you need to get the normal parent zoneId use GetParenZoneId(zoneId)
    -->return: number:nilable parentZoneId
    function lib:GetZoneGeographicalParentZoneId(zoneId)

    --Get the geographical parentMapId of a zoneId.
    -->return: number:nilable parentMapId
    function lib:GetZoneGeographicalParentMapId(zoneId)

    --Get the geographical parentMapId of a mapId
    -->return: number:nilable parentMapId
    function lib:GetGeographicalParentMapId(mapId)

    -- Display mapPins of relevant POIs for the selected zone.
    --parameters number: zoneId
    function lib:InspectZonePoiInfo(zoneId)

    ----Debugging and adding/updating new geo parent zone data after patches----

    Off-site on cdn.esoui.com — no checksum, because we never held this file. Link checked by our review team on 3 Oct 2026.

Comments

No comments yet.

Sign in to leave a comment.

Report this mod

Tell us if something is wrong — a file that will not work, content taken from someone else, or anything that looks unsafe. Reports go to our review team, not to the author.

Sign in to report this mod.

We use cookies to ensure that we give you the best experience on our website and improve your experience. By continuing to use this site you consent to such use of cookies.

Learn More