Canary Server 13.x for OpenTibia community.
Full Changelog: https://github.com/opentibiabr/canary/compare/v3.1.1...v3.1.2
Full Changelog: https://github.com/opentibiabr/canary/compare/v3.1.0...v3.1.1
donate
to our project, hereforge_dusts
and forge_dust_level
from schema.sql
by @Rechdan in https://github.com/opentibiabr/canary/pull/683
getPreyLootPercentage
by @Rechdan in https://github.com/opentibiabr/canary/pull/684
assassin
's monster.Bestiary.toKill
value by @Rechdan in https://github.com/opentibiabr/canary/pull/682
Full Changelog: https://github.com/opentibiabr/canary/compare/v2.6.0...v2.6.1
donate
to our project, hereFull Changelog: https://github.com/opentibiabr/canary/compare/v2.5.1...v2.6.0
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:
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: https://github.com/opentibiabr/canary/compare/v1.6.0...v2.0.0
Full Changelog: https://github.com/opentibiabr/canary/compare/v1.5.0...v1.6.0
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:
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: https://github.com/opentibiabr/canary/compare/v1.6.0...v2.0.0
Full Changelog: https://github.com/opentibiabr/canary/compare/v1.5.0...v1.6.0
#318, #386, #449
Full Changelog: https://github.com/opentibiabr/canary/compare/v1.4.2...v1.5.0
Fix cmake warning (wrong boost dir on library) (#362, d2279bf, @dudantas)
Resolves the issue of killing some monsters giving error on distro (#370, 8686cd9, @dudantas)
Fix typo on daily reward, from addItemId to addU16 (#371, 9da46a7, @dudantas)
Fix item name register from appearances protobuf (#376, a4073d7, @marcosvf132) It was missing the item name register on the function void Items::loadFromProtobuf() on the Items map. This map is used to identify a item by it's name instead of ID. This is largely used on the SRC and LUA environments.
Fix removing unnecessary warn on item creation when id equal 0 (#368, 48ab545, @marcosvf132) Add a check on the SPDLOG::WARN to prevent when itemID is equal 0. This happens a lot when slain a creature that has no body registered. (Regular creatures/summons/boss)
Fix protobuf error on server loading (#380, 5ad63c1, @beatsdh and @marcosvf132) Change all 'strings' to 'bytes' This wrong behavior on the items name register was affecting only items who had their names on the appearances.dat protobuf file but was not registered on the items.xml file
Fix magic wall and wild growth rune bug (#388, f5fb255, @dudantas) Created a new function to set the min/max duration of an item, id to decay and whether or not to show the duration Fixed mw being walkable, fixing a small typo in blocking parse Usage of setDuration: item:setDuration(minduration, maxduration = 0, decayid = 0, showDuration = true)
Fixed bug summon not searching player target and icons update (#395, 6b56fbf, @dudantas) Fixed the bug when the player was attacking a creature and summoned, the summon would not attack the creature until the player stopped attacking and attacked again Fixed the icon of creatures that use the "creature:addSummon" function Added Game::reloadCreature functions Rework on function "Creature::setMaster", somes functions were centralized within the setMaster, avoiding repetitions: Creature::setTarget Creature::setFollowCreature Creature::setDropLoot Creature::setSkillLoss
Fix non-unique item name registration (#390, 63b30ca, @marcosvf132) Fix an issue related to items that have a non-unique name on the register. This problem was breaking some monster's loot.
Fix unexpected behavior on connection send and disconnect (#408, 4f1dbaf, @dudantas) Added nullptr check for validate connection Renamed protocol variable from connection to connectionPtr to avoid shadowing with the other connection variable added to check nullptr
Fix magic wall and wild growth on retro-pvp and no-pvp logic (#400, dc5c868, @dudantas) The magic wall/wild growth rune should only be removed when stepping if it's no-pvp and if it's not blocking
Few prey/task hunting fixes and improvements (#385, b1786d5, @marcosvf132)
Fix null function on daily reward (#375, 1960d49, @dudantas) Resolves #374
Fix "nil item" on daily reward (#423, 0b65754, @dudantas) Resolves #421
Fix checks on player death, player speed breakpoint and misc enhancements (#378, e5cc80a, @omeranha) Added tag in config.lua for: Max critical chance of imbuements Adventurers blessing level Inventory glow on five bless Fixes Set default maxSpeed for 70000 Still blessed after dead for work with "no disconnect on death" Player targetting after dead for work with "no disconnect on death" Adventurer blessing logic for work with "no disconnect on death"
Fix some npcs bugs and change behaviour (#396, 5b25b43, @dudantas) Total cost for custom currencys Bank npcs depot, transfer and withdraw logic Changed: MsgContains behaviour, added new function "MsgFind" so that we avoid some bugs in messages that have the same words Added debug log for assistant with debug build
Fix Callback fromPosition of some lua scripts that were registered by position (#441, 723f378, @dudantas) Some scripts registered through position didn't work the fromPosition callback because it was lost between the two functions (with and without the callback item)
Fix build of docker and linux (#440, 90e7561, @beats-dh) Fixed the compilation in the docker environment and the error that occurred with linux when it was going to compile on a new "VM" machine. What happened is that the protobuf was updated and our proto files were generated in an old version, with this change they are ready to work with the latest version of the protobuf made available by vcpkg Note: vcpkg needs to be updated to the most current version for it to work properly
[CMake] fix warning build, add flag /EHsc to target compile options (#442, afab2af, @beats-dh)
Fix remove summon bug and added new config tag for teleport summon (#428, 5bd86e6, @beats-dh) Added new config.lua tag: teleportSummons = false Usage: if false, the summon will not teleport when the player goes up/down stairs and moves far away, if true, it will teleport the summon Fixed the bug that did not remove the summon when the player leaves the summon range, thus preventing the player from summoning a new monster
[Fix] Bestiary unlocked creature (#438, e033f83, @beats-dh)
[Fix] convert burst and poison arrow to client id (#405, 647b005, @Aerwix)
sudo apt install libluajit-5.1-dev
#374, #421