Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5,065 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GuildTalk Client

GuildTalk Client is an alternative game client for the GuildTalk MMORPG platform. It aims to be complete and flexible, offering LUA scripting for all game interface functionality, CSS-like syntax for UI design, and a modular system where each functionality is a separate module. Users can create new mods and extend the interface freely. Written in C++20 and heavily scripted in LUA.

For a server to connect to, you can use the GuildTalk Server.


Table of Contents

  1. Overview
  2. Features
  3. Platform Compatibility
  4. The Mobile Project
  5. Building
  6. Docker
  7. Protocol Support
  8. Community Mods and Integrations
  9. Roadmap
  10. Need Help?
  11. Bugs
  12. Contributing
  13. License

Overview

GuildTalk Client is a full-featured MMORPG game client with a powerful scripting engine, modern rendering pipeline, and extensive customization capabilities. It supports protocols from version 7.6 through 15.11, making it compatible with a wide range of GuildTalk Server configurations. Beyond its flexibility with scripts, it comes with a sound system, graphics effects with shaders, modules/addons, animated textures, styleable UI, transparency, multi-language support, in-game LUA terminal, and an OpenGL 2.0 ES engine that allows porting to mobile platforms. It is also flexible enough to create tools like map editors using scripts -- GuildTalk Client is a framework + Game APIs.


Features

Performance and Engine

Draw Render (optimization showcase)
460783937-d8a36c7e-b5ba-46ac-a881-a42f76a9eb01.mp4
Asynchronous Texture Loading
  • Description: With this feature the spr file is not cached, consequently less RAM is consumed.

  • Video:

    Asynchronous.texture.loading.mp4
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: multinucleo

Garbage Collection

Garbage collector is used to check what is no longer being used and remove it from memory (lua, texture, drawpool, thingtype). This allows the client to maintain efficient memory usage, avoid unnecessary data accumulation, and improve overall stability.

Texture Atlas System

Coming with engine improvements and draw-call reduction.

  • C++20 (v17, Unity build and Manifest Mode via vcpkg.json) build in x32 and x64
  • Walking System Improvements
  • Supports sequenced packages and compression
  • Assets load (version 13)

UI and UX

UIWidgets Improvements
  • Description: Improvements in the UI algorithm; better performance in add/remove/reposition widgets. Visible in the battle module.

  • Video:

    460149646-4eee68e4-7572-4232-b762-65f4d50219ee.mp4
Auto Reload Module

Activate: g_modules.enableAutoReload() (init.lua) Video:

2022-11-17_17-45-35-1.1.mp4
Attached Effects System (aura, wings...)

You can adjust offsets per looktype using ThingConfig when a default offset doesn't align perfectly for a given sprite.

ThingCategory Attached Effect Texture (PNG) Attached Effect Particle

Module Controller System

A safer way to create modules, without the need to unbind keys, disconnect events, or destroy widgets. Example: (modules/game_minimap/minimap.lua)

Anti-Aliasing Mode Options
  • Note: Smooth Retro will consume slightly more GPU.

GIF: aa

Creature Information by UIWidget

Video:

Video_Sem_Titulo_Feito_Com_O_Clipchamp1.mp4
Tile Widget

Wiki: https://github.com/mehah/otclient/wiki/Tutorial-Attached-Effects

Tile Attached Effect Tile Widget Tile Particle

Support HTML/CSS Syntax
htmlcss.mp4
OTClient_-_Redemption_LIVE_RELOAD_ENABLED_2025-09-20_17-08-56.mp4
Video_Sem_Titulo_Feito_Com_O_Clipchamp1.mp4
349623570-3fa1803a-2759-4b2f-890e-05f987f43260.mp4

Module examples:

Latency-adaptive camera

The camera adapts to the server latency to always remain smooth and avoid stuttering while walking. If the ping gets high, the camera moves slower to keep up with the server's response time; if the ping drops, the camera moves faster. (Depends on character speed.)

Support Negative Offset (.dat)

Video:

offsets.mp4
  • Floor Shadowing
  • Highlight Mouse Target (press Shift to select any object)
  • Floor View Mode (Normal, Fade, Locked, Always, Always with transparency)
  • Floating Effects Option
  • Refactored Walk System
  • Support for more mouse buttons (e.g., 4 and 5)
  • Support DirectX
  • HUD Scale

Compatibility and Protocols

  • Client 7.6 ~ 12.85 ~ 12.92, 13.00 ~ 15.11 support (protobuf)
  • Market rewritten (compatible with GuildTalk Server)
  • Async Texture Loading (engine-level feature)
  • Supports sequenced packages and compression

Community Mods and Integrations

Community Features

Discord RPC -- @SkullzOTS

Example interface Example in game Future discord-game-sdk

Encryption System -- @Mrpox (unsafe implementation)
  • by @Mrpox
  • Enable via config.h: set ENABLE_ENCRYPTION=1 and change ENCRYPTION_PASSWORD
  • To enable building encryption with --encrypt, set ENABLE_ENCRYPTION_BUILDER=1 (by @TheMaoci)
  • Generate encrypted files by running client with: --encrypt SET_YOUR_PASSWORD_HERE

Warning: This encryption implementation is considered unsafe. Use at your own risk.

