Skip to content

Releases: opentibiabr/canary

Canary - Version 3.2.1

04 Jun 22:53
ed2e413
Compare
Choose a tag to compare

Welcome! The OpenTibiaBR team is deeply committed to continuously enriching this project with new features and fixes. Your support, either financial or through code contributions and issue reports, is vital for our ongoing work.

  • To contribute code or report problems, join our Discord community.

  • If you'd like to financially support the project, please consider making a donation.

  • For tutorials and additional resources, visit our documentation.

In this release version, have a new "otbm" map version

Map editor change: : opentibiabr/remeres-map-editor@6d501a5

Server change: ed2e413

Here is the docs tutorial for use this: https://docs.opentibiabr.com/opentibiabr/projects/canary/tutorials/mapping/windows-remeres-map-editor-opening-canary-otservbr-global-map


Download Tibia Client 14.05.70ce66

Download OTClient Redemption, thanks for @mehah

What's Changed

New Contributors

Full Changelog: v3.2.0...v3.2.1

Canary - Version 3.2.0

13 May 05:09
5d4194d
Compare
Choose a tag to compare

Welcome! The OpenTibiaBR team is deeply committed to continuously enriching this project with new features and fixes. Your support, either financial or through code contributions and issue reports, is vital for our ongoing work.

  • To contribute code or report problems, join our Discord community.

  • If you'd like to financially support the project, please consider making a donation.

  • For tutorials and additional resources, visit our documentation.


Download Tibia Client 13.40.93b0a1

Download OTClient Redemption, thanks for @mehah

What's Changed

Read more

Canary - Version 3.1.2

02 Dec 18:55
37e387d
Compare
Choose a tag to compare

Welcome! The OpenTibiaBR team is deeply committed to continuously enriching this project with new features and fixes. Your support, either financial or through code contributions and issue reports, is vital for our ongoing work.

  • To contribute code or report problems, join our Discord community.

  • If you'd like to financially support the project, please consider making a donation.

  • For tutorials and additional resources, visit our documentation.


Download Tibia Client 13.21.13839

Download OTClient Redemption, thanks for @mehah

What's Changed

New Contributors

Read more

Canary - Version 3.1.1

08 Nov 15:01
2137f6f
Compare
Choose a tag to compare

Welcome! The OpenTibiaBR team is deeply committed to continuously enriching this project with new features and fixes. Your support, either financial or through code contributions and issue reports, is vital for our ongoing work.

  • To contribute code or report problems, join our Discord community.

  • If you'd like to financially support the project, please consider making a donation.

  • For tutorials and additional resources, visit our documentation.


Download Tibia Client 13.21.13839

Download OTClient Redemption, thanks for @mehah

What's Changed

  • improve: safety when getting a tile by @mehah in #1781
  • fix: guild bank withdraw checking against incorrect bankable by @LeoTKBR in #1787
  • fix: convert forgotten knowledge boss levers to lib by @luan in #1783
  • fix: unjustified death by @dudantas in #1789
  • docs: set new release version (3.1.1) by @dudantas in #1790

Full Changelog: v3.1.0...v3.1.1

Canary - Version 3.1.0

04 Nov 22:57
22f32c3
Compare
Choose a tag to compare

Welcome! The OpenTibiaBR team is deeply committed to continuously enriching this project with new features and fixes. Your support, either financial or through code contributions and issue reports, is vital for our ongoing work.

  • To contribute code or report problems, join our Discord community.

  • If you'd like to financially support the project, please consider making a donation.

  • For tutorials and additional resources, visit our documentation.


A Brief Introduction Before the Changelog

The changelog is split into two sections: the first details the updates of the previous major release (3.0.0), and the second outlines the changes in the current release.

Before diving into the changelog, let's take a moment to recap what has changed since our last release in December 2022.

We felt the project needed a fresh direction, something unprecedented in the OpenTibia community. Thus, we've focused on enhancing the security and stability of the server to deliver a superior experience for everyone!

