# About

## What is OTClient Redemption:

* Otclient is an alternative Tibia client for usage with otserv. It aims to be complete and flexible, for that it uses LUA scripting for all game interface functionality and configurations files with a syntax similar to CSS for the client interface design. Otclient works with a modular system, this means that each functionality is a separated module, giving the possibility to users modify and customize anything easily. Users can also create new mods and extend game interface for their own purposes. Otclient is written in C++20 and heavily scripted in lua.
* Beyond of it's flexibility with scripts, otclient comes with tons of other features that make possible the creation of new client side stuff in otserv that was not possible before. These include, sound system, graphics effects with shaders, modules/addons system, animated textures, styleable user interface, transparency, multi language, in game lua terminal, an OpenGL 1.1/2.0 ES engine that make possible to port to mobile platforms. Otclient is also flexible enough to create tibia tools like map editors just using scripts, because it wasn't designed to be just a client, instead otclient was designed to be a combination of a framework and tibia APIs.

## Github:

* [OTClient Redemption](https://github.com/mehah/otclient)

## Nightly Packages:

* Nightly packages are automatically built packages containing ready-to-run files of the current development version of OTClient Redemption.
* You may want to use those development-stage packages to test new features since the last stable release. If you find a bug, make sure to report it [here](https://github.com/mehah/otclient/issues).

<details>

<summary>Linux</summary>

* Download compiled OTClient Redemption;
* Choose the most updated build of **main** branch in Github Actions. \
  PS: You need a github account to download the artifact;
* Go to **Artifacts** and download **otclient-linux-release-;**
* Extract compiled OTClient Redemption executable in OTClient Redemption folder.
* <https://github.com/mehah/otclient/actions/workflows/build-ubuntu.yml?query=branch%3Amain>

</details>

<details>

<summary>Windows</summary>

* Download compiled OTClient Redemption;
* Choose the most updated build of **main** branch in Github Actions. \
  PS: You need a github account to download the artifact;
* Go to **Artifacts** and download **otclient-windows-release-;**
* Extract compiled OTClient Redemption executable in OTClient Redemption folder.
* <https://github.com/mehah/otclient/actions/workflows/build-windows.yml?query=branch:main>

</details>

## Features:

<details>

<summary>Features</summary>

* [README](https://github.com/opentibiabr/otclient/blob/main/README.md)

</details>

## Image:

* ![](https://1381914140-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzV9t92sKcMkphxwdvwZs%2Fuploads%2F8UtEyLDrmREv5kYQr25d%2FOTClient_Redemption.png?alt=media\&token=aba19ab9-c7a2-43df-a399-7c3d05194f88)

## How to connect on Canary with OTClient Redemption:

<details>

<summary>Http Login</summary>

* Download:
* [Client 15](https://github.com/dudantas/tibia-client/releases/latest)
* Copy the **assets** folder and place it in **OTClient Redemption data/things/**. \
  Rename the **assets** folder to **1500**.
* Copy the **sounds** folder and place it in **OTClient Redemption sounds/**. \
  Rename the **sounds** folder to **1500**.
* On **OTClient Redemption** **init.lua**, change:

```lua
Servers_init = {

        -- Local login server
        ---
        -- Configuration for local login server.
        -- @class table
        -- @name local_login
        -- @field port Port used for HTTP connection
        -- @field protocol Protocol identifier used by the application
        -- @field httpLogin Enables HTTP-based login on the server
        -- @field useAuthenticator Enables additional authentication layer
        --
        ["http://127.0.0.1/login.php"] = {
            port = 80,
            protocol = 1500,
            httpLogin = true,
            useAuthenticator = false
},
```

</details>

<details>

<summary>Https Login</summary>

* Download:
* [Client 15](https://github.com/dudantas/tibia-client/releases/latest)
* Copy the **assets** folder and place it in **OTClient Redemption data/things/**. \
  Rename the **assets** folder to **1500**.
* Copy the **sounds** folder and place it in **OTClient Redemption sounds/**. \
  Rename the **sounds** folder to **1500**.
* On **OTClient Redemption** **init.lua**, change:

```lua
Servers_init = {

        -- Local login server
        ---
        -- Configuration for local login server.
        -- @class table
        -- @name local_login
        -- @field port Port used for HTTP connection
        -- @field protocol Protocol identifier used by the application
        -- @field httpLogin Enables HTTP-based login on the server
        -- @field useAuthenticator Enables additional authentication layer
        --
        ["https://your-domain-or-ip/login.php"] = {
            port = 443,
            protocol = 1500,
            httpLogin = false,
            useAuthenticator = false
},
```

</details>
