• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

TibiaAPI: Record, Redact, Extract, and Watch

jo3bingham

Excellent OT User
Joined
Mar 3, 2008
Messages
1,103
Solutions
14
Reaction score
772
GitHub
jo3bingham
TibiaAPI is an open-source, cross-platform proxy written in C# that currently supports protocols 11.80-12.40*. The name is dedicated to the original TibiaAPI that I was lucky enough to be a part of.

Four apps have been created for public use: Record, Redact, Extract, and Watch.
  • Record lets you record your gaming session.
  • Redact lets you anonymize your recordings.
  • Extract lets you extract data from your recordings, including converting them to OTBM files.
  • Watch lets you watch your recordings through a client.

The core library (TibiaAPI.dll) targets .NET Standard 2.0 so it can be used with any platforms that support it. All of the apps target .NET Core 3.1 so that they can be used on Windows, Linux, and macOS. Please read the README on the GitHub repository for more detailed information.

The GitHub repository is now live: jo3bingham/TibiaAPI (https://github.com/jo3bingham/TibiaAPI)

There are currently no pre-built releases, so you will need to download and install the .NET Core 3.1 SDK in order to build and run the apps.

If you enjoy the project, and like the work that has been put into it, feel free to donate. Donations aren't necessary, but anything is appreciated. Thanks!
Paypal: PayPal.Me/jo3bingham
Revolut: @josephlh4
Bitcoin: 1JWuyfeCV4SJtmDv16d3SadV4Nq8xtCB5v
Ethereum: 0xaD4d3650A89a2786B60F86c2980d772aa412741F
XRP: Address: rw2ciyaNshpHe7bCHo4bRWq6pqqynnWKQg | Tag: 1431977163

* - Protocol 12.40 is still under development, but is up-to-date enough to be used. Plus there are some unknowns from older updates that haven't been solved. I haven't used outside information (e.g., otservbr-global) to address unknowns, so it is possible they are known and can be easily addressed.
 
Last edited:
Once again with absolutely fantastic project. Awesome work.
 
I can't wait to maybe finally see an open tibia server that actually has a real tibia map and is up to the same standard we have been using for so long. While you're at it, use this chance to get rid of the items.otb as a whole, there is a reason why we haven't been using the TFS one or one at all for everything we did.
 
With the official client update to 12.40.10030, CipSoft added the client version as a string to the Login packet sent from the client. This has been addressed and pushed to master. For those using pre-built releases, those will be updated later today (which will include other various improvements).
 
I must inject the dll into the client or there is another way to execute it?
This is a proxy, it doesn't touch the client in any way. By default, the proxy listens on port 7171 on localhost. All you have to do is start the proxy (for example, by running the Record app) then login with a client that has its login address pointed at http://127.0.0.1:7171/ and its RSA key changed to the Open-Tibia one that's been used for years. If you need help with the client you can try this tool (note that I haven't test it myself): opentibiabr/client-editor (https://github.com/opentibiabr/client-editor)
 
Dropping in with a couple of updates.

1. I am in the process of creating more wiki articles on the repo. These include detailed instructions on how to use each app, and the api itself, as well as more fun, bot features you can use the api to emulate (e.g., outfit changer, talk actions, etc.), and even a look into how I use the api to reverse-engineer new packets.

2. I have been accepted into GitHub Sponsors. So for anyone who wants to sponsor development monthly can now do so: Sponsor @jo3bingham on GitHub Sponsors (https://github.com/sponsors/jo3bingham)

Also, I want to say a quick thank you to those who have donated so far. I really appreciate it!
 
How to make it work with windows 10 ? Record an otserver, set client location and login ip ?
 
Incredible tool.

Would it be possible to generate automatic spawn when saving the map?
 
Pass --monsters to extract monster data to a local file named monsters.txt. Monster data is in the format: Name Position. e.g., Rat 54321,09876,8. Note that monsters are tracked by ID, so it's possible to have more than one creature at/near a position if a monster tracked at that position dies and another spawns.
 
Two new articles have been added to the wiki!

The first is on how to use the included Record and Extract apps to map track: jo3bingham/TibiaAPI (https://github.com/jo3bingham/TibiaAPI/wiki/%5BHow-To%5D-Track-Maps)

The second is on how you can use TibiaAPI to intercept, modify, block, and send packets to the server and client: jo3bingham/TibiaAPI (https://github.com/jo3bingham/TibiaAPI/wiki/%5BHow-To%5D-Intercept,-Modify,-Block,-and-Send-Packets)

The second article includes bonus example code at the end, using information from the article, for creating your own auto-haste feature! 👀
 
Last edited:
Back
Top