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

Okay so I'm new, where to start, tips and tricks?

KarmaMechanic

New Member
Joined
Aug 31, 2018
Messages
11
Reaction score
3
Okay so I'm new here and was wondering where I should start?

I mean I sort of know what I'd like to do at first, try to get a client and server working locally to play around learning, tweaking, and modding things, sort of a sandbox, but it's a little overwhelming since I never kept up with OT, it was not much more than a barely functional server only when I last saw it, and I only tested it just a little bit back then, and so now there's client software and server software, and in lots of different versions, and I'm not sure what the pro's and con's are, and what works together.

Also... honestly I haven't been programming in ages, because real life and stuff, I did back in school, and did really good, so I mean I'm pretty clever and can reason my way through code, but I'm not even sure about like compilers or dependencies or anything now, and I have none of that stuff on this computer... (yeah so now that I feel completely like a nub), but anyway I figured this is the best way to get back into this kinda thing because it can hold my interest even if there is a learning curve, so I'll also take any recommendations for those things I need to get too! (Oh yeah and my main computer is Windows based, that's probably important to mention lol)

Thanks:)
 
there's a gitbook we (the staff) worked on for a while but never finished
i think it's still worth a read if you're new
Introduction · Otland Docs
what's important to think about is knowing what client you want to work with, most main clients everybody uses nowadays is 7.x, 8.6, 10.77, 10.98, and tibia 11+ and that will help you pick a server engine to work with
the gitbook was written for TFS 1.2 (supports 10.98 protocol)
 
there's a gitbook we (the staff) worked on for a while but never finished
i think it's still worth a read if you're new
Introduction · Otland Docs
what's important to think about is knowing what client you want to work with, most main clients everybody uses nowadays is 7.x, 8.6, 10.77, 10.98, and tibia 11+ and that will help you pick a server engine to work with
the gitbook was written for TFS 1.2 (supports 10.98 protocol)

Okay then, not to date myself too much, but what kind of differences can I expect between the versions? Because I sort of think the last time I was really active in Tibia it probably was version 7.x or something like that maybe, so I'm not sure what's changed between then and now or what, not that I'm married to version 7 or anything, I don't know any of the underlying quirks of any of them so it'll be new to me no matter what, but I mean if newer versions are better in some ways I'm open to them of course.
 
I'd suggest you to start studying the different parts of a server when you just open a data pack. I mean: actions, creature events, global events, movements, talkations, items...etc. It will grant you a very good global view if you know what you can do with each one. Keep in mind that you will need to learn about LUA, XML, SQL and C++, but you it's true that you can do very cool things only with LUA and SQL, for example. C++ is only needed if you want to edit the sources for any kind of features you were unable to make in LUA, or to make it faster than it will be executed in LUA. Since LUA is (usually) used to script small pieces of code and you don't need to compile anything, I'd also suggest to you to start with that language and when you think you understand how ot servers work, move to source editing in C++.
 
Okay then, not to date myself too much, but what kind of differences can I expect between the versions? Because I sort of think the last time I was really active in Tibia it probably was version 7.x or something like that maybe, so I'm not sure what's changed between then and now or what, not that I'm married to version 7 or anything, I don't know any of the underlying quirks of any of them so it'll be new to me no matter what, but I mean if newer versions are better in some ways I'm open to them of course.
each tfs version brings more features scripting-wise
easiest thing to start with imo would be tfs 1.2 or tfs 1.3 with client 10.98
 
Okay then, not to date myself too much, but what kind of differences can I expect between the versions? Because I sort of think the last time I was really active in Tibia it probably was version 7.x or something like that maybe, so I'm not sure what's changed between then and now or what, not that I'm married to version 7 or anything, I don't know any of the underlying quirks of any of them so it'll be new to me no matter what, but I mean if newer versions are better in some ways I'm open to them of course.

Right off the bat, the higher version you choose, the more gameplay features + sprites (both items, outfits, monsters, spell effects, etc.) you will be able to use while developing.
Of course, we're talking about the features that already come coded with the distros + the data from the Tibia client you choose. You can later create your own features and add your own sprites to the game if you choose to do so.

If you wish to read exact details on which versions and updates brought which features, check here.

I'll give a summarized description:

Anything 6.X or below is going into an obscure area, very niche. I don't think you can even find any distros for these versions unless you develop one yourself.

Early 7.X versions are considered oldschool, many people have fond memories of these versions because it was when Tibia started rising in different regions of the world and taking up in popularity. Those people will call this the golden age of Tibia, and I could argue there's merit to it as well.
Some notable features of oldschool Tibia are, from the top of my head; very specific oldschool graphics (super shitty, but they were loved for this unique look), spears will drop under enemies when thrown at them, wands/rods didn't exist as weapons, there was no auto targetting for stuff like runes, monsters wouldn't despawn after walking far from their initial spawn spot, etc.

Early 8.0 - 8.6 versions are also remembered by many. Some people say it was when the downfall began (wands introduced, auto targeting, a lot of other things that made gameplay easier kept getting added...). For me, it wasn't so bad, while I may have disliked some gameplay features they added, it also added a bunch of new content and cities like Svargrond which were fun. There are a ton of distros from this time period that you will be able to find on the forums, but bear in mind that many of them are outdated and generally no longer supported as the community has moved on to more improved versions of TFS.
This was the time when OT development was at its high, so even though the engines may be outdated to current ones, there are heaps and heaps of materials and resources you can find on the forums from this era that will help you build your server. But with all that, there's a lot of bugs too, careful.