Canary's Progress Since December 20, 2022 (v2.6.1)

  • 722 Commits: A sizeable portion of these commits addressed chronic issues in OpenTibia and pushed the performance and security of our project to new heights. To highlight a few:

    • Memory Management: Most of the critical raw pointers have been converted to use automatic memory management (shared_ptr and unique_ptr).
    • Optimized Systems: Heavy systems like the dispatcher, thread pool, and spectators have been revamped for better performance.
  • Community Contributions: We've fixed dozens of crashes and critical bugs, all thanks to the feedback and assistance from the community and server owners. Special thanks to Douglas @QuebradaZN, whose server recently supported (nearly) four hundred concurrent players using our latest release (without any type of problem).

To each of you who has contributed, whether through code or feedback, thank you sincerely. Your contributions are pivotal to our progress, and we are committed to making Canary the best MMORPG engine in the OpenTibia community.


Download Tibia Client 13.21.13839

Download OTClient Redemption, thanks for @mehah

What's Changed

Release 3.0.0

  • improve: replace boost::asio with asio, fix some include and CMakeList.txt by @beats-dh in #721
  • enhance: change boost::iostreams::mapped_file_source by mio library by @dudantas in #723
  • enhance: remove boost-variant by @dudantas in #722
  • fix: upload artifacts in GHA from Ubuntu by @beats-dh in #706
  • fix: custom attribute serialize function by @dudantas in #727
  • enhance: remove boost lexical and algorithm by @dudantas in #724
  • fix: include lua jit in pch.hpp by @dudantas in #728
  • improve: refactored code and fixes compilation warn from Ubuntu 23.04 by @beats-dh in #726
  • improve: change all file headers to canary project by @dudantas in #730
  • fix: global result table to Result by @dudantas in #731
  • ci/cd: update SonarCloud GHA by @Costallat in #725
  • fix: handling nullptr in Game::internalMoveItem and other functions by @dudantas in #737
  • improve: rework in pugi::cast and others fixes by @dudantas in #734
  • improve: refactor loadScripts function to improve readability and performance by @dudantas in #739
  • fix: clone items in market, checking if item exists in depot before creating an offer by @carlospess0a in #736
  • fix: create market offer by @dudantas in #749
  • fix: player auto id (fixing 65536 player id max size) by @dudantas in #754
  • fix: imbued item does not start the imbuement timer countdown by @dudantas in #475
  • fix: forge skill chance bug by changing data type from int to double by @murilo09 in #761
  • fix: add skill talkaction from canary pack by @dudantas in #745
  • improve: clean and update docker by @Costallat in #716
  • improve: rework on Player::getStorageValue for return storage value by @dudantas in #573
  • improve: changing concatenation to fmt::format by @murilo09 in #767
  • fix: blackboard description by adding 'allowDistRead' flag by @murilo09 in #766
  • feat: methods to set factions into player by @carlospess0a in #693
  • refactor: remove old XML interface by @dudantas in #740
  • fix: remove target without accessing freed memory by @dudantas in #786
  • fix: out of bounds memory access in setValue function by @dudantas in #785
  • fix: setLootContainer without accessing freed memory by @dudantas in #787
  • fix: added player nullpointer check (function updateCreatureType) by @dudantas in #791
  • fix: added condition argument to wait calls in threadMain functions by @dudantas in #790
  • fix: close server console after done message by @dudantas in #796
  • fix: some combat nullpointers by @dudantas in #788
  • improve: upgrade curl to use TLS version 1.2 by @beats-dh in #705
  • fix exception handling, switch/if chain and others by @dudantas in #798
  • cd/ci: removal of actions that are not working correctly by @dudantas in #801
  • feat: add function for loading/unloading OTBM files per offset by @Glatharth in #436
  • improve: adding script name in lua scripts errors logs by @dudantas in #800
  • fix: weapons, reverting some changes from XML pr by @dudantas in #784
  • fix: loop when opening server without database by @murilo09 in #807
  • fix: assigning negative value to unsigned integer (getSkillLevel) by @murilo09 in #769
  • fix: imbuement decay time by @dudantas in #818
  • feat: introducing configurable minimum level for house purchases by @elsongabriel in #814
  • improve: enabling checksum sequence method/compression in OTClient by @mehah in #821
  • fix: party hunt analyzer prices from leader by @ElimarCosta in #817
  • fix for door not opening/closing by @PeachieDude in #809
  • fix: speed attribute when looking items by @ElimarCosta in #828
  • fix: distance weapons shouldn't hit with fists when without ammo by @ElimarCosta in #755
  • fix: stow all stowable items by moving depot above stash by @ElimarCosta in #822
  • fix: display imbuement damage reductions in cyclopedia by @ElimarCosta in #819
  • fix: charm/leech conditions, wound cleanse & life leech amount fix by @ElimarCosta in #753
  • fix: summons move items off the way and follow correct moving pattern by @ElimarCosta in #823
  • fix: server shutdown in ubuntu, resolves main thread loop by @beats-dh in #838
  • fix: monster target list erasing after player died by @dudantas in #839
  • fix: add missing items on unscripted equipments by @carlospess0a in #782
  • fix: compilation with latest version mio library from vcpkg by @dudantas in #832
  • fix: Canary NPC example addModule missing parameters by @Aerwix in #842
  • improve: rework of Item Attributes for better stability/maintability by @dudantas in #827
  • fix: client debug and show not targeting player when dying near temple by @dudantas in #841
  • fix: some errors in lua scripts by @dudantas in #830
  • feat: added outfit and mount preview feature to the store by @murilo09 in #773
  • fix: using a shovel on a stone pile should move to downstairs by @ElimarCosta in #757
    ...
