📈 GH Trending Explorer 🎲 Surprise me

← all repos

opentibiabr / otclient

git clone https://github.com/opentibiabr/otclient.git 4.1 · 2mo ago 🔥 on GitHub Trending today

An alternative Tibia game client for OTServ servers, written in C++20 with its interface and game logic scripted in Lua.

Why you might care

It is built as a modular framework where UI and features are Lua modules styled with CSS-like syntax, so mods and custom interfaces can be added without changing the engine. It supports OpenGL rendering, shaders, a sound system, and an in-game Lua terminal, and targets servers such as TheForgottenServer and Canary.

Categories

Alternatives

Tibia official clientTheForgottenServerCanary
+1
stars, 24h · #17,299
+~2
stars, 7 days · #26,209
+~10
stars, 30 days · #29,774
540
★ total · +0% this week
548
forks · 50 open issues

Star history (as recorded here)

2026-10-20 · 539 ★ 2026-10-23 · 540 ★
LanguageLua
License—
Created2020-06-18 (6y ago)
Last push2d ago
Watchers35
OwnerOrganization

Seen on GitHub Trending

  • 2026-10-23 — #5 daily in lua · +1 ★

Links

README excerpt
OTClient - Redemption
---
## 📋 Table of Contents
1. What is OTClient?
2. 🚀 Features
3. The Mobile Project
4. 🔨 Compiling
5. 🐳 Docker
6. 🩺 Need Help?
7. 📑 Bugs
8. ❤️ Roadmap
9. 💯 Support Protocol
10. ©️ License
11. ❤️ Contributors
12. 📦 Client Assets Auto-Install
---
## What is OTClient?
OTClient is an alternative Tibia client for usage with OTServ. It aims to be **complete** and **flexible**:
- **LUA scripting** for all game interface functionality
- **CSS-like syntax** for UI design
- **Modular system**: each functionality is a separate module, allowing easy customization
- Users can create new mods and extend the interface
- Written in **C++20** and heavily scripted in **LUA**
For a server to connect to, you can build your own with **theforgottenserver** or **canary**.
> [!NOTE]
> Based on edubart/otclient • Rev: 2.760
---
## 🚀 Features
Beyond its flexibility with scripts, OTClient comes with many features that enable client-side innovation in OTServ: **sound system**, **graphics effects with shaders**, **modules/addons**, **animated textures**, **styleable UI**, **transparency**, **multi-language**, **in-game LUA terminal**, and an **OpenGL 2.0 ES engine** that allows porting to mobile platforms. It is also flexible enough to create Tibia tools like map editors using scripts—OTClient is a **framework + Tibia APIs**.
### ⚡ Performance & Engine
 🖼️ Draw Render (optimization showcase) 
 https://github.com/user-attachments/assets/fe5f1d7f-7195-4d65-bca6-c2b5d62d3890
 📦 Asynchronous Texture Loading 
- **Description**: with this the spr file is not cached, consequently, less RAM is consumed.
- **Video**:
 https://github.com/kokekanon/otclient.readme/assets/114332266/f3b7916a-d6ed-46f5-b516-30421de4616d
 🧵 Multi-threading 
**Main Thread**
- Sound
- Particles
- Load Textures (files)
- Windows Events (keyboard, mouse, ...)
- Draw texture
**Thread 2**
- Connection
- Events (g_dispatcher)
- Collect information on what will be drawn on the Map
**Thread 3**
- Collect information on what will be drawn in the UI
**Image:** 
 🧹 Garbage Collection 
**Description (1):**
 [code] 
**Description (2):** 
Garbage collector is used to check what is no longer being used and remove it from memory. *(lua, texture, drawpool, thingtype)*
 🧭 Texture Atlas System 
*(coming with engine improvements and draw-call reduction)*
- C++20 ( v17 , Unity build and Manifest Mode *(vcpkg.json)* ) build in x32 and x64 
- Walking System Improvements 
- Supports sequenced packages and compression 
- Asserts load (Tibia 13)
---
### 🎛️ UI & UX
 🧩 UIWidgets Improvements 
- **Description:** Improvements in the UI algorithm; better performance in add/remove/reposition widgets. Visible in the **battle module**.
- **Video:** 
 https://github.com/user-attachments/assets/35c79819-b78b-4578-a4a2-af1235139807
 🔁 Auto Reload Module 
Activate: `g_modules.enableAutoReload()` (init.lua) 
Video: 
https://github.com/kokekanon/otclient.readme/assets/114332266/0c382d93-6217-4efa-8f22-b51844801df4
 ✨ Attache

Blurb generated by claude-haiku-5-5 today. Star deltas marked ~ are extrapolated from partial history.