These versions are also very notorious for the amount of Bots that are available online for free which are compatible with them. I think 8.54, 8.40 and 8.60 are dire numbers in this regard, but in reality, the version itself doesn't matter, bots are always a plague, especially for the 8.X versions.

Very late into the 8.X versions and above, Cip added a few notable features, like War System, Mounts, Spell Categories and Cooldowns, and Offline Training.

9.X era almost didn't bring anything notable feature-wise, just added more sprites and outfits and stuff like that.

10.X era brought some stuff like the ingame donation store, critical hits, lifesteal/mana leech.

11.X brought a ton of stuff, I suggest you read up on it on the link I provided for more details.

To generalize, you'll likely be picking a category from: Niche (lower than 7.X), Oldschool (7.X), Classic (8.X), Modern (10.X - 11.X).

My tip is to go with the newest you can, since you can always get support for it here on the forums and you can find relevant resources + the distros are far more stable than they were in the past.
Good luck.
 
Last edited:
Alright this is great information everyone, so I guess I'll try starting with the later modern stuff if it's current, and people are actively working on those.

I'm going to have to learn Lua I guess, it's actually the C++ I remember best from school, but if people are doing lots of things Lua I'll need that too, I'm not super intimidated by the different languages really, just figuring out how all the little bits go together at first, and where to get started.

I found the Git pages for the OTClient and TFS 1.3, and some guides so I think I'll start be starting there.
Thanks for the help!
I'll definitely check back once it gets frustrating or something...:)
 
Okay so been getting set up in my freetime got lots of gigabytes of stuff downloaded and now really getting into it, had tiny hiccup when going through the directions to build otclient here, I was at step 4 with;
Code:
vcpkg install boost-iostreams:x64-windows boost-asio:x64-windows boost-system:x64-windows boost-variant:x64-windows boost-lockfree:x64-windows luajit:x64-windows glew:x64-windows boost-filesystem:x64-windows boost-uuid:x64-windows physfs:x64-windows openal-soft:x64-windows libogg:x64-windows libvorbis:x64-windows zlib:x64-windows


I'm using powershell 6 and it wouldn't execute the command, but adding " .\ "in front of it the stuff above would allow it to execute and I could get that bit done :p

So once that was out of the way, I get into Microsoft Visual Studio and doing Build Solution, and it seems I'm missing al.h and alc.h which are called on lines 30 and 31 in ( \otclient\src\framework\sound\ ) declarations.h , and I'm not really sure where I missed something :confused: ... After checking around I found a post in the middle of a thread from a couple of years ago and this issue was solved by changing the include statement to AL\al.h and AL\alc.h
This solved the issue but now I've got other bugs to work through, and I'm not sure what's going on yet lol

So now I do a Build solution in MSVS and I get an error,
Code:
 E2512    the argument to a feature-test macro must be a simple identifier
otclient   ( C:\vcpkg\installed\x64-windows\include\boost\system\ ) error_code.hpp
Line 401
I'm not sure what was causing this error but after searching the net for the error I found someone having a similar problem with qmake, and the solution was a reinstall. So on a chance I uninstalled and reinstalled CMake and now the error is gone but I'm still getting the errors below.

I've got 6 other errors which are all pretty much the same (In lines 102, 111, 151, 167, 184, and 199),
Code:
 Error   C2440   '<function-style-cast>': cannot convert from 'Connection::<unnamed-enum-READ_TIMEOUT>' to 'boost::posix_time::seconds'
otclient  ( c:\dev\otclient\src\framework\net\ ) connection.cpp
 
Last edited:
Okay so been getting set up in my freetime got lots of gigabytes of stuff downloaded and now really getting into it, had tiny hiccup when going through the directions to build otclient here, I was at step 4 with;
Code:
vcpkg install boost-iostreams:x64-windows boost-asio:x64-windows boost-system:x64-windows boost-variant:x64-windows boost-lockfree:x64-windows luajit:x64-windows glew:x64-windows boost-filesystem:x64-windows boost-uuid:x64-windows physfs:x64-windows openal-soft:x64-windows libogg:x64-windows libvorbis:x64-windows zlib:x64-windows


I'm using powershell 6 and it wouldn't execute the command, but adding " .\ "in front of it the stuff above would allow it to execute and I could get that bit done :p

So once that was out of the way, I get into Microsoft Visual Studio and doing Build Solution, and it seems I'm missing al.h and alc.h which are called on lines 30 and 31 in ( \otclient\src\framework\sound\ ) declarations.h , and I'm not really sure where I missed something :confused: ... After checking around I found a post in the middle of a thread from a couple of years ago and this issue was solved by changing the include statement to AL\al.h and AL\alc.h
This solved the issue but now I've got other bugs to work through, and I'm not sure what's going on yet lol

So now I do a Build solution in MSVS and I get an error,
Code:
 E2512    the argument to a feature-test macro must be a simple identifier
otclient   ( C:\vcpkg\installed\x64-windows\include\boost\system\ ) error_code.hpp
Line 401
I'm not sure what was causing this error but after searching the net for the error I found someone having a similar problem with qmake, and the solution was a reinstall. So on a chance I uninstalled and reinstalled CMake and now the error is gone but I'm still getting the errors below.

I've got 6 other errors which are all pretty much the same (In lines 102, 111, 151, 167, 184, and 199),
Code:
 Error   C2440   '<function-style-cast>': cannot convert from 'Connection::<unnamed-enum-READ_TIMEOUT>' to 'boost::posix_time::seconds'
otclient  ( c:\dev\otclient\src\framework\net\ ) connection.cpp

Hi, have you fixed it? I have the same issue.
 
Back
Top