• 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!

OTLibrary building

Mike "riff"

Member
Joined
Dec 27, 2016
Messages
16
Reaction score
5
Location
Toled,Ohio
I can’t build your program! …I’m getting boost errors!!!... Why do I need blaa.dll???...I’m doing everything right it your program fault!!

We have all been there…I really hated this hurdle. Stop relax everything is going to be alright.

To help you get past this I’m going give some helpful guidance to avoid these demoralizing errors.

Open Tibia is a massive online game world which has its playable game separated into 3 executed part’s. All three-part’s must be executed in a required direct order:

1. ACC account manager/website host (this is loaded first, it can operate without loading any libraries so I won’t cover it. You have to execute AAC in 3 steps: First the Server control like UniServer or XXamp then a click the pop-up MySQL and Apache to start execution).
www.uniformserver.com
www.apachefriends.org

2. Server with or without additional maps. (this depends on the ACC. If the ACC is not running the server program will load very fast and close. You just get a flash of the black console and then nothing else.)

recommend https://github.com/Znote/ZnoteACC

recommend datapack 10.90 globalOT full + NEW WWW + NEWLAYOUT + krailos[TFS 1.2]
just use data pack into TFS thats it done. few bugs easy fixes.

3. Client execution. (this depends on both the ACC and the World Server.)
Load them in order 1, 2, and then 3.
http://github.com/edubart/otclient

I will give a sermon now on why you should not use any Tibia Client with a IP Changer/Loader.
Why it’s illegal. It goes against what all programmers strive for respect for what we produce.
We did not produce the Tibia Client we should not use it.

Use OTClient its better than Tibia Client 10 or 11 and we have more control over it to make new mods, and improve the playable game experience.

But we can’t build it, YES YOU CAN………

The OTCient libraries are:
1. Glew glew.sourceforge.net get 2.0 version
2. Zlib http://github.com/madler/zlib
3. Openssl http://github.com/openssl/openssl
4. Luajtt luajit.org//download.html stable version
5. Libogg https://github.com/xiph/ogg
6. Libvorisbis https://github.com/xiph/vorbis
7. OpenAL https://www.openal.org/downloads get both build all libraries
8. Boost www.boost.org
if you need to build both 32 and 64 bit version it is also possible to use the stagedir parametter: "bjam --stagedir=./lib_64bit address-model=64 toolset=msvc threading=multi" and "bjam --stagedir=./lib toolset=msvc threading=multi" – Odin Jul 11 '12 at 15:20

9. DirectX SDK(optional) https://www.microsoft.com/en-us/download/details.aspx?id=6812
I’m not able to change graphics setting in game still need work on this
10. Physfs https://icculus.org/physfs/

All newest versions of these libraries are compatible with OTClient. I am now using a 64-bit version of all dependency libraries supporting a 64-bit version of the OTCient “runs like bat out of hell”. You can make one also!
 
Last edited:
There 4 options to making libraries 32-bit debug, 32-bit release, 64-bit debug, and 64-bit release. And to make things even more complicated we can build a project library as a static or dynamic library. Static library just means the library is fully built into the executable. Dynamic means, we will add the library to the executable when we start (execution) of the (OTClient.exe) program.

So, if we have built dynamic libraries remember to move the executed able (OTClient) and all those dynamic libraries together into the root directory. Why, do we need to move them to root directory? This is because of embedded scripts need to load also into the master executable.

Why do we get errors when we build libraries? Most of the time it happens when we go to linker and set path and .lib name for one setting like 64-bit release then we try to build the library forgetting to change the project build setting so in this this example default is usually 32-bit debug. Debug setting haven’t been made the linker does not know where to look. Word of advice no short cuts set all 4 paths and linker names for each library before building that libraries.

The second most common problem is building dynamics and statics libraries and moving and combining them at some time which gets mismatched. The library that is used in making a pre.dll dynamics link library is sometimes given the same name as a static .lib. Library makers don’t follow naming conventions, don’t count on it. So, make good file management system make library’s folder for statics libs, folders for dynamic libs, folders for debug, folders for release, folders for 32-bit, and folders for 64-bit. Note if you build all 4 options the first time they usually make all these folders for you. That’s why I say build all 4 options no short cuts.

Third most common problem is incorrect linker name’s. I am always making this mistake I know what the lirary.a is <<<umm see not right MSVC is .lib and “lirary”, come on man spell it right. To avoid this situation always have they the library folder open and side by side comparison to your linker names. Always check your work.

Wow what pain why do this? Unfortunately, people have been posting bad libraries on this site. There currently is Mingw32 compiled libs. being Distributed on MSVC link and the nightly builds are junk in my opinion they don’t work as expected. I don’t know who made them but they should check their library setup. Do yourself a great service only rely on you own person libraries do not use someone else binaries learn, overcome, adapt.

Server TFS The Forgotten Server I highly recommend this program I am continuously amazed at its versatility, you can add any map script, use any client and use any ACC you want with it and it works.

With that said one of the libraries mpir which is distributed on this site with ot SDK lib pack is an incomplete this library subject to bugs. Luckily, you can rebuild TFS with an improved version from the master mpir project at GIT. I will high recommend all TFS programmers at site developers do this if they haven’t already. Bugs are scary!

I don’t Plan on releasing my build files that would be a great deserves to you not to improve yourself by trying to do it yourselves. If there is enough bumping I will release upgrade OTClient 64-bit and TFS and any .DLL. This is for non-programmers who want to play just man. Peace Live on my brothers.
 
Last edited:
That looks like a different version hopefully its not the same SDK pack. With own project builds compatible with the newest library's version, I see no need reason down grade them. If some keyword change made a library incompatible then stay stick with the old library but since I've tested and built all my own libraries and works fine, I am happy where I'm at. My point to community is library building is something any programmer needs to master with C++. It true power over all other programming languages is its library incorporation structure and a strong community that keeps it going.
 
Last edited:
I didn't use those when I compiled the otclient on linux.
@Mike "riff" I too am using a 64 bit os as I am sure most people are but I am running linux and linux makes things much easier to install or run.
I used a simple script to compile the otclient, funny thing is when i compiled it on windows it took well over a minute but on linux it takes like 20 secs :)
Linux - Otclient - 7.4 - 10.99
The end part where it says to download the client I didn't use because I already had the necessary files and I didn't write the script I just added a missing lib to it.
 
Back
Top