Giter Club home page Giter Club logo

tfs-1.5-downgrades's Introduction

TFS 1.5 Nekiro's Downgrades

Due to lack of time, will and funding, project is discontinued.

This repository holds three TFS 1.5 downgrades.

Keep in mind these downgrades are protocol downgrades. What it means? It means that it's not fully featured server. It's a nice base to start working on in desired protocol version. Datapack is not included.

Donate

If you like my work and respect my time, you can consider becoming Github Sponsor.

tfs-1.5-downgrades's People

Contributors

nekiro avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tfs-1.5-downgrades's Issues

Make string config with integer ip

Protocol version
7.72/8.00/8.60

Describe the bug

if (string[IP] == "") {
    string[IP] = getGlobalString(L, "ip", "127.0.0.1");
}

To Reproduce
1 - Run with debug x64 = excep error
but work with release

Additional context

  • change to IP_STRING

stairJumpExhaustion

Protocol version
8.60

Describe the bug
Changing the value in stairJumpExhaustion doesn't change in game.

To Reproduce
Steps to reproduce the behavior:

  1. Go to config.lua
  2. Change stairJumpExhaustion to 0
  3. Reload config
  4. See error

Expected behavior
stairJumpExhaustion should change... well... the stair jump exhaustion

Screenshots
N/A

Additional context
N/A

cant drop items

it seems like you cannot drop any items
does not matter if you are player or gm

tested it on account with acc type 5
and on a normal account aswell

Explosion rune crashes client 7.72

Protocol version
7.72

Describe the bug
Shooting explosion rune crashes client "sometimes". (Very high chance for me)

To Reproduce
Shoot explosion rune

Expected behavior
Explosion should appear on target

Missing house information when looking at some house doors

Protocol version
8.60

Describe the bug
When looking at the door of this house, there is no description to who own the house, or what name the house has.
But even when you are not the owner of the house, you can still open and close it.

To Reproduce
Steps to reproduce the behavior:

  1. Go to the first house south for Rhyves depot.
  2. Click on the door to toggle open/close state, even if you are not the owner.
  3. Look on the door and see no house information.

Expected behavior
If I am not the owner/gm, I should not be able to open or close the door.
If I look at the door, I should be able to see the name of the house and who owns it.

Screenshots
image
image

Additional context
Looks to be semi related to: #14
Appears the door system is out of whack.

Suggestion adding old attributes

Protocol version
I think it will be good in all protocols to support these attributes.

Describe the bug
Missing old attributes like.

increasemeleevalue
increasemeleepercent
 
increasemagicvalue
increasemagicpercent
 
increasehealingvalue
increasehealingpercent

NPCs not responding in 7.72

Protocol version
7.72

Describe the bug
Example NPCs not responding to greetings

To Reproduce

  1. Go to the oracle
  2. Type "hi"

Expected behavior
Expected greeting callback

Additional info
Tried looking at some other NPC files which included the greeting.lua file.
Adding this crashes the client when greeting the npc unfortunately.

Runes/Potions aren't stacking

Protocol version
In protocol 8.00

Describe the bug
Runes and the potions aren't stacking if you have more than one from the same type.

To Reproduce
Steps to reproduce the behavior:

  1. Create stackable items like fireball rune with this id 2302.
  2. Create more than one.
  3. It will be treated as a regular item and it takes space in the backpack.
  4. No errors.

Expected behavior
It should be to stack.

Screenshots
If applicable, add screenshots to help explain your problem.

stack.item.mp4

Additional context
There's no such more info.

CTRL+R Issue with Tibia 8.6

Protocol version
8.60

Describe the bug
CTRL+R Rule Violation not working. Report was not been sent to Gamemaster.

To Reproduce
Steps to reproduce the behavior:

  1. CTRL+R and write soething to report to Gamemaster

Expected behavior
A Report was been sent to the Gamemaster.

Screenshots
If applicable, add screenshots to help explain your problem.

Additional context
Add any other context about the problem here.

Walking to far distances with mouse click

Protocol version
8.60

Describe the bug
When I click to a far distance, using any OTClient, the characters delays or stay freeze.
With mehah's ot client
https://www.youtube.com/watch?v=xntqfGTCyoE
With edubart's ot client
https://www.youtube.com/watch?v=QP1zN4WveO0

I wonder if a optimization like this could fix this issue
https://github.com/SaiyansKing/optimized_forgottenserver/commit/98cd786dca43dddf6b28918f303de3a06b4d3be1

Or if changing values here could help
https://github.com/otland/forgottenserver/blob/a880956e6e7d0cebd6eba996e4cda10fe2fc554f/src/protocolgame.cpp#L738-L768

https://github.com/otland/forgottenserver/blob/a880956e6e7d0cebd6eba996e4cda10fe2fc554f/src/game.cpp#L2111-L2136

