Help:Obelisk Bot

From Heroes of Might and Magic: Olden Era Official Wiki


Cargo and Structured Data
Documentation Data Overview • Introduction to Cargo • Game Files • Obelisk Bot

Building Cargo Templates • Building Rich Tables • Debugging Cargo • Searching Cargo Tables • Using Translations

Useful Recipes • Useful Templates

Architecture Reference Data Architecture • Data:Coverage • Cargo Definition Pages • Game Data Pages

All Cargo Tables • Artifacts • Buildings • Heroes • Factions • Laws • MapObjects • Skills • Spells • Translations • Units

External Links Official Cargo Extension Documentation • SQL References




Obelisk Bot is a utility used to keep the wiki in sync with patch updates to the game as it changes and evolves. See the source code here.

Download the code and extract the contents to a convenient folder (or clone the git repository). Then copy-paste obelisk.ini.example into a new file called obelisk.ini, which you will configure below.

Credentials

Before you can upload anything to the wiki, you must first create a bot sub-user for your account. Navigate to Special:BotPasswords and create a bot username there. See this tutorial for specific steps and screenshots. Leave this page up or store the password generated to a safe place for reference below.

When setting the bot's permissions, check the following:

  • High volume (bot) access
  • Edit existing pages
  • Create, edit, and move pages
  • Upload, replace, and move files

In your obelisk.ini file, find the username and password fields and populate them with the fields from Special:BotPasswords. The username will be a combination of your user ID and the name of the bot; for example if your user ID is 1234 and you named the bot user obelisk-bot, the full bot username you enter will be 1234@obelisk-bot.

Cloudflare

This wiki is guarded by Cloudflare to prevent mass botting. As a result, your bot will be caught as a false positive, so we will need to provide a workaround to get past this gate.

  1. First, open this wiki in your browser in a new tab. Wait for the Cloudflare page to redirect you, if it shows.
  2. Open the browser console by pressing F12. Then navigate to Application -> Storage -> Cookies and look for the https://wiki.hoodedhorse.com entry.
  3. Within that cookie, look for the value called cf_clearance. Copy this into the cookies field in obelisk.ini
    • This will look like cookies = cf_clearance=[big long string of stuff];
  4. In the browser console, look at the Network tab and click on any line item, then click on the Request tab. Scroll down until you find the User-Agent entry, and copy-paste that into the user_agent field in obelisk.ini
    • This will look something like user_agent = Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:140.0) Gecko/20120203 Firefox/130.0

You should now be ready to use Obelisk to directly upload to the wiki. Cloudflare challenge tokens last a long time, but in the event that Obelisk starts to fail, try updating the cookie to refresh it.

Updating Cargo

Whenever a patch is released, follow these instructions to mass update the wiki:

  1. BEFORE you update, copy the old Core.zip into a new folder accessible by Obelisk; we will assume this goes into a folder called `2026-01-01`
  2. Extract the old Core.zip into 2026-01-01/Core
  3. Update HOMMOE on Steam
  4. Copy the new Core.zip into another new folder, we'll call it `2026-01-02` for this example
  5. Extract the new Core.zip into 2026-01-02/Core
  6. Run: python obelisk extract 2026-01-01 [replace the name with the old folder]
    • This will dump the game data for the old patch into wiki-useable files in the `out` folder.
  7. Run: python obelisk extract 2026-01-02 [replace the name with the new folder]
  8. Run: python obelisk diff 2026-01-01 2026-01-02 [replace these with the old folder and the new folder in order]
    • This will perform an analysis of the two sets of JSON files and produce several diff files and a manifest, which you can use to investigate all the data differences between versions
  9. Run: python obelisk upload 2026-01-02 -m "Updating Cargo to [insert version here]"
    • This will, if properly configured with the bot's credentials, connect to this wiki and update all Data files with ones that now match the new patch.
    • This operation will only upload files which are different from what's currently on the wiki. It will also automatically create stubs for all new entities which do not currently have main articles.

If new mechanics have been added, these will not be detected or handled by the bot, and it will need updating to match. But if existing mechanics have been changed or added to, this will discover those changes and update the internal files accordingly.