Read more

Canary - Version 3.0.0

21 Oct 06:35
568f40d
Compare
Choose a tag to compare

Welcome! The OpenTibiaBR team is deeply committed to continuously enriching this project with new features and fixes. Your support, either financial or through code contributions and issue reports, is vital for our ongoing work.

  • To contribute code or report problems, join our Discord community.

  • If you'd like to financially support the project, please consider making a donation.

  • For tutorials and additional resources, visit our documentation.


A Brief Introduction Before the Changelog

Before diving into the changelog, let's take a moment to recap what has changed since our last release in December 2022.

We felt the project needed a fresh direction, something unprecedented in the OpenTibia community. Thus, we've focused on enhancing the security and stability of the server to deliver a superior experience for everyone!

Canary's Progress Since December 20, 2022 (v2.6.1)

  • 722 Commits: A sizeable portion of these commits addressed chronic issues in OpenTibia and pushed the performance and security of our project to new heights. To highlight a few:

    • Memory Management: Most of the critical raw pointers have been converted to use automatic memory management (shared_ptr and unique_ptr).
    • Optimized Systems: Heavy systems like the dispatcher, thread pool, and spectators have been revamped for better performance.
  • Community Contributions: We've fixed dozens of crashes and critical bugs, all thanks to the feedback and assistance from the community and server owners. Special thanks to Douglas @QuebradaZN, whose server recently supported (nearly) four hundred concurrent players using our latest release (without any type of problem).

To each of you who has contributed, whether through code or feedback, thank you sincerely. Your contributions are pivotal to our progress, and we are committed to making Canary the best MMORPG engine in the OpenTibia community.


Download Tibia Client 13.21.13839

Download OTClient Redemption, thanks for @mehah

