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

Does anyone want an updated TFS 1.4.x+

@Marko999x, @Ahilphino , @Mateus Robeerto , @Darks Wings , @ForgottenNot , @Jaed Le Raep , @Cardinale, @Joriku

Sorry to tag everyone, but if you guys want a sample to play with, I may just release a download for people to try out the build system and some of the features, and the code base itself, by the end of this week.

What I need to know from you guys, and anyone else who is reading this who wants to try it out, which Operating System can you attempt to use the build system on for me? Its already been tested on windows 10 and manjaro for sure, what OS's do you guys have, or have access to?
I would test it also for you :)
 
E gostaria sim meu irmão... Estou usando o do github mas é muito bug não sei nem por onde começar... Já seria de grande ajuda pra brincar com uns amigos aqui da rua 💪🙌
 
I currently use tfs 1.4.2 with some corrections that were made and I can't say which ones because I did them manually but there must be a couple of pages of commits from otland and evil punker.. I'm currently hoping to add this prey system, imbuing and a craft system... they say I have to study opcode to learn how to do this communication between the otclient and the server... I use Windows 10 64bits... I would be very grateful if you could send a stable one so I can play with some friends here on my street
 
E gostaria sim meu irmão... Estou usando o do github mas é muito bug não sei nem por onde começar... Já seria de grande ajuda pra brincar com uns amigos aqui da rua
Não tem problema meu amigo. Terei uma demonstração para todos experimentarem em breve.

Isn't it easier to make it open and people can test everything ( on all plattforms ) ?
Maybe im wrong tho idk :D
Yes absolutely!
Here is why I haven't done so yet though:

1). I have specific commits I have listed already on my "todo" list, along with other things I know for a fact I want done, and how I want them done. If someone were to make a PR (that I want to accept) that would cause me or them to have to rebase, it would slow me down, and could be discouraging if I just waited to merge, making them do the rebase instead of me, and I am not trying to slow my pace down, nor discourage anyone who wants to help.... I won't be letting PR's sit there going stale for ages like TFS did.

2). Someone could put a PR in of something I am already doing.

3). I am like the rest, I have limited time, and I need to focus on the tasks I have planned, before doing code reviews for PR's.

4). Someone could create issues for problems that I am already working on solving (fixes from main)

5). Since there is a new build system, I need documentation to explain to users how to get stuff up and going for themselves.

6). I have some changes I plan to do for the structure/layout of the project directory (mostly related to build system).

7.) I would prefer to have changed everything over from "The Forgotten Server" to "Black Tek Server" in sources, and on the readme and such before making public. I would also like to get at least some documentation going for the server's api, but I won't let that be a thing that holds me back though.

But yes, you are correct! Some of these things will still exist as "issues" once I make it public, but the important thing to know at this time, is that I am hardcore dedicated to getting this going, and I have a good momentum going, and right now I have the time, but soon I won't have as much free time (I'm on vacation all this week).


I currently use tfs 1.4.2 with some corrections that were made and I can't say which ones because I did them manually but there must be a couple of pages of commits from otland and evil punker.. I'm currently hoping to add this prey system, imbuing and a craft system... they say I have to study opcode to learn how to do this communication between the otclient and the server... I use Windows 10 64bits... I would be very grateful if you could send a stable one so I can play with some friends here on my street

Op codes are only necessary if you want to mimick real tibs or create your own gui for these things in otclient. Otherwise all these types of things can be done in sources and lua, and can even have a decent interface with the use of modalwindows and such.


@Codinablack I'm not sure if you've already added this.. Here, this commit is very important for the server, just like the gameStore, bestiary, among other things!