I think is TFS related because when I start to spam map click, the client says "There is not enought room", but when I stop map clicking the client says "No hay forma de llegar" (sent from OTC translation) and let the player walk.

It's like the server is double-checking the mouse click :S

Regards!

Spell damage/healing etc.. calculation wrong for 7.72

Protocol version
7.72

Describe the bug
As stated in the description of this project the calculation for pretty much all spells are wrong for 7.72.
I've started looking at this project: https://github.com/peonso/tibialegacyserver
which seems to provide better values for 7.72 even though I'm very unsure if these are 100% correct.
Might be a good start to look through this?

To Reproduce
Heal yourself with UH, shoot SD etc...

Expected behavior
Damage, healing etc.. values should be closer to 7.72

Blank Rune Bug

Protocol version
8.00

Describe the bug
If blank rune is in backpack/bag and we close this we cannot open it on OTClient or default client will crash.

To Reproduce
Steps to reproduce the behavior:

  1. Buy blank rune from NPC (it will not take money). It's also possible by create /i blank rune.
  2. Close backpack
  3. Try open

Expected behavior
Should work normally

Screenshots
Simple to reproduce

Additional context
Nothing to add

spell word comment

Protocol version
8.60

Describe the bug
the spell does not cast if you add a comment after the spell word, also you can still see the comment in console and default channel

07:29 Admin [100]: exura "asdasd

To Reproduce
exura "asdasd

Expected behavior

Unified Spells. In the screen and the default channel it will be show only the name of the spell. For example: "Ex Ura" or "exura ""im the best sorcerer" will be show as exura.

House owners locked out of their own house!

Protocol version
8.60

Describe the bug
Some doors appears to be locked, even if you own your house, you cannot open it. Even GM cannot open it.

To Reproduce
Steps to reproduce the behavior:

  1. Login to server with default source and files
  2. Try to open the house in the image.
  3. Use /owner to make a player owner of that house.
  4. Try to open the house door with that player.

Expected behavior
House owner and GM should be able to open the door.

Screenshots
image
(Right east of Rhyves depot, default map).

Additional context
Tested on Ubuntu 20.04.
Verified that the bug does not reside in upstream repo. :P
Oddly enough, some doors seem to work

Repo tips and suggestions

Readme file:
Add commit hash of otland/forgottenserver in readme file so we know where the fork occured. This will make it easier for git freaks like me to add otland/forgottenserver as a remote and cherry pick stuff.

Enable wiki:
You dont need to use it, but I might add a few findings and useful tips there as I go along. I might add a page that helps people convert TFS 0.3.6 servers to this TFS 1.4 downport etc...

Issue labels:
Tag issues with labels: bug, suggestion, feature, enhancement etc.
Labels for closed issues: solved, irrelevant, rejected, unrelated

If you find it bothersome to maintain, add me as a collaborator in the repo settings, I can help you out. :)

Npc |TRAVELCOST| not working?

Protocol version
7.72

Describe the bug
I'm really unsure if this is a problem on my side or the project. That said, delete this if I'm wrong (still trying to learn the setup of this project).
I've added a few captain npcs and I'm getting a problem where |TRAVELCOST| is written out in clear text instead of the actual travel cost which has been added to one of the files.

To Reproduce
Steps to reproduce the behavior:

  1. Create a npc using the |TRAVELCOST| keyword
  2. Say hi => (destination)
  3. The npc answers with |TRAVELCOST| as a text instead of the actual number

Expected behavior
Expected travel cost to be printed out

Do I need any additional setup for this to work?

This is the captain I'm testing:
https://github.com/peonso/tibialegacyserver/blob/master/server/data/npc/scripts/Captain%20Bluebear.lua

Compiler error on on Ubuntu 20.04: ITEM_MAGICWALL_NOPVP

Protocol version
8.60

Describe the bug
A compiler error prevents me from building latest source on Ubuntu 20.04

To Reproduce
Steps to reproduce the behavior:
This tutorial, but targeting the repository this issue resides in.
https://github.com/otland/forgottenserver/wiki/Compiling-on-Ubuntu

Expected behavior
A cleanly compiled linux binary file.

Screenshots
image

Additional context
-- The C compiler identification is GNU 9.3.0

-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found PugiXML: /usr/include
-- Found LuaJIT: /usr/lib/x86_64-linux-gnu/libluajit-5.1.so;/usr/lib/x86_64-linux-gnu/libm.so (found version "2.1.0-beta3")
-- Found Boost: /usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake (found suitable version "1.71.0", minimum required is "1.66.0") found components: date_time system filesystem iostreams
-- IPO / LTO enabled
-- Configuring done
-- Generating done
-- Build files have been written to: /home/ubuntu/server/github/build
ubuntu@dev:~/server/github/build$ make -j 3
Scanning dependencies of target check_git
[  1%] Checking the git repository for changes...
[  1%] Built target check_git
Scanning dependencies of target tfs
[  2%] Building CXX object CMakeFiles/tfs.dir/cmake_pch.hxx.gch
[  3%] Building CXX object CMakeFiles/tfs.dir/src/otpch.cpp.o
[  5%] Building CXX object CMakeFiles/tfs.dir/src/ban.cpp.o
[  6%] Building CXX object CMakeFiles/tfs.dir/src/actions.cpp.o
[  7%] Building CXX object CMakeFiles/tfs.dir/src/baseevents.cpp.o
[  9%] Building CXX object CMakeFiles/tfs.dir/src/bed.cpp.o
[ 10%] Building CXX object CMakeFiles/tfs.dir/src/chat.cpp.o
[ 11%] Building CXX object CMakeFiles/tfs.dir/src/combat.cpp.o
[ 13%] Building CXX object CMakeFiles/tfs.dir/src/condition.cpp.o
/home/ubuntu/server/github/src/combat.cpp: In static member function ‘static void Combat::combatTileEffects(const SpectatorVec&, Creature*, Tile*, const CombatParams&)’:
/home/ubuntu/server/github/src/combat.cpp:587:16: error: ‘ITEM_MAGICWALL_NOPVP’ was not declared in this scope; did you mean ‘ITEM_MAGICWALL_SAFE’?
  587 |       itemId = ITEM_MAGICWALL_NOPVP;
      |                ^~~~~~~~~~~~~~~~~~~~
      |                ITEM_MAGICWALL_SAFE
/home/ubuntu/server/github/src/combat.cpp:589:16: error: ‘ITEM_WILDGROWTH_NOPVP’ was not declared in this scope; did you mean ‘ITEM_WILDGROWTH_SAFE’?
  589 |       itemId = ITEM_WILDGROWTH_NOPVP;
      |                ^~~~~~~~~~~~~~~~~~~~~
      |                ITEM_WILDGROWTH_SAFE
/home/ubuntu/server/github/src/combat.cpp: In member function ‘void MagicField::onStepInField(Creature*)’:
/home/ubuntu/server/github/src/combat.cpp:1415:12: error: ‘ITEM_MAGICWALL_NOPVP’ was not declared in this scope; did you mean ‘ITEM_MAGICWALL_SAFE’?
 1415 |  if (id == ITEM_MAGICWALL_NOPVP || id == ITEM_WILDGROWTH_NOPVP) {
      |            ^~~~~~~~~~~~~~~~~~~~
      |            ITEM_MAGICWALL_SAFE
/home/ubuntu/server/github/src/combat.cpp:1415:42: error: ‘ITEM_WILDGROWTH_NOPVP’ was not declared in this scope; did you mean ‘ITEM_WILDGROWTH_SAFE’?
 1415 |  if (id == ITEM_MAGICWALL_NOPVP || id == ITEM_WILDGROWTH_NOPVP) {
      |                                          ^~~~~~~~~~~~~~~~~~~~~
      |                                          ITEM_WILDGROWTH_SAFE
[ 14%] Building CXX object CMakeFiles/tfs.dir/src/configmanager.cpp.o
make[2]: *** [CMakeFiles/tfs.dir/build.make:169: CMakeFiles/tfs.dir/src/combat.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:125: CMakeFiles/tfs.dir/all] Error 2
make: *** [Makefile:84: all] Error 2

Life Fluid not working on hotkey

Protocol version
8.00

Describe the bug
Life Fluid not working on hotkey. Mana fluid is ok.

To Reproduce
Steps to reproduce the behavior:

  1. add life fluid to hotkey on yourself
  2. try use

Expected behavior
should use life fluid

Screenshots
simple to reproduce

Additional context
simple to reproduce

Torches doesn't work

Protocol version
7.72

Describe the bug
Torches doesn't work

To Reproduce
Steps to reproduce the behavior:

  1. /m torch
  2. Try using the torch
  3. "You cannot use this object"

Expected behavior
Torch should be lit

Summon received exp

Protocol version
8.60

Describe the bug
The received experience points from the summon that should appear over his head are not showing

To Reproduce
Steps to reproduce the behavior:

  1. Utevo res any monster
  2. Kill something else with it
  3. See error

On depo save insert to database fails

Protocol version
8.60

Describe the bug
After insert items to depot or locker and relog insert to database fails

Nefre has logged out.
[Error - mysql_real_query] Query: INSERT INTO `player_depotlockeritems` (`player_id`, `pid`, `sid`, `itemtype`, `count`, `attributes`) VALUES (7, 1, 101, 1988, 1, ''),(7, 1, 102, 2407, 1, ''),(7, 101, 103, 2496, 1, ''),(7, 101, 104, 2539, 1, '')
Message: Duplicate entry '7-103' for key 'player_depotlockeritems.player_id_2'
[Error - mysql_real_query] Query: INSERT INTO `player_depotlockeritems` (`player_id`, `pid`, `sid`, `itemtype`, `count`, `attributes`) VALUES (7, 1, 101, 1988, 1, ''),(7, 1, 102, 2407, 1, ''),(7, 101, 103, 2496, 1, ''),(7, 101, 104, 2539, 1, '')
Message: Duplicate entry '7-103' for key 'player_depotlockeritems.player_id_2'
[Error - mysql_real_query] Query: INSERT INTO `player_depotlockeritems` (`player_id`, `pid`, `sid`, `itemtype`, `count`, `attributes`) VALUES (7, 1, 101, 1988, 1, ''),(7, 1, 102, 2407, 1, ''),(7, 101, 103, 2496, 1, ''),(7, 101, 104, 2539, 1, '')
Message: Duplicate entry '7-103' for key 'player_depotlockeritems.player_id_2'
Error while saving player: Nefre
Nefre has logged in.

To Reproduce
I used in event script this functions local bag = winner:addItem(config.rewardBag, 1)
bag:addItem(reward.itemId, reward.count, INDEX_WHEREEVER, FLAG_NOLIMIT)
When event ends winner get bag with items inside when i relog it's ok but when i put the items to depot or locker and relog i get errors.
Check screenshots below.

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
image
image
image
AFTER RELOG:
image

Additional context
I saw in git that you already repaired this bug, but it's not working.
e8614e2

npc lib attempt to call method getSpeechBubble

Protocol version
8.60

Describe the bug
getSpeechBubble is removed from source, probably because its not compatible with 8.6. But the npc lua libs arent patched to accomodate this change.

To Reproduce
Steps to reproduce the behavior:

  1. Add NPC to server that uses the onCreatureAppear npcHandler
function onCreatureAppear(cid)              npcHandler:onCreatureAppear(cid)            end
  1. Start server

Expected behavior
No error, no speech bubble above npc.

Screenshots

data/npc/scripts/loot.lua:onCreatureAppear
data/npc/lib/npcsystem/npchandler.lua:363: attempt to call method 'getSpeechBubble' (a nil value)

stack traceback:
	[C]: in function 'getSpeechBubble'
	data/npc/lib/npcsystem/npchandler.lua:363: in function 'onCreatureAppear'
	data/npc/scripts/loot.lua:4: in function <data/npc/scripts/loot.lua:4>
data/npc/scripts/default.lua:onCreatureAppear
	data/npc/scripts/default.lua:5: in function <data/npc/scripts/default.lua:5>
data/npc/scripts/runes.lua:onCreatureAppear
	data/npc/scripts/runes.lua:5: in function <data/npc/scripts/runes.lua:5>

Additional context
https://github.com/nekiro/TFS-1.4-Downgrades/blob/5d0b3e144683d89f491adf989a327a009366b13e/data/npc/lib/npcsystem/npchandler.lua#L358-L377

Fluid containers not working

Protocol version
8.60

Describe the bug
All fluid containers are not working, they are not displaying if they are empty or not, and all of them have "infinite" water that you can splash in the ground

To Reproduce
Steps to reproduce the behavior:

  1. /i 2014
  2. Use it on the ground multiple times
  3. See error

Expected behavior
Working lmao

Doors not working in 7.72

Protocol version
7.72

Describe the bug
Cannot open/close doors. (Seems to be using global door variables that hasn't been set.)

To Reproduce
Steps to reproduce the behavior:

  1. Login to server
  2. Try to open/close a normal closed door

Haven't tried all door types. Might be the same issue for all of them.

Expected behavior
Door should open/close

Common 8.60 bugs: Monster Flags, Line of Sight, Chasing delay, Pathfinding

Hi, here is a list of common 8.60 bugs that I tested for https://otland.net/threads/8-60-otx-3-8-server-with-rebirth-loot-task-channel-autoloot-daily-tasks.274336/, still untested for this repository (TFS 1.4), but I saw the sources and should be applicable

Protocol version
8.60

Describe the bug
a) Add new flags to monsters. Such as

<flag canwalkonenergy="0" />
<flag canwalkonfire="0" />

otland/forgottenserver@0217513

b) Fix Line of Sight
otland/forgottenserver#3265

c) Less creature delay on chasing
https://otland.net/threads/weird-monster-npc-walk-behavior.261695/#post-2531223

d) Improved monster pathfinding
https://github.com/otland/forgottenserver/pull/2464/files

To Reproduce
Steps to reproduce the behavior:

Monster flags
https://www.youtube.com/watch?v=y99SCZ8XqCc

Path Finding
https://www.youtube.com/watch?v=vz6f1it64Hs

Out of sight:
https://www.youtube.com/watch?v=ob7CZ5Y0qUA

Chasing Delay
https://www.youtube.com/watch?v=sKCYpVWS9gM&t=4s

Regards!

monster movement

Protocol version
8.60

Describe the bug
it looks like they are dashing/lagging

To Reproduce
Steps to reproduce the behavior:
summon or get chased by a rat and you see the bug

Expected behavior
their movement should be more smooth

Screenshots
If applicable, add screenshots to help explain your problem.

Additional context
Add any other context about the problem here.

Parcel system in 7.72

Protocol version
7.72

Describe the bug
Parcels disappears after save & restart.

To Reproduce
Steps to reproduce the behavior:

  1. Send a parcel to yourself
  2. Save & exit server
  3. Start the server again and the parcel won't be there

See screenshot for error message. (I think this started to appear after sending the first parcel).

Expected behavior
Expected parcels to be saved

Screenshots
image

Real 8.0 code

I did not use bug report format, because I'm not reporting bug. I will make PRs referring to this Issue.

In 8.0 version there is a code for many thing that did not exist in 8.0.

  • 'earth' damage was 'poison' in 8.0
  • 'death', 'holy' and 'ice' damage did not exist
  • element damage in weapons did not exist (like 35 physical + 3 fire)
  • CONST_ME and CONST_ANI contains a lot of animations that did not exist in 8.0 times, which make Tibia client crash
    • using 'wand of decay' make client crash - try to deal 'death damage' and send 'death damage animation', which did not exist in 8.0

Depotlocker container crash

Protocol version
8.60

Describe the bug
Segmentation fault occurs after you have a looksie in your depotlocker.

To Reproduce
Steps to reproduce the behavior:

  1. Go to your depot
  2. Open it
  3. Logout
  4. Login
  5. Crash

If it doesnt crash, do it a couple more times. It usually happens within the first 3 times I try it.

Expected behavior
Nothing, no crash.

Screenshots
image

Additional context
I can almost remember we had a similar issue before in the old fork? :/ But doesn't seem like I have access to the issue tracker there anymore.

>> Loading monsters
>> Loading lua monsters
>> Loading outfits
>> Checking world type... PVP
>> Loading map
> Map size: 1024x1024.
> Map loading time: 4.164 seconds.
> Loaded house items in: 0.003 s
>> Initializing gamestate
>> Loaded all modules, server starting up...
>> server Server Online!

GM Znote has logged in.
GM Znote has logged out.
Luxitur has logged in.
Luxitur has logged out.
GM Znote has logged in.
GM Znote has logged out.
Luxitur has logged in.
GM Znote has logged in.
GM Znote has logged out.
Znote has logged in.
Znote has logged out.

Thread 2 "tfs" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff5f80700 (LWP 16050)]
0x0000000000000000 in ?? ()
(gdb)


#0  0x0000000000000000 in ?? ()
No symbol table info available.
#1  0x00005555555e6ae2 in Container::~Container (this=<optimized out>, __vtt_parm=<optimized out>, this=<optimized out>, __vtt_parm=<optimized out>) at /home/ubuntu/server/github/src/container.cpp:36
        item = 0x7ffff2ecca70
        __for_range = std::deque with 1 element = {0x7ffff2ecca70}
        __for_begin = 0x7ffff2ecca70
        __for_end = 0x0
        item = <optimized out>
        __for_range = <optimized out>
        __for_begin = <optimized out>
        __for_end = <optimized out>
#2  0x000055555560db67 in DepotLocker::~DepotLocker (this=<optimized out>, this=<optimized out>) at /home/ubuntu/server/github/src/depotlocker.h:27
No locals.
#3  0x000055555560db9c in DepotLocker::~DepotLocker (this=<optimized out>, this=<optimized out>) at /home/ubuntu/server/github/src/depotlocker.h:27
No locals.
#4  0x00005555558067c7 in std::_Sp_counted_ptr<DepotLocker*, (__gnu_cxx::_Lock_policy)2>::_M_dispose (this=0x7ffff3c51b70) at /usr/include/c++/9/bits/shared_ptr_base.h:377
No locals.
#5  0x0000555555598868 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x7ffff3c51b70) at /usr/include/c++/9/bits/shared_ptr_base.h:155
No locals.
#6  0x00005555555983b9 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count (this=<optimized out>, this=<optimized out>) at /usr/include/c++/9/bits/shared_ptr_base.h:730
No locals.
#7  0x0000555555804996 in std::__shared_ptr<DepotLocker, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr (this=<optimized out>, this=<optimized out>) at /usr/include/c++/9/bits/shared_ptr_base.h:1169
No locals.
#8  0x00005555558049b0 in std::shared_ptr<DepotLocker>::~shared_ptr (this=<optimized out>, this=<optimized out>) at /usr/include/c++/9/bits/shared_ptr.h:103
No locals.
#9  0x00005555558049ce in std::pair<unsigned int const, std::shared_ptr<DepotLocker> >::~pair (this=<optimized out>, this=<optimized out>) at /usr/include/c++/9/bits/stl_pair.h:208
No locals.
#10 0x00005555558049ec in __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<unsigned int const, std::shared_ptr<DepotLocker> > > >::destroy<std::pair<unsigned int const, std::shared_ptr<DepotLocker> > > (this=0x7ffff3c56590, __p=0x555555a71720) at /usr/include/c++/9/ext/new_allocator.h:153
No locals.
#11 0x00005555558035bf in std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<unsigned int const, std::shared_ptr<DepotLocker> > > > >::destroy<std::pair<unsigned int const, std::shared_ptr<DepotLocker> > > (__a=..., __p=0x555555a71720) at /usr/include/c++/9/bits/alloc_traits.h:497
No locals.
#12 0x0000555555801641 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, std::shared_ptr<DepotLocker> >, std::_Select1st<std::pair<unsigned int const, std::shared_ptr<DepotLocker> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::shared_ptr<DepotLocker> > > >::_M_destroy_node (this=0x7ffff3c56590, __p=0x555555a71700) at /usr/include/c++/9/bits/stl_tree.h:642
No locals.
#13 0x00005555557fe6b1 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, std::shared_ptr<DepotLocker> >, std::_Select1st<std::pair<unsigned int const, std::shared_ptr<DepotLocker> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::shared_ptr<DepotLocker> > > >::_M_drop_node (
    this=0x7ffff3c56590, __p=0x555555a71700) at /usr/include/c++/9/bits/stl_tree.h:650
No locals.
#14 0x00005555557fbafa in std::_Rb_tree<unsigned int, std::pair<unsigned int const, std::shared_ptr<DepotLocker> >, std::_Select1st<std::pair<unsigned int const, std::shared_ptr<DepotLocker> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::shared_ptr<DepotLocker> > > >::_M_erase (
    this=0x7ffff3c56590, __x=0x555555a71700) at /usr/include/c++/9/bits/stl_tree.h:1915
        __y = 0x0
#15 0x00005555557f9b42 in std::_Rb_tree<unsigned int, std::pair<unsigned int const, std::shared_ptr<DepotLocker> >, std::_Select1st<std::pair<unsigned int const, std::shared_ptr<DepotLocker> > >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::shared_ptr<DepotLocker> > > >::~_Rb_tree (
    this=<optimized out>, this=<optimized out>) at /usr/include/c++/9/bits/stl_tree.h:995
No locals.
#16 0x00005555557e7a94 in std::map<unsigned int, std::shared_ptr<DepotLocker>, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::shared_ptr<DepotLocker> > > >::~map (this=<optimized out>, this=<optimized out>) at /usr/include/c++/9/bits/stl_map.h:300
No locals.
#17 0x00005555557e909d in Player::~Player (this=<optimized out>, this=<optimized out>) at /home/ubuntu/server/github/src/player.cpp:54
        item = <optimized out>
        __for_range = <optimized out>
        __for_begin = <optimized out>
        __for_end = <optimized out>
#18 0x00005555557e9140 in Player::~Player (this=<optimized out>, this=<optimized out>) at /home/ubuntu/server/github/src/player.cpp:65
No locals.
#19 0x00005555555ef270 in Creature::decrementReferenceCounter (this=0x7ffff3c561b0) at /home/ubuntu/server/github/src/creature.h:462
No locals.
#20 0x000055555562f475 in Game::cleanup (this=0x555555a2c660 <g_game>) at /home/ubuntu/server/github/src/game.cpp:4323
        creature = 0x7ffff3c561b0
        __for_range = std::vector of length 1, capacity 16 = {0x7ffff3c561b0}
        __for_begin = 0x7ffff3c561b0
        __for_end = 0x7ffff3c52b70
#21 0x000055555562a508 in Game::checkCreatures (this=0x555555a2c660 <g_game>, index=2) at /home/ubuntu/server/github/src/game.cpp:3475
        checkCreatureList = std::__cxx11::list = {[0] = 0x7ffff3aa42a0}
        it = 0x1
        end = 0x1