What's Changed

  • improve: replace boost::asio with asio, fix some include and CMakeList.txt by @beats-dh in #721
  • enhance: change boost::iostreams::mapped_file_source by mio library by @dudantas in #723
  • enhance: remove boost-variant by @dudantas in #722
  • fix: upload artifacts in GHA from Ubuntu by @beats-dh in #706
  • fix: custom attribute serialize function by @dudantas in #727
  • enhance: remove boost lexical and algorithm by @dudantas in #724
  • fix: include lua jit in pch.hpp by @dudantas in #728
  • improve: refactored code and fixes compilation warn from Ubuntu 23.04 by @beats-dh in #726
  • improve: change all file headers to canary project by @dudantas in #730
  • fix: global result table to Result by @dudantas in #731
  • ci/cd: update SonarCloud GHA by @Costallat in #725
  • fix: handling nullptr in Game::internalMoveItem and other functions by @dudantas in #737
  • improve: rework in pugi::cast and others fixes by @dudantas in #734
  • improve: refactor loadScripts function to improve readability and performance by @dudantas in #739
  • fix: clone items in market, checking if item exists in depot before creating an offer by @carlospess0a in #736
  • fix: create market offer by @dudantas in #749
  • fix: player auto id (fixing 65536 player id max size) by @dudantas in #754
  • fix: imbued item does not start the imbuement timer countdown by @dudantas in #475
  • fix: forge skill chance bug by changing data type from int to double by @murilo09 in #761
  • fix: add skill talkaction from canary pack by @dudantas in #745
  • improve: clean and update docker by @Costallat in #716
  • improve: rework on Player::getStorageValue for return storage value by @dudantas in #573
  • improve: changing concatenation to fmt::format by @murilo09 in #767
  • fix: blackboard description by adding 'allowDistRead' flag by @murilo09 in #766
  • feat: methods to set factions into player by @carlospess0a in #693
  • refactor: remove old XML interface by @dudantas in #740
  • fix: remove target without accessing freed memory by @dudantas in #786
  • fix: out of bounds memory access in setValue function by @dudantas in #785
  • fix: setLootContainer without accessing freed memory by @dudantas in #787
  • fix: added player nullpointer check (function updateCreatureType) by @dudantas in #791
  • fix: added condition argument to wait calls in threadMain functions by @dudantas in #790
  • fix: close server console after done message by @dudantas in #796
  • fix: some combat nullpointers by @dudantas in #788
  • improve: upgrade curl to use TLS version 1.2 by @beats-dh in #705
  • fix exception handling, switch/if chain and others by @dudantas in #798
  • cd/ci: removal of actions that are not working correctly by @dudantas in #801
  • feat: add function for loading/unloading OTBM files per offset by @Glatharth in #436
  • improve: adding script name in lua scripts errors logs by @dudantas in #800
  • fix: weapons, reverting some changes from XML pr by @dudantas in #784
  • fix: loop when opening server without database by @murilo09 in #807
  • fix: assigning negative value to unsigned integer (getSkillLevel) by @murilo09 in #769
  • fix: imbuement decay time by @dudantas in #818
  • feat: introducing configurable minimum level for house purchases by @elsongabriel in #814
  • improve: enabling checksum sequence method/compression in OTClient by @mehah in #821
  • fix: party hunt analyzer prices from leader by @ElimarCosta in #817
  • fix for door not opening/closing by @PeachieDude in #809
  • fix: speed attribute when looking items by @ElimarCosta in #828
  • fix: distance weapons shouldn't hit with fists when without ammo by @ElimarCosta in #755
  • fix: stow all stowable items by moving depot above stash by @ElimarCosta in #822
  • fix: display imbuement damage reductions in cyclopedia by @ElimarCosta in #819
  • fix: charm/leech conditions, wound cleanse & life leech amount fix by @ElimarCosta in #753
  • fix: summons move items off the way and follow correct moving pattern by @ElimarCosta in #823
  • fix: server shutdown in ubuntu, resolves main thread loop by @beats-dh in #838
  • fix: monster target list erasing after player died by @dudantas in #839
  • fix: add missing items on unscripted equipments by @carlospess0a in #782
  • fix: compilation with latest version mio library from vcpkg by @dudantas in #832
  • fix: Canary NPC example addModule missing parameters by @Aerwix in #842
  • improve: rework of Item Attributes for better stability/maintability by @dudantas in #827
  • fix: client debug and show not targeting player when dying near temple by @dudantas in #841
  • fix: some errors in lua scripts by @dudantas in #830
  • feat: added outfit and mount preview feature to the store by @murilo09 in #773
  • fix: using a shovel on a stone pile should move to downstairs by @ElimarCosta in #757
  • fix: NPC Ongulf by @murilo09 in #759
  • fix: remove money lua function should remove money from bank too by @murilo09 in https://github.com/opentibiabr/ca...
