# Canary

## **What is this?**

* Canary is a free and open-source MMORPG server emulator for the OpenTibia community, written in C++. It is a fork of the [OTServBR-Global](https://github.com/opentibiabr/otservbr-global) project. Its goal is to provide a clean, modern, and extensible base for servers built around the OpenTibia ecosystem.&#x20;
* The repository includes the server core, datapacks, Lua scripts, database schema, build presets, automated tests, and development tooling used by the project.

## **Github:**

* [Canary](https://github.com/opentibiabr/canary)

## Features:

<details>

<summary>Main Features</summary>

* **GOD Account: @god / god.**  \
  **Protocol 15.00.**
* Achievements System.  \
  Analytics.  \
  Animus Mastery - Soulpit.  \
  Augments System.  \
  Autoloot.  \
  Autobank.  \
  Badge System.  \
  Bank System.  \
  Boosted Creature.  \
  Bosstiary Tracker.  \
  Chain System.  \
  Cyclopedia (Items, Bestiary, Charms, Map, Houses, Character, Bosstiary, Boss Slots).  \
  Concoctions System.  \
  Custom Systems (check config.lua).  \
  Custom Trainers.  \
  Daily Reward.  \
  Database Migrations.  \
  Discord Webhooks.  \
  Event Callback.  \
  Event Schedule.  \
  Exaltation Forge.  \
  Familiar System.  \
  Fragment Workshop.  \
  Free Quests System.  \
  Gamestore.  \
  Gem Atelier.  \
  Hazard System.  \
  Highscores.  \
  Hirelings.  \
  Hunting Analysers.  \
  Hunting Tasks.  \
  Imbuement System.  \
  Imbuement Tracker.  \
  KV System.  \
  Libs System.  \
  Log Level.  \
  Loyalty System.  \
  Market.  \
  Multiprotocol Compatibility with version 11.00.  \
  NPCs System.  \
  Opentelemetry Metrics.  \
  OTC Features.  \
  Prey System.  \
  Protobuf.  \
  Quests.  \
  Questlog.  \
  Quest Tracker.  \
  Quickloot.  \
  Raid System.  \
  Revscriptsys.  \
  Sound Effects System.  \
  Spdlog.  \
  Supply Stash.

</details>

## Image:

* ![](/files/g700g3KPL66fGMfyf4uu)

## How to update appearances.dat:

<details>

<summary>How to update appearances.dat</summary>

#### Since this [commit](https://github.com/opentibiabr/canary/commit/68d0475cf2bd9ee6295f00ef644a9b7bd4d67e6f), Canary is not using items.otb anymore, now use the appearances.dat. Using protobuf files instead of old .otb file looks like the best approach to keep the repository most updated as possible.&#x20;

* If you just want to keep your assets the same as global, you can just simple copy the 'appearances-xyz.dat' file from the client's /assets/ folder, rename it to 'appearances.dat' and paste on "/data/items/" on the server and it's already up-to-date.
* If you want to customize the client assets you can use [Assets Editor.](https://docs.opentibiabr.com/opentibiabr/downloads/tools/editors#assets-editor) On Assets Editor open your client 14x /assets/ folder, edit/add/remove anything you want on it, save and compile it. After that you just go to you client /assets/ folder, make a copy of the appearances-xyz.dat, paste on "/data/items/" on the server and rename it to 'appearances.dat'.

</details>

## Server Folder Structure:

<details>

<summary>Server Folder Structure</summary>

<img src="/files/jb3DXh6jfJajVJCIyeNA" alt="" data-size="original">

* **data** - this is the "core" folder, it is where the files that are absolutely necessary for the distro to open correctly, such as libs, xmls, etc. Here we have files that both the otservbr-global and canary datapack share with each other.
* **data-otservbr-global** - this is the global datapack files, some libs and folders that are only for the global server, such as scripts, monsters, npcs, world.
* **data-canary** - a "clean" datapack as far as possible, with only the scripts and files necessary for the server to work.
* **NOTE -** The "data" folder is actually the "core" of the server, we didn't rename it to avoid having to make changes to the sites and login.php, since they read the "data/xml". The other two folders, data-otservbr-global and data-canary can be changed in config.lua, which one you want the executable to read, by default we'll point to the global one, as that's what most use. If you want to start a custom server with "as few files and scripts as possible", then switch to "data-canary".

  We also added a boolean in config.lua that allows choosing another name for the datapack, by default we will also keep this disabled, since we will only maintain support for these two datapacks, it is up to each one to know what they are doing in case they want to change it.

</details>

## Minimum Requirements:

<details>

<summary>Minimum Requirements</summary>

* **CPU: 4 vCPU @ 3.70\~4.80Ghz**
* **RAM: 8 GB DDR4**
* **Storage: 50 GB**

</details>

## OTServBR-Global Map Features:

<details>

<summary>OTServBR-Global Map Features</summary>

* **Towns:**\\

  Dawnport Tutorial - Position(32069, 31901, 6).  \
  Dawnport - Position(32064, 31894, 6).  \
  Rookgaard - Position(32097, 32219, 7).  \
  Island of Destiny - Position(32091, 32027, 7).  \
  Ab'Dendriel - Position(32732, 31634, 7).  \
  Carlin - Position(32360, 31782, 7).  \
  Kazordoon - Position(32649, 31925, 11).  \
  Thais - Position(32369, 32241, 7).  \
  Venore - Position(32957, 32076, 7).  \
  Ankhrahmun - Position(33194, 32853, 8).  \
  Edron - Position(33217, 31814, 8).  \
  Farmine - Position(33023, 31521, 11).  \
  Darashia - Position(33213, 32454, 1).  \
  Liberty Bay - Position(32317, 32826, 7).  \
  Port Hope - Position(32594, 32745, 7).  \
  Svargrond - Position(32212, 31132, 7).  \
  Yalahar - Position(32787, 31276, 7).  \
  Gray Beach - Position(33447, 31323, 9).  \
  Krailos - Position(33657, 31665, 8).  \
  Rathleton - Position(33594, 31899, 6).  \
  Roshamuul - Position(33513, 32363, 6).  \
  Issavi - Position(33921, 31477, 5).  \
  Bounac - Position(32424, 32445, 7).  \
  Feyrist - Position(33490, 32221, 7).  \
  Gnomprona - Position(33517, 32856, 14).  \
  Marapur - Position(33842, 32853, 7).  \
  Candia - Position(33338, 32125, 7).  \
  Silvertides - Position(33776, 32842, 7).  \
  Moonfall - Position(33797, 32755, 5).

* **Areas:**  \
  25 Years - Position(32369, 32241, 7), Position(33453, 31031, 8), Position(33329, 30990, 14).  \
  Antrum of the Fallen (Warzone 7) - Position(32603, 31844, 10).  \
  Asuras - Position(32953, 32684, 7), Position(32812, 32754, 9).  \
  Azzilon - Position(33857, 32411, 6), Position(34032, 32330, 14).  \
  Barren Drift - Position(33859, 31836, 8).\
  Blue Valley - Position(33602, 31496, 7).  \
  Bounacean Lion - Position(32470, 32492, 8).  \
  Bulltaur Lair - Position(32800, 32366, 8).  \
  Claustrophobic Inferno - Position(34011, 31013, 9).  \
  Cobra Bastion - Position(33397, 32651, 7).  \
  Cursed Spreads (Full Grimvale) - Position(33333, 31689, 7).  \
  Custom Forge - Position(32208, 32283, 7).  \
  Custom Map -  \
  Deep Desert - Position(33106,32382,7).  \
  Dwelling of the Forgotten (Warzone 9) - Position(32062, 31461, 11).  \
  Ebb and Flow - Position(33894, 31019, 8).  \
  Falcon Bastion - Position(33362, 31343, 7).  \
  Feaster of Soul - Position(31912, 32355, 8).  \
  Forest of Life - Position(32399, 32496, 11 ).  \
  Furious Crater - Position(33860, 31830, 7).  \
  Galthen and the City of Gold - Position(33999, 31724, 9).  \
  Grotto of the Lost (Warzone 8) - Position(32123, 31442, 14).  \
  Iksupan - Position(34014, 31889, 8).  \
  Ingol - Position(33672, 32536, 7).  \
  Lion Sanctum - Position(33124, 32252, 10).  \
  Mirrored Nightmare - Position(33937, 31217, 11).  \
  Nimmersatt's Breeding Ground - Position(33216, 31126, 14).  \
  Nostalgia - Position(33579, 31062, 7).  \
  Orcsoberfest Island - Position(33742, 31079, 7).  \
  Oskayaat - Position(33070, 32916, 7).  \
  Rascacoon Main Island - Position(33800, 31356, 7).  \
  Rotten Blood - Position(33842, 31653, 13), Position(34092, 31983, 14), Position(33079, 32333, 15), Position(32961, 32397, 9), Position(33020, 32431, 7).  \
  Rotten Wasteland - Position(33975, 31043, 11).  \
  Ruins of Nuur - Position(33806, 31692, 8).  \
  Salt Caves - Position(33970, 31652, 7).  \
  Secret Library - Position(32173, 31937, 7).  \
  Soulpit - Position(32347, 31029, 3), Position(32375, 31158, 8).  \
  Supreme Cube Maze - Position(33840, 32508, 14).  \
  The Rise of Podzilla - Position(33818, 31997, 4), Position(33821, 31994, 6).  \
  The Wreckoning - Position(33883, 31220, 7).  \
  Warzone 1 - Position(33048, 31938, 10).  \
  Warzone 2 - Position(33048, 31938, 11).  \
  Warzone 3 - Position(33048, 31938, 12).  \
  Warzone 4 - Position(33827, 32171, 14).  \
  Warzone 5 - Position(33777, 32191, 14).  \
  Warzone 6 - Position(33829, 32127, 14).  \
  Zarganash - Position(33606, 31493, 10).

* **Last Update:**

  **Added:**

  * The Rise of Podzilla and Soulpit - 08/01/2025.
  * Azzilon - 14/08/2025.
  * Monk (Dawnport, Statues, Towers) + Blue Valley - 19/01/2026.

</details>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.opentibiabr.com/opentibiabr/canary.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