Client Updater -- @conde2
Colored Text -- @conde2
  • by @conde2
  • Usage: widget:setColoredText("{Colored text, #ff00ff} normal text")
QR Code support -- @conde2
  • by @conde2
  • UIQrCode properties example:
    • code-border: 2
    • code: Hail GuildTalk Client - Conde2 Dev
Typing Icon -- @SkullzOTS

Smooth Walk Elevation -- @SkullzOTS

Layout based on version 13 -- @marcosvf132
  • by @marcosvf132
  • Game_shop based on Store by @Oskar1121, modified/fixed by @Nottinghster
  • Minimap WorldTime
    • GuildTalk Server LUA: function Player.sendWorldTime(self, time)
  • Outfit windows compatible with attachEffect, shader
  • Calendar
  • client_bottommenu (activate Services.status array in init.lua)

Interface In-game

  • Imbuement tracker -- by @Reyaleman
  • Blessing
  • Screenshot
  • Highscores
  • Store (compatible with 1098, 12.91 ~ 13.40)
  • QuickLoot
  • Groups Vip
  • Reward Wall (Daily Rewards)
Browser Client -- @OTArchive

Interface Density Pixel Joystick

Creature Map Mount

Example 1 Example 2 Example 3
001_example.mp4
002_example.mp4
003_example.mp4

Sponsored Features

Creature Items UICreature

V8 Features

  • Lighting System
  • Floor Fading
  • Path Finding
  • Module Shop
  • Module Outfit
  • Placeholder
  • UIGraph
  • Keybinds
  • Cam system

Platform Compatibility

Windows

  • Supported versions: Windows 10 or later (64-bit)
  • Compiler: MSVC 2022 (Visual Studio 2022) with C++20 support
  • Build tools: CMake 3.22+, vcpkg for dependency management
  • Graphics: OpenGL 2.0 ES or DirectX 9/11 support
  • Architecture: x86, x86_64

Linux

  • Supported distributions: Ubuntu 22.04+, Debian 12+, Fedora 38+, Arch Linux
  • Compiler: GCC 12+ or Clang 15+ with C++20 support
  • Build tools: CMake 3.22+, Make or Ninja
  • Dependencies: OpenGL, OpenAL, Boost, PhysFS, zlib, libzip, protobuf (installable via package manager)
  • Architecture: x86_64

macOS

  • Supported versions: macOS 13 (Ventura) or later
  • Compiler: Apple Clang (Xcode 14+) or Homebrew GCC/Clang
  • Build tools: CMake 3.22+ (via Homebrew)
  • Dependencies: installable via Homebrew or vcpkg
  • Architecture: x86_64, Apple Silicon (arm64)

Android


The Mobile Project

This is a fork aimed at developing a runnable GuildTalk Client on mobile devices.

Tasks

  • Compile on Android devices
  • Compile on Apple devices
  • Adapt the UI reusing the existing LUA code

Current compiling tutorials


Building

If you are interested in compiling this project, visit the Wiki for detailed build instructions for all platforms.


Docker

Build and run the application using Docker:

1) Build the image

docker build -t guildtalk/client .

2) Run the built image

# Disable access control for the X server.
xhost +

# Run the container image with the required bindings to the host devices and volumes.
docker run -it --rm \
  --env DISPLAY \
  --volume /tmp/.X11-unix:/tmp/.X11-unix \
  --device /dev/dri \
  --device /dev/snd guildtalk/client /bin/bash

# Enable access control for the X server.
xhost -

Protocol Support

Protocol / Version Description Required Feature Compatibility
TFS (7.72) Downgrade nekiro / Nostalrius force-new-walking-formula: true Supported
TFS 0.4 (8.6) Fir3element item-ticks-per-frame: 500 Supported
TFS 1.5 (8.0 / 8.60) Downgrade nekiro / MillhioreBT force-new-walking-formula: true Supported
TFS 1.4.2 (10.98) Release -- Supported
TFS 1.6 (13.10) Main repo (2024) See wiki Supported
GuildTalk Server (13.21 / 13.32 / 13.40) GuildTalk See Wiki Supported
GuildTalk Server (14.00 ~ 14.12) GuildTalk See Wiki Supported
GuildTalk Server (15.00 ~ 15.11) GuildTalk See Wiki Supported

Tip: If using Nostalrius 7.2, Nekiro TFS-1.5-Downgrades-7.72, or any protocol below 860, and the walking system is stuttering, set force-new-walking-formula: true in data/setup.otml. In old protocols, if item speed feels too fast, adjust item-ticks-per-frame: 75.


Roadmap

TO-DO Status PR
Sound version 13 80% #1098
Prey and tasks 10% #1380
Compendium 15% #1625
Party List 0% None
Proficiency 80% #1593
New Imbui 15x/14x 80% #1616

Need Help?

Ask questions on Discord: https://discord.gg/tUjTBZzMCy


Bugs

Found a bug? Please create an issue in our bug tracker.


Contributing

Contributions are welcome! Fork the repository, create a feature branch, and submit a pull request.

If you are interested in supporting the project, donate here: PayPal


License

GuildTalk Client is made available under the MIT License -- you are free to use it for commercial, non-commercial, closed or open projects. See: MIT License

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages