- Joined
- Dec 26, 2013
- Messages
- 1,918
- Solutions
- 12
- Reaction score
- 1,217
- Location
- USA
- GitHub
- Codinablack
Ok so here it is, what you guys have been waiting on.
There are a few caveats to this pre-release though:
1. I only compiled x64 on windows. BUT you can compile yourself on your own system easily.
2. There are errors on startup, they are errors for "non unique loot". BUT easy to fix yourself, it's exactly what it sounds like, non unique loot. The item it lists has more than one id associated to that name, hence its not unique. You must find the id of that item in items.xml (the correct one you wish to use, remember there are multiple), and then use that instead of the name, for that loot item. Or even easier, remove that loot.
3. I don't have full instructions (the readme contains some info but its missing a big chunk of stuff for linux), or the video tutorial. You have to have python 3.8+ and conan 2.x+ installed. Conan is easy to install. Once you have installed python, just open your terminal with elevated privileges (sudo/run as administrator), and type in "pip install conan", once you are done with that, run the command "conan profile detect" then you can run setup_build.py, wait for it to finish and it will generate you solution/project/make files. Now you can compile without any additional setup needed.
The good news is now you have access to to a 10.98 client based server, that was built from 1.4.2 with all these additional changes:
Works with both OTC and Default 10.98 client. <-- should be able to do your extended sprite fun with it as well
Enjoy!
If you guys run into problems with "matrixarea" errors. Make sure you have ran the conan detect profile command, and navigate to
C:\Users\YOUR_USERNAME\.conan2\profiles
edit your profile, and change the cpp target from 14 to 20, or 17 to 20.
There are a few caveats to this pre-release though:
1. I only compiled x64 on windows. BUT you can compile yourself on your own system easily.
2. There are errors on startup, they are errors for "non unique loot". BUT easy to fix yourself, it's exactly what it sounds like, non unique loot. The item it lists has more than one id associated to that name, hence its not unique. You must find the id of that item in items.xml (the correct one you wish to use, remember there are multiple), and then use that instead of the name, for that loot item. Or even easier, remove that loot.
3. I don't have full instructions (the readme contains some info but its missing a big chunk of stuff for linux), or the video tutorial. You have to have python 3.8+ and conan 2.x+ installed. Conan is easy to install. Once you have installed python, just open your terminal with elevated privileges (sudo/run as administrator), and type in "pip install conan", once you are done with that, run the command "conan profile detect" then you can run setup_build.py, wait for it to finish and it will generate you solution/project/make files. Now you can compile without any additional setup needed.
The good news is now you have access to to a 10.98 client based server, that was built from 1.4.2 with all these additional changes:
Python:
# 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]
# Fix summon walk behavior #4643 [Fix]
# Fix drunk condition crash [Fix]
# Monster.getId in onSpawn event #4557 [Fix]
# New Event onSpellTry #4619 [Enhancement]
# Micro optimization to Npcs #4564 [CodeQuality]
# Remove PlayerAutoWalk dead code #4635 [CodeQuality]
# Fix OTC Compatibility [Fix]
Works with both OTC and Default 10.98 client. <-- should be able to do your extended sprite fun with it as well

Enjoy!
If you guys run into problems with "matrixarea" errors. Make sure you have ran the conan detect profile command, and navigate to
C:\Users\YOUR_USERNAME\.conan2\profiles
edit your profile, and change the cpp target from 14 to 20, or 17 to 20.
Attachments
-
BlackTek-Server.7z26 MB · Views: 111 · VirusTotal