Read more

Canary - Version 2.6.1

20 Dec 23:39
d58af85
Compare
Choose a tag to compare

Hello, first we would like to say that this project is very important for the OpenTibiaBr team, that's why we are always bringing new content and constant corrections. But, for this work to be even better, we need an incentive, be it financial or contribution (with pull requests and problem reports). Feel free to join our discord and report issues or contribute new codes in this link

  • If you want, you can also donate to our project, here

  • Access our helpful tutorials and downloads here


Download Tibia Client 12.91.12329

Download OTClient 1.0, thanks for @mehah

What's Changed

Full Changelog: v2.6.0...v2.6.1

Canary - Version 2.6.0

09 Dec 03:50
4f2d5f6
Compare
Choose a tag to compare

Hello, first we would like to say that this project is very important for the OpenTibiaBr team, that's why we are always bringing new content and constant corrections. But, for this work to be even better, we need an incentive, be it financial or contribution (with pull requests and problem reports). Feel free to join our discord and report issues or contribute new codes in this link

  • If you want, you can also donate to our project, here

  • Access our helpful tutorials and downloads here


Download Tibia Client 12.91.12329

Download OTClient 1.0, thanks for @mehah

As we don't publish the latest releases, we'll put the changelog of all of them here, in descending order.

  • Release 2.6.0

What's Changed

  • [Bug] fixes the same name conflict of function and global variable by @dudantas in #675
  • [Bug] Fixes some things and miscellaneous adjusts by @beats-dh in #484
  • [Enhancement] added scripts to run server with gdb (linux) by @beats-dh in #458
  • [Bug] fixes some prey and taskhunting fixes by @dudantas in #644
  • [Bug] fixes charm adrenaline by @beats-dh in #649
  • [Enhancement] reorganize reload functions and extract in an own class on cpp by @dudantas in #669
  • [Enhancement] change project to c++ 20 by @dudantas in #662
  • [Bug] fixes creature division of step speed by @dudantas in #676
  • Remove classicEquipmentSlots by @murilo09 in #679
  • [Client Feature] Forge System (Fiendish and Influenced Creatures from 12.80) by @murilo09 in #543
  • Change server to the new release version 2.6.0 by @dudantas in #680

New Contributors

Full Changelog: v2.5.1...v2.6.0

  • Release 2.0.0

NOTE: The global repository was merged with this one, so now we will have two datapacks in the canary, being able to choose which one to use or even choose to use a custom one. Be very careful when upgrading your server from this release onwards!

What's Changed

  • [Enhancement] rework to enable choosing of a custom datapack name by @dudantas in #572
    With this modification, we will be able to focus on just one repository (the canary), and archive otservbr-global.

The intention is that we can have two datapacks in the same repository, being able to easily switch from one to the other, just change in config.lua the "dataPackDirectory" from "data-otservbr-global" to "data-canary" or vice versa.

The main purpose is to facilitate our development, at the same time that the community will be able to contribute in a single repository, but keeping the choice of using a "clean" datapack.

Made some more modifications, such as removing the unused C++ gamestore, I also removed the "allowPickupable" tag, which was duplicated, and I made some other adjustments.

Folder structure changes
Now we have the following structure

data = this will be the "core" folder, it is where the files that are absolutely necessary for the distro to open correctly, such as libs, xmls, etc. Here we will have files that both the global and the canary datapack will share with each other
data-otservbr-global = here will be the global datapack files, some libs and folders that are only for the global server, such as scripts, monsters, npcs, world.
data-canary = a "clean" datapack as far as possible, with only the scripts and files necessary for the server to work.
NOTE: The "data" folder is actually the "core" of the server, we didn't rename it to avoid having to make changes to the sites and login.php, since they read the "data/xml". The other two folders, data-otservbr-global and data-canary can be changed in config.lua, which one you want the executable to read, by default we'll point to the global one, as that's what most use. If you want to start a custom server with "as few files and scripts as possible", then switch to "data-canary".