#22 0x00005555556515eb in std::__invoke_impl<void, void (Game::*&)(unsigned long), Game*&, unsigned long&> (__f=@0x7fffe2953920: (void (Game::*)(Game * const, unsigned long)) 0x55555562a2ce <Game::checkCreatures(unsigned long)>, __t=@0x7fffe2953938: 0x555555a2c660 <g_game>) at /usr/include/c++/9/bits/invoke.h:73
No locals.
#23 0x000055555564d723 in std::__invoke<void (Game::*&)(unsigned long), Game*&, unsigned long&> (__fn=@0x7fffe2953920: (void (Game::*)(Game * const, unsigned long)) 0x55555562a2ce <Game::checkCreatures(unsigned long)>) at /usr/include/c++/9/bits/invoke.h:95
No locals.
#24 0x00005555556483c8 in std::_Bind<void (Game::*(Game*, unsigned long))(unsigned long)>::__call<void, , 0ul, 1ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul>) (this=0x7fffe2953920, __args=...) at /usr/include/c++/9/functional:400
No locals.
#25 0x000055555564131f in std::_Bind<void (Game::*(Game*, unsigned long))(unsigned long)>::operator()<, void>() (this=0x7fffe2953920) at /usr/include/c++/9/functional:484
No locals.
#26 0x000055555563b053 in std::_Function_handler<void (), std::_Bind<void (Game::*(Game*, unsigned long))(unsigned long)> >::_M_invoke(std::_Any_data const&) (__functor=...) at /usr/include/c++/9/bits/std_function.h:300
No locals.
--Type <RET> for more, q to quit, c to continue without paging--
#27 0x00005555558757d4 in std::function<void ()>::operator()() const (this=0x555555a733a0) at /usr/include/c++/9/bits/std_function.h:688
No locals.
#28 0x0000555555875246 in Task::operator() (this=0x555555a73390) at /home/ubuntu/server/github/src/tasks.h:41
No locals.
#29 0x00005555558754b2 in Dispatcher::threadMain (this=0x555555a2c540 <g_dispatcher>) at /home/ubuntu/server/github/src/tasks.cpp:57
        task = 0x555555a73390
        __for_range = std::vector of length 1, capacity 16 = {0x555555a73390}
        __for_begin = 0x555555a73390
        __for_end = 0x555555a63f80
        tmpTaskList = std::vector of length 1, capacity 16 = {0x555555a73390}
        taskLockUnique = {_M_device = 0x555555a2c550 <g_dispatcher+16>, _M_owns = false}
#30 0x00005555557db042 in std::__invoke_impl<void, void (Dispatcher::*)(), Dispatcher*> (__f=@0x555555a5b930: (void (Dispatcher::*)(Dispatcher * const)) 0x555555875370 <Dispatcher::threadMain()>, __t=@0x555555a5b928: 0x555555a2c540 <g_dispatcher>) at /usr/include/c++/9/bits/invoke.h:73
No locals.
#31 0x00005555557dad85 in std::__invoke<void (Dispatcher::*)(), Dispatcher*> (__fn=@0x555555a5b930: (void (Dispatcher::*)(Dispatcher * const)) 0x555555875370 <Dispatcher::threadMain()>) at /usr/include/c++/9/bits/invoke.h:95
No locals.
#32 0x00005555557da915 in std::thread::_Invoker<std::tuple<void (Dispatcher::*)(), Dispatcher*> >::_M_invoke<0ul, 1ul> (this=0x555555a5b928) at /usr/include/c++/9/thread:244
No locals.
#33 0x00005555557da32e in std::thread::_Invoker<std::tuple<void (Dispatcher::*)(), Dispatcher*> >::operator() (this=0x555555a5b928) at /usr/include/c++/9/thread:251
No locals.
#34 0x00005555557d9a7a in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (Dispatcher::*)(), Dispatcher*> > >::_M_run (this=0x555555a5b920) at /usr/include/c++/9/thread:195
No locals.
#35 0x00007ffff7e93d84 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#36 0x00007ffff7fa7609 in start_thread (arg=<optimized out>) at pthread_create.c:477
        ret = <optimized out>
        pd = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737320060672, 7447444098187041058, 140737488347358, 140737488347359, 140737488347360, 140737320058752, -7447466019741460190, -7447461720112064222}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = 0
#37 0x00007ffff7cd2293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.
(gdb)

When adding 2 items to depotlocker before logging out:

#0  0x00005555555e6c38 in Container::~Container (this=<optimized out>, __vtt_parm=<optimized out>, this=<optimized out>, __vtt_parm=<optimized out>) at /home/ubuntu/acidsot/github/src/container.cpp:36
        item = 0x7ffff02fdd70
        __for_range = std::deque with 2 elements = {0x7ffff2eba190, 0x7ffff02fdd70}
        __for_begin = 0x7ffff02fdd70
        __for_end = 0x0
        item = <optimized out>
        __for_range = <optimized out>
        __for_begin = <optimized out>
        __for_end = <optimized out>

Something weird with saving/game cleanup

Depotlocker opening crash

Protocol version
In protocol 8.00

Describe the bug
After opening the locker two times directly the TFS crashes.

To Reproduce
Steps to reproduce the behavior:

  1. open the locker
  2. open the locker again
  3. TFS gonna crash
  4. there are no errors

