Help:Obelisk Bot
| 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 |
| 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.
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.
- First, open this wiki in your browser in a new tab. Wait for the Cloudflare page to redirect you, if it shows.
- Open the browser console by pressing F12. Then navigate to Application -> Storage -> Cookies and look for the https://wiki.hoodedhorse.com entry.
- Within that cookie, look for the value called
cf_clearance. Copy this into thecookiesfield inobelisk.ini- This will look like
cookies = cf_clearance=[big long string of stuff];
- This will look like
- 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-Agententry, and copy-paste that into theuser_agentfield inobelisk.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
- This will look something like
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:
- 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`
- Extract the old Core.zip into 2026-01-01/Core
- Update HOMMOE on Steam
- Copy the new Core.zip into another new folder, we'll call it `2026-01-02` for this example
- Extract the new Core.zip into 2026-01-02/Core
- 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.
- Run:
python obelisk extract 2026-01-02[replace the name with the new folder] - 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
- Run:
python obelisk upload 2026-01-02- 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.


