# \[Windows]\[Basic] Canary + Uniform Server + MyAAC

{% hint style="info" %}

* **If you don't compiled Canary, choose a tutorial to follow:**\
  [**https://docs.opentibiabr.com/opentibiabr/canary/getting-started/compiling/windows/visual-studio**](https://docs.opentibiabr.com/opentibiabr/canary/getting-started/compiling/windows/visual-studio)
* **After compiling Canary, follow this tutorial.**
  {% endhint %}

## **1 - Download Uniform Server:**

* [Download](https://sourceforge.net/projects/miniserver/files/Uniform%20Server%20ZeroXV/15_0_1_ZeroXV/15_0_1_ZeroXV.exe/download)

## **2 - Installation and Configuration:**

<details>

<summary>Uniform Server</summary>

* Install Uniform Server (15\_0\_1\_ZeroXV) on the C:\ drive.
* **Example:**
* ![](/files/bIbN0e1DWUeuU0iUOsAV)
* On unit C:\ after installation, the folder name is UniServerZ.
* When you open Uniform Server, a window will open asking for the MySQL root password:
* ![](/files/eXXsPQtfaA410tuqsSOh)
* The default password in this case is root.
* Go to **C:\UniServerZ** and open the **UniController.exe**.
* ![](/files/2RWViFtweApqllB7byA4)
* **Change thread stack:**
* Navigate to **MySQL -> Edit Config file my.ini** and change:
* thread\_stack = 256K
* Save the file.
* **Edit Configuration file (php.ini):**
* Navigate to **PHP -> Edited selected configuration file** and change:
* upload\_max\_filesize=100M
* post\_max\_size=100M
* Save the file.
* **Enable PHP Extensions:**
* Navigate to **PHP -> Edit Basic and Modules -> PHP Modules Enable/Disable** and enable:
* bz2, curl, mbstring, zip;
* **MySQL root password:**
* If you changed MySQL root password, you should change the authentication plugin using the MySQL Console with the command:
* ```sql
  ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'yourpassword';
  ```
* **To start Uniform Server:**
* Click in the **Start Apache** butto&#x6E;**;**
* Click in the **Start MySQL** butto&#x6E;**.**
* ![](/files/tIX2I1U06fFb6wXkQMXV)

</details>

## **3 - Database:**

* In Uniform Server, click the **phpMyAdmin** button and will open in the browser the web application to manage database.
* On the left side click +New and create a database (e.g. canary)
* Import the schema file.sql which is in the Canary folder.

## **4** - Config.lua:

<details>

<summary>For data-canary</summary>

```lua
-- Core settings
-- Note: If you want to use datapack folder canary (custom), put only "data-canary"
-- If you want to use the global datapack folder, put "data-otservbr-global"
-- If "useAnyDatapackFolder" is set to true then you can choose any datapack folder for your server
useAnyDatapackFolder = false
dataPackDirectory = "data-canary"
-- Don't change this unless you know what you're doing
coreDirectory = "data"

-- Map
-- NOTE: set mapName WITHOUT .otbm at the end
-- NOTE: If toggleDownloadMap if false, then the mapDownloadUrl will not be used
-- NOTE: If a map with the name already exists in the world folder, the map will not be downloaded even if the toggleDownloadMap is true
toggleDownloadMap = false
mapName = "canary"

-- Custom Map
-- NOTE: toggleMapCustom set to true will load all maps in custom map folder
toggleMapCustom = false

-- Connection Config
ip = "127.0.0.1"
serverName = "Canary"

-- MySQL
mysqlHost = "127.0.0.1"
mysqlUser = "root"                      
mysqlPass = "root"                       
mysqlDatabase = "canary"        
mysqlPort = 3306
mysqlSock = ""
passwordType = "sha1"
```

</details>

<details>

<summary>For data-otservbr-global</summary>

```lua
-- Core settings
-- Note: If you want to use datapack folder canary (custom), put only "data-canary"
-- If you want to use the global datapack folder, put "data-otservbr-global"
-- If "useAnyDatapackFolder" is set to true then you can choose any datapack folder for your server
useAnyDatapackFolder = false
dataPackDirectory = "data-otservbr-global"
-- Don't change this unless you know what you're doing
coreDirectory = "data"

-- Map
-- NOTE: set mapName WITHOUT .otbm at the end
-- NOTE: If toggleDownloadMap if false, then the mapDownloadUrl will not be used
-- NOTE: If a map with the name already exists in the world folder, the map will not be downloaded even if the toggleDownloadMap is true
toggleDownloadMap = true
mapName = "otservbr"

-- Custom Map
-- NOTE: toggleMapCustom set to true will load all maps in custom map folder
toggleMapCustom = true

-- Connection Config
ip = "127.0.0.1"
serverName = "OTServBR-Global"

-- MySQL
mysqlHost = "127.0.0.1"
mysqlUser = "root"                      
mysqlPass = "root"                       
mysqlDatabase = "otservbr-global"        
mysqlPort = 3306
mysqlSock = ""
passwordType = "sha1"
```

</details>

## **5 - MyAAC:**

### **5.1 - Download:**

* Download the **myaac-1.x.zip** file.
* [Download](https://github.com/slawkens/myaac/releases/latest)

### 5.2 - Installation:

<details>

<summary>MyAAC</summary>

* Go to **C:\UniServerZ\www** and delete all files inside.
* Unzip downloaded MyAAC files and paste the content into **C:\UniServerZ\\[www](http://www).**
* At the end it looks like this:
* ![](/files/NtkudPuL0CJ8EC4iHgA9)
* Visit **<http://127.0.0.1>** to load MyAAC.
* Follow the installation steps to install MyAAC.

</details>

## **6 - Starting and Connecting to the Server:**

### **6.1 - Starting the Server:**

* Double click canary.exe, it will start the server.

### 6.2 - Connecting to the Server:

* To connect to the server according to the indicated version, you can use:
* [**Normal Client**](https://github.com/dudantas/tibia-client/releases/latest)
* [**OTClient Redemption**](https://docs.opentibiabr.com/opentibiabr/otclient-redemption#how-to-connect-on-canary-with-otclient-redemption)

## **7 - Credits:**

* **OpenTibiaBR (**[**https://github.com/opentibiabr/canary**](https://github.com/opentibiabr/canary)**)**
* **Slawkens (**[**https://github.com/slawkens/myaac**](https://github.com/slawkens/myaac)**)**
* **Tutorial:**
* **Majesty**


---

# 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/getting-started/installing/windows/uniform-server/windows-basic-canary-+-uniform-server-+-myaac.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.
