• Stars
    star
    631
  • Rank 68,841 (Top 2 %)
  • Language
    C++
  • License
    Other
  • Created over 13 years ago
  • Updated 25 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An alternative tibia client for otserv written in C++11 and Lua, made with a modular system that uses lua scripts for ingame interface and functionality, making otclient flexible and easy to customize

Build Status Join the chat at https://gitter.im/edubart/otclient Open Source Helpers

What is otclient?

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++11 and heavily scripted in lua.

For a server to connect to, you can build your own with the forgottenserver or connect to one listed on otservlist.

Where do I download?

Compiled for Windows can be found here (but can be outdated):

NOTE: You will need to download spr/dat files on your own and place them in data/things/VERSION/ (i.e: data/things/1098/Tibia.spr)

Features

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.

Compiling

In short, if you need to compile OTClient, follow these tutorials:

Build and run with Docker

To build the image:

docker build -t edubart/otclient .

To 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 edubart/otclient /bin/bash

# Enable access control for the X server.
xhost -

Need help?

Try to ask questions in otland, now we have a board for the project there, or talk with us at the gitter chat.

Bugs

Have found a bug? Please create an issue in our bug tracker

Contributing

We encourage you to contribute to otclient! You can make pull requests of any improvement in our github page, alternatively, see Contributing Wiki Page.

Contact

Talk directly with us at the gitter chat Join the chat at https://gitter.im/edubart/otclient.

License

Otclient is made available under the MIT License, thus this means that you are free to do whatever you want, commercial, non-commercial, closed or open.

More Repositories

1

nelua-lang

Minimal, efficient, statically-typed and meta-programmable systems programming language heavily inspired by Lua, which compiles to C and native code.
Lua
1,806
star
2

minicoro

Single header stackful cross-platform coroutine library in pure C.
C
557
star
3

sokol_gp

Minimal modern efficient cross platform 2D graphics painter in C
C
404
star
4

minilua

Single-file port of Lua, a powerful scripting language.
C
220
star
5

minivorbis

Single-file port of libogg and libvorbis for decoding ogg sound files.
C
59
star
6

miniphysfs

Single-file port of PhysFS, a library that provides abstract access to various archives.
C
56
star
7

ddosmon

Live DDOS monitor in the command line using ncurses
C++
56
star
8

lua-bint

Arbitrary precision integer arithmetic library in pure Lua
Lua
54
star
9

lpegrex

Parse programming languages syntax into an AST using PEGs with ease (LPeg Extension).
Lua
54
star
10

luamon

Live development utility for Lua inspired by nodemon
Lua
54
star
11

nelua-decl

C binding generator for Nelua using GCC Lua plugin.
Lua
40
star
12

riscvm

Tiny RISC-V virtual machine
C
34
star
13

arraymancer-vision

Simple library for image loading, preprocessing and visualization for working with arraymancer.
Nim
27
star
14

nelua-batteries

Lua
24
star
15

nelua-tetris

Tetris game clone made in Nelua with Raylib
Lua
23
star
16

nelua-game2048

Clone of the 2048 game in Nelua using Raylib
Lua
22
star
17

nelua-vscode

Nelua syntax highlighting for Visual Studio Code
JavaScript
20
star
18

lester

Minimal Lua test framework
Lua
19
star
19

android-libs

Port of C++ libraries to Android that I use in my projects
C
17
star
20

antcopter

2D speed run platformer game made for the WASM4 Game Jam
Lua
17
star
21

arraymancer-demos

Demos and benchmarks of arraymancer (WIP)
Nim
14
star
22

nelua-sublime

Nelua syntax highlighting for Sublime Text
13
star
23

lunray

Ray tracing experiment in Nelua programming language
Lua
13
star
24

forkmon

Watch for file changes and auto restart an application using fork checkpoints to continue the process (for quick live development)
C
12
star
25

nelua-benchmarks

Benchmarks for comparing efficiency of Nelua with Lua, LuaJIT and C
Lua
12
star
26

nldoc

Tool to generate documentation for Nelua source files.
Lua
10
star
27

euluna-binder

Smart C++ binder for lua
C++
9
star
28

miniminiz

Miniz in a single C header.
C
8
star
29

srpmalloc

Fork of rpmalloc to be used with single thread applications and old C compilers
C
8
star
30

otml

OTML, a human readable and easy typing data serialization file format. This is a compact version of its emitter/parser extracted from OTClient in just one header with no dependencies.
C++
8
star
31

ioslibs

Build scripts that I use to build required libraries for my iOS projects
Shell
8
star
32

minialloc

Allocator using multiple pools for small allocations, in a single C header.
C
7
star
33

nelua-lsp

Experimenting creating a minimal LSP for Nelua to be used for tooling in text editors
Lua
5
star
34

bwrapbox

Linux sandboxing utility on top of bubblewrap
C
5
star
35

nelua-vim

Vim plugin for Nelua, originally created by Stefanos
Vim Script
5
star
36

marcherstein3d

Realtime pseudo 3D raycaster on the CPU using 2D ray marching
Lua
5
star
37

gcc-lua

Mirror of https://git.colberg.org/gcc-lua with minor fixes.
C
5
star
38

lua-dumper

A small library for dumping lua variables quickly. This library is typically used for quick debugging values to the terminal where one would use print but want more information about the value (like table content), output to stderr by default (or other file handle) and optionally time elapsed.
Lua
5
star
39

nelua-webview-demo

Example using Nelua for WebView apps
C++
4
star
40

nelua-samples

Some sample applications write in Nelua
C
4
star
41

cartesi-wasm-term

Cartesi Machine interactive terminal in the browser
C++
4
star
42

synack

Efficient network DDOS attacker tool for testing
C
4
star
43

cartesi-doom-example

Cartesi Machine running DOOM example
C
4
star
44

lua-hasher

A small library with hash and encoding functions implemented in C. Currently supports blake2b hashing and base58 encode/decode.
C
3
star
45

neuralnet

Simple and compact neural network in C using backpropagation algorithm
C
3
star
46

aoc

Advent of Code 2020 in Nelua
Lua
3
star
47

riv

RIV game framework - WIP
C
3
star
48

fwmonitor

Lua
2
star
49

osxlibs

Homebrew formulas that I use for compiling libraries for my Mac OS X projects
Ruby
2
star
50

nelua-decl-extra

Extra bindings for Nelua that I won't maintain regularly
Lua
2
star
51

TibiaEye

Old project that I've found lost in an old HD, it was a functional TibiaCam in Qt
C++
2
star
52

hypervisor-playground

Playing with hypervisor, running guest machines inside a host machine being emulated
Makefile
2
star
53

glwall

Simple experiment for animated wallpapers in Linux using GLSL shaders
C
1
star
54

edubart.github.com

Ruby
1
star
55

edubart

GitHub profile
1
star