We also added a boolean in config.lua that allows choosing another name for the datapack, by default we will also keep this disabled, since we will only maintain support for these two datapacks, it is up to each one to know what they are doing in case they want to change it.

So, in the end, we have the reorganization in the folders:
58855

Note that we made few real changes to the files, the abundance of modified files is due to moving from one folder to another and also adding the global datapack to this repository (with an abundance of files). If you want to migrate your datapack to the global one, you should know what you're doing, if you don't know, just pass your modifications to the "new files" or get in touch on our discord group, so we can help you.

Full Changelog: v1.6.0...v2.0.0

  • Release 1.6.0

NOTE: The next release will have big datapack related changes where the global repository will be merged with the canary repository.

What's Changed

New Contributors

Full Changelog: v1.5.0...v1.6.0

Canary - Version 2.0.0

08 Dec 04:08
6c924eb
Compare
Choose a tag to compare

Download Tibia Client 12.91.12329

Download OTClient 1.0, thanks for @mehah

NOTE: The global repository was merged with this one, so now we will have two datapacks in the canary, being able to choose which one to use or even choose to use a custom one. Be very careful when upgrading your server from this release onwards!

What's Changed

  • [Enhancement] rework to enable choosing of a custom datapack name by @dudantas in #572
    With this modification, we will be able to focus on just one repository (the canary), and archive otservbr-global.

The intention is that we can have two datapacks in the same repository, being able to easily switch from one to the other, just change in config.lua the "dataPackDirectory" from "data-otservbr-global" to "data-canary" or vice versa.

The main purpose is to facilitate our development, at the same time that the community will be able to contribute in a single repository, but keeping the choice of using a "clean" datapack.

I made some more modifications, such as removing the unused C++ gamestore, I also removed the "allowPickupable" tag, which was duplicated, and I made some other adjustments.

Folder structure changes
Now we have the following structure

data = this will be the "core" folder, it is where the files that are absolutely necessary for the distro to open correctly, such as libs, xmls, etc. Here we will have files that both the global and the canary datapack will share with each other
data-otservbr-global = here will be the global datapack files, some libs and folders that are only for the global server, such as scripts, monsters, npcs, world.
data-canary = a "clean" datapack as far as possible, with only the scripts and files necessary for the server to work.
NOTE: The "data" folder is actually the "core" of the server, we didn't rename it to avoid having to make changes to the sites and login.php, since they read the "data/xml". The other two folders, data-otservbr-global and data-canary can be changed in config.lua, which one you want the executable to read, by default we'll point to the global one, as that's what most use. If you want to start a custom server with "as few files and scripts as possible", then switch to "data-canary".

We also added a boolean in config.lua that allows choosing another name for the datapack, by default we will also keep this disabled, since we will only maintain support for these two datapacks, it is up to each one to know what they are doing in case they want to change it.

So, in the end, we have the reorganization in the folders:
58855

Note that we made few real changes to the files, the abundance of modified files is due to moving from one folder to another and also adding the global datapack to this repository (with an abundance of files). If you want to migrate your datapack to the global one, you should know what you're doing, if you don't know, just pass your modifications to the "new files" or get in touch on our discord group, so we can help you.

Full Changelog: v1.6.0...v2.0.0

Canary - Version 1.6.0

08 Dec 04:04
d39401a
Compare
Choose a tag to compare

Download Tibia Client 12.91.12329

Download OTClient 1.0, thanks for @mehah

NOTE: The next release will have big datapack related changes where the global repository will be merged with the canary repository.

What's Changed

New Contributors

Full Changelog: v1.5.0...v1.6.0