Expected behavior
If you opened the locker two times directly nothing would happen just the locker would be closed.

Screenshots

cb1a3a6da6e0acd66849e55079786b50.mp4

Additional context
I think u forget to fix it or something because this problem was similar to another issue in 860 protocol.

depot locker item duping

Protocol version
8.60

Describe the bug
depot locker item duping

To Reproduce
Steps to reproduce the behavior:

  1. go to depot locker
  2. open it
  3. put in the item of your choice
  4. relog

Expected behavior
your item has now been duplicated

Screenshots
333

Additional context
yes i relogged alot ;p im rich af now!
also it does not happen if you put inside the depot chest, so that's good :)

Throwing items

was a long time since i played around with these ot files, but i just discovered that the throwing distance doesn't seem to be that accurate, here is a comparison:

123

is any1 still working with these files fixing stuff? : )

Hello, I got that same problem (like in linked issue in Nostalriusm) in your distribution. Exist any solution ?

Ezzz-dev/Nostalrius#55

Npc not working on CipSoft client only o.O

Protocol version
8.60

Describe the bug
Looks like items prices or player money is not detected. I don't know really.
I don't even know where I should be looking at.

To Reproduce
Just run 8.60 branch without modifications

Expected behavior
It should behave the same.

Screenshots
image
image

Edit: Nvm, my lack of knowledge

Possible error with the player's direction when using `Creature.teleportTo`

Protocol version
8.60

Describe the bug
TFS Oficial PR 2133
I haven't personally tested this yet, but I think this could cause strange behavior when teleporting from one place to another

To Reproduce
Steps to reproduce the behavior:

  1. Add in yours scripts: data/scripts/test.lua
local talk = TalkAction("!tt")

function talk.onSay(player, words, param, type)
    local position = player:getPosition()
    position:getNextPosition(player:getDirection(), 1)
    player:teleportTo(position, true)
    return false
end

talk:register()
  1. Execute the talkaction: !tt
  2. Then observe how the character after each step always ends up facing north
  3. See error

Expected behavior
After each move the character should be looking towards the correct direction

Pick can be used on too many tiles?

Protocol version
7.72

Describe the bug
I can use pick on all tiles with ID 354 and 355 (might be more).
Confirmed that it doesn't work on tiles using ID 353, 352 and 351.

To Reproduce

  1. /i 354
  2. Use pick on location
  3. Hole appears

Expected behavior
Nothing should happen

Screenshots
image

Saving items in depot and depotlocker

Protocol version
8.60

Describe the bug
When player put items to depot or depotlocker and there is a save or player relog its ok but when he change places of these items i get error in console and character will not saved.

To Reproduce
Steps to reproduce the behavior:

  1. Login to game
  2. Put backpack in locker
  3. Put 2 items to locker
  4. Relog
  5. change places of these 2 items
  6. relog and error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots

Additional context
I did this changes: e8614e2
But it still not work

Damage received on mana shield

Protocol version
8.00

Describe the bug
when someone use utamo vita then instead of damage received players is receiving random characters

To Reproduce

  1. Use utamo vita and get some dmg

Expected behavior
display correct dmg received

Screenshots
If applicable, add screenshots to help explain your problem.

Additional context
Add any other context about the problem here.

Ctrl+z to report bug kick player also during fight

Protocol version
8.00

Describe the bug
when we click ctrl+z nad report bug and click OK, player is kicked from server

To Reproduce
Steps to reproduce the behavior:

  1. ctrl+z
  2. wrtie something
  3. click ok

Expected behavior
should just send report

Screenshots
simple to reproduce

Additional context
simple to reproduce

schema migration desync

Protocol version
8.60

Describe the bug
Schema and migration desync, the 8.6 downport commit set schema migration to version 24 (from 28), but the schema appears to otherwise represent version 28? This will make migration scripts such as this one:
https://github.com/nekiro/TFS-1.4-Downgrades/blob/8.60/data/migrations/26.lua
Execute and fail as it tries to reapply obsolete migrations.

To Reproduce
Steps to reproduce the behavior:

  1. Install a fresh new database
  2. Connect server to it
  3. Start server and observe console log
  4. See errors

Expected behavior
Clean console, a database import where server_config has correct db_version value.

Additional context
I haven't actually set up a development environment and tested this yet, hehe. :p But I intend to do it today and possibly send a pull request today.
This is just to create an issue id I can link to later, you probably don't have to do anything here just yet. I hope you won't do any changes to the schema and database to retain full third party db compatibility with TFS 1.3/4, even on the future 7.72 downport.

npc walkinterval on tiles

Protocol version
8.60

To Reproduce
Steps to reproduce the behavior:
place a npc with a walkinterval of 2000, on a snow tile, notice that it don't respect the interval

Expected behavior
it should walk every 2 seconds

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.