I haven't yet, it is on my list. I was actually discussing this commit with a friend today. I personally didn't really see a reason to need it, but he gave me a good reason he would have used it, and actually wished for such functionality in the past (he even used nekiro's experimental version at one point). So it will stay on the list and eventually be added I am sure.
Post automatically merged:

I will try to have a full list of all added updates by either tonight or tomorrow.
 
Last edited:
@Marko999x, @Ahilphino , @Mateus Robeerto , @Darks Wings , @ForgottenNot , @Jaed Le Raep , @Cardinale, @Joriku

Sorry to tag everyone, but if you guys want a sample to play with, I may just release a download for people to try out the build system and some of the features, and the code base itself, by the end of this week.

What I need to know from you guys, and anyone else who is reading this who wants to try it out, which Operating System can you attempt to use the build system on for me? Its already been tested on windows 10 and manjaro for sure, what OS's do you guys have, or have access to?
Ubuntu 22.04, have a main focus for a compatity for windows machine. But have a straight on focus for linux distros since they're made for server hosting
 
This is fantastic! Can't wait!
I'm also interested in downloading and trying it. Windows 10, unfortunately.
 
Here is a teaser for you guys. I spent hours working on this today, so there will be a slight delay in release 😄


Markdown (GitHub flavored):
# Black Tek Features

# Implement Premake & Conan for package and build systems [CodeQuality]
# Simplify addDamagePoints Logic [CodeQuality]
# Add missing boolean push to setSpeachBubble [Fix]
# Use combat_ptr in combat:getParameter (#4074) [CodeQuality]
# Tie NEEDEXCHANGE behavior to classicEquipmentSlots setting (#4097) [Fix]
# Updated table size of ItemTypeGetAbilities (#4120) [Fix]
# Fixed an issue when setting a boolean type flag on a monster #4155 [Fix]
# Fix to Party:onLeave() #4168 [Fix]
# Adds missing ZONE_NOLOGOUT in Tile:getZone (#4178) [Enhancement]
# Avoid sending none magic effect (#4177) [Fix]
# Reset rent warnings upon successful house payment #4185 [Fix]
# Fixed rare crash on clean map #4189 [Fix]
# Fix variable scope in npc.lua #4187 [Fix]
# Functions Game.getNpcs() & Game.getMonsters() #4195 [Enhancement]
# Prevent double call to equipFunction inside MoveEvent::fireEquip #4214 [CodeQuality]
# Fix io.write not writing to console after logging a command #4209 [Fix]
# Refresh speed on vocation change. #4215 [Fix]
# Fixed argument order on luaDoAreaCombat (#4212) [Fix]
# Added source method Creature::isDead() [CodeQuality]
# Add Missing creature's internal::remove check #4235 [Fix]
# Field pathfinding #4229 [Fix]
# Fix for hotkeys not activating item movements #4238 [Fix]
# Move hangable check to move action (#4242) [Fix]
# Refactor formatDate and formatDateShort #4249 [CodeQuality]
# Fix God players light #4271 [Fix]
# Fix bug in Map::placeCreature when using extended positions #4270 [Fix]
# Fix login into field issue (#4285) [Fix]
# Fix invalid argument in spell:group (#4305) [Fix]
# Add missing HOUSE_DOOR_SHOW_PRICE into configKeys (#4325) [Fix]
# Replace virtual functions with static_cast commit #4060 and its fixes. Also LuaCreatureSetMaster sends updates to spectators now. [Fix]
# Avoid extra copy in PropStream::readString() (#4341) [CodeQuality]
# Fix reload global #4343 [Fix]
# Support charges and bulk item creation by talkaction #4350 and added missing itemType:isKey() method. [Enhancement]
# Fix issue with position calculation in move function #4323 [Fix]
# A better check for getNumber/getBoolean with defaultRet (#4348) [CodeQuality]
# Update compat.lua to include table.maxn() (#4118) [Enhancement]
# Update monster loading behavior with 'forceLoad' flag #4264 & #4374 [Fix]
# Fix uninitialized item id in market active offers (#4375) [Fix]
# Improve monsters turning to target behaviour #4363 [Fix]
# fix black square on healing spells (#4393) [Fix]
# Add Player:onInventoryUpdate(item, slot, equip) #3944 [Enhancement]
# Fixed exp stages ignoring last stage (#4351) [Fix]
# Fix NPC System Greetword+Keyword bug #4398 [Fix]
# Fix protocolOutfits for Gamemaster (#4400) [Fix]
# Fix npc: #4110 - remove useless params in some methods #4414 [Fix]
# Trigger onInventoryUpdate on login (#4415) [Fix]
# Fix monster load with forceLoad (#4424) [Fix]
# Move notify depot-box range to constexpr (#3722) [CodeQuality]
# Add config for length player name #3760 [CodeQuality]
# Move player task-delay #3717 [CodeQuality]
# Replace LuaVariant with std::variant #3981 [CodeQuality]
# Fix misleading indentation and add brackets #3992 [Fix]
# Use single list as waiting queue #3712 [CodeQuality]
# Add additional range check when pushing creature #3989 [Fix]
# No need to use pugi::cast let's just use as_string #4004 [CodeQuality]
# Replace slower boost::lexical_cast with stdlib conversions #3997 [CodeQuality]
# Fix Bank NPC transfer errors #3955 [Fix]
# Improve Npc:setSpeechBubble with param/bubble checks #4009 [Enhancement]
# Fix Player initialization order #4020 [Fix]
# Replace usages of str*cmp with C++ functions #4018 [CodeQuality]
# Replace std::bind with lambdas #4017 [CodeQuality]
# Update Lambda's to be c++20 friendly. #4380 [Fix]
# Fix: close parcel send thru mail system to other player #4538 [Fix]
# Added Modal Window Helper lib, and applied commit from #4399 [Enhancement]
# Add Missing lua methods "Game: getOutfits, getMounts, getVocations", and the helper function LuaScriptInterface::pushMount [Enhancement]
# Fix ProtocolOutfit const reference #4425 [Fix]
# Fix weapon charges not working #4471 [Fix]
# Fix DeEquip for decay items #4455 [Fix]
# Added "Player: isNearDepotBox, getIdleTime, resetIdleTime, sendCreatureSquare" lua methods [Enhancement]
# Fix default value in Game.getStorageValue #4473 [Fix]
# Fix hungry condition (#3827) [Fix]
# Replaces boost filesystem with std::filesystem, and replaces many copied instances of string with string_view. (#4079) [CodeQuality]
# Stop sending any packets from creatures that the stackpos is 10 or higher. [Fix]
# Place Creature Make it possible to set your desired effect (#3914) [Enhancement]
# Notify the client about NPC speechbubble update #4464 [Fix]
# feat: effects support for summons (#4146) [Enhancement]
# Database transaction and row insert in lua (#4589 & #4596) [Enhancement]
# New global event: OnSave (#4588 & #4595) [enhancement]
# Check userdata pointer in Loot:addChildLoot (#4558) [Fix]
# Add getSpectators method to Npc (#4247) [Enhancement]
# Move doAddContainerItem to compat, improve container:addItem (#4220) [CodeQuality]
# Update EventCallBack lua files to new the new way of handling. [Fix]
# Added (Party: onInvite, onRevokeInvitation, onPassleadership) (#4326) [Enhancement]
# Added XML parsing bindings for Lua (#4108) [Enhancement]
# Use built-in traceback lua method (#4051) [CodeQuality]
# Fix addEvent scheduler argument being passed by reference (#4053) [Fix]
# Added (House: setRent, getPaidUntil, setPaidUntil, getPayWarnings, & setPayWarnings) (#3753) [Enhancement]
# Add missing method in MonsterSpell for outfits (#4014) [Enhancement]
# Removed unnecessary check in setMonsterOutfit function #4633 [Fix]
# Added Item Classifications and Tiers for xml and lua [Enhancement]
# Fix for first NPC detection in Lua interface (#4033) [Fix]
# Fix player::disconnect method [Fix]
# onStepOut FIXED #4650 [Fix]
# Added reflect and boost item attributes (#2807,  #4039, #4037, and #4041) [Enhancement]
# Added ItemType:getShootType() lua method [Enhancement]
# Fix issue with item decay #4013 [Fix]
# Added three new CreatureEvents, onAttack, onMissedAttack (poff), and onBlockedAttack (ping). [Enhancement]
# Remove .c_str() where string_view is expected #4508 [CodeQuality]
# Support for hundredths after the decimal point #4524 [Fix]
# Creature.addSummon - Only notify if the master is a player #4550 [CodeQuality]
# Obtain the master of summons on death #4551 [Fix]
# Fix MatrixArea rotations (#4378) [Fix]
# Fix Memory Leak from Npc events #4483 [Fix]
# Added Player.onRotateItem event and corresponding lua methods #4541 [Enhancement]
# Fix normal_random skew towards mean & negative numbers (#4539 & #4555) [Fix]

I'm just teasing 🫣
 
Loving the work, will this have aura, wings and shader support?
If not then that would be my suggestion, players and devs like them.
 
@Codinablack I'm not sure if you've already added this.. Here, this commit is very important for the server, just like the gameStore, bestiary, among other things!

What does this do?
Also regarding missing features there are.multiple, like cast system multi world, animated text on heal/mana custom features like possible to choose via config if thief loot, lure monsters or not, ability to use or / new features just changing config file etc ( like TFS 0.4 used to or otx2) at least that's why I like and what I'm achieving in my ot
 
What does this do?
Also regarding missing features there are.multiple, like cast system multi world, animated text on heal/mana custom features like possible to choose via config if thief loot, lure monsters or not, ability to use or / new features just changing config file etc ( like TFS 0.4 used to or otx2) at least that's why I like and what I'm achieving in my ot
I like most these ideas, except cast. I won't be doing a cast system and my reason for that is simply workload. I don't believe it's the server's job to handle that workload, I don't even believe it's the client's job to handle casting either, I believe this belongs to a separate piece of software that is especially made for casting your screen.

By thief loot I imagine you mean a boolean option for loot being protected with an owner, that's cool, but I think a bit further would be better, we should be able to choose how owners are managed (then you could make no owner).
Post automatically merged:

Loving the work, will this have aura, wings and shader support?
If not then that would be my suggestion, players and devs like them.
Wings and shader support. I can add that to my list of stuff to look into, but, I had thought those were strictly client related systems, I haven't used them, and it's been some years since I been actually active like I am now so I'm not sure, but it's definitely something I will look into, it sounds awesome tbh
 
Wings and shader support. I can add that to my list of stuff to look into, but, I had thought those were strictly client related systems, I haven't used them, and it's been some years since I been actually active like I am now so I'm not sure, but it's definitely something I will look into, it sounds awesome tbh
I've been semi-away myself so not sure on the extent of where/how they're implemented and don't really know much other than wings/auras are similar to mounts/outfits while shaders seem like black magic but for sure everyone likes them and yet every day people are having issues adding them to their servers.

So yes im sure the server side part is quite minimal just as it is for outfits/mounts but i was more inquiring within the context of black tek, so could they be supported in a way that is just as accessible/integrated as outfits/mounts/addons? Just like how it's easy and intuitive to give players an outfit/mounts/addons through simple scripts, maybe it could also be that easy to give them wings/shaders/auras/other effects.

I don't really know what this would look like or if it's feasible. Would be nice though :D
 
Back
Top