Pelipoika / PathFollower

SourcePawn interface for NextBot's PathFollower
21 stars 8 forks source link

Gamedata update ? #8

Open mikou39 opened 5 months ago

mikou39 commented 5 months ago

Hello, I guess the extension need gamedata update for the newest TF2 update... Thank you !

L 04/23/2024 - 18:28:20: [PATHFOLLOWER] Found "CBaseEntity::GetAbsOrigin" @ 0x6c03b4e0
L 04/23/2024 - 18:28:20: [PATHFOLLOWER] Failed to locate memory address based on signature for "ChasePath::RefreshPath"!
L 04/23/2024 - 18:28:20: [PATHFOLLOWER] Failed to locate memory address based on signature for "ChasePath::RefreshPath"!
L 04/23/2024 - 18:28:20: [PATHFOLLOWER] Found "TheNavMesh" @ 0x0d00d800
L 04/23/2024 - 18:28:20: [PATHFOLLOWER] Failed to locate memory address based on signature for "PathFollower::PathFollower [C1]"!
L 04/23/2024 - 18:28:20: [PATHFOLLOWER] Failed to locate memory address based on signature for "ILocomotion::IsPotentiallyTraversable"!
L 04/23/2024 - 18:28:20: [PATHFOLLOWER] Failed to locate memory address based on signature for "ILocomotion::HasPotentialGap"!
L 04/23/2024 - 18:28:20: [PATHFOLLOWER] Found "ILocomotion::IsGap" @ 0x6c311510
L 04/23/2024 - 18:28:20: [PATHFOLLOWER] Found "CTFBotLocomotion::IsAreaTraversable" @ 0x6c452a20
L 04/23/2024 - 18:28:20: [PATHFOLLOWER] Failed to locate memory address based on signature for "TheNextBots"!
L 04/23/2024 - 18:28:20: [PATHFOLLOWER] Failed to locate memory address based on signature for "NextBotManager::Register"!
L 04/23/2024 - 18:28:20: [PATHFOLLOWER] Failed to locate memory address based on signature for "NextBotManager::UnRegister"!
L 04/23/2024 - 18:28:20: [PATHFOLLOWER] Failed to locate memory address based on signature for "CNavMesh::GetNavArea [Vec]"!
L 04/23/2024 - 18:28:20: [PATHFOLLOWER] Failed to locate memory address based on signature for "CNavMesh::GetNearestNavArea [Vec]"!
L 04/23/2024 - 18:28:20: [PATHFOLLOWER] Found "CBaseEntity::MyCombatCharacterPointer"
L 04/23/2024 - 18:28:20: [PATHFOLLOWER] Found "CBaseCombatCharacter::UpdateLastKnownArea"
L 04/23/2024 - 18:28:20: [PATHFOLLOWER] Found "CBaseCombatCharacter::GetLastKnownArea"
L 04/23/2024 - 18:28:20: [SM] Unable to load extension "PathFollower.ext": Unknown error
OfficerSpy commented 5 months ago

Try these:

ChasePath::RefreshPath

windows: \x55\x8B\xEC\x83\xEC\x30\x53\x56\x57\x33\xD2
linux: @_ZN9ChasePath11RefreshPathEP8INextBotP11CBaseEntityRK9IPathCostP6Vector

PathFollower::PathFollower

windows: \x55\x8B\xEC\xE8\x2A\x2A\x2A\x2A\x8B\xD0\xA1\x2A\x2A\x2A\x2A\x8B\x08\x8B\x01\x85\xD2\x75\x2A\xFF\x75\x2A\xFF\x50
linux: @_ZN12PathFollowerC1Ev

ILocomotion::IsPotentiallyTraversable

windows: \x53\x8B\xDC\x83\xEC\x08\x83\xE4\xF0\x83\xC4\x04\x55\x8B\x6B\x2A\x89\x6C\x24\x2A\x8B\xEC\x81\xEC\x08\x01\x00\x00\x56\x57\x33\xD2
linux: @_ZNK11ILocomotion24IsPotentiallyTraversableERK6VectorS2_NS_16TraverseWhenTypeEPf

ILocomotion::HasPotentialGap

windows: \x53\x8B\xDC\x83\xEC\x08\x83\xE4\xF0\x83\xC4\x04\x55\x8B\x6B\x2A\x89\x6C\x24\x2A\x8B\xEC\x83\xEC\x68\x56\x8B\xF1
linux: @_ZNK11ILocomotion15HasPotentialGapERK6VectorS2_Pf

TheNextBots

windows: \xA1\x2A\x2A\x2A\x2A\x85\xC0\x0F\x85\x2A\x2A\x2A\x2A\xA1
linux: @_Z11TheNextBotsv

CNavMesh::GetNavArea

windows: \x55\x8B\xEC\x83\xEC\x34\x53\x56\x33\xD2
linux: @_ZNK8CNavMesh10GetNavAreaERK6Vectorf

CNavMesh::GetNearestNavArea

windows: \x53\x8B\xDC\x83\xEC\x08\x83\xE4\xF0\x83\xC4\x04\x55\x8B\x6B\x2A\x89\x6C\x24\x2A\x8B\xEC\x81\xEC\x68\x01\x00\x00\x8B\x15\x2A\x2A\x2A\x2A
linux: @_ZNK8CNavMesh17GetNearestNavAreaERK6Vectorbfbbi
mikou39 commented 5 months ago

Hello, thank you they seem to work ! Just missing NextBotManager::Register and NextBotManager::UnRegister for the extension to load.

Thank you again !

L 04/27/2024 - 15:22:53: [PATHFOLLOWER] Found "CBaseEntity::GetAbsOrigin" @ 0x6c03b4e0
L 04/27/2024 - 15:22:53: [PATHFOLLOWER] Found "Path::Compute<IPathCost> [goal]" @ 0x6c4567b0
L 04/27/2024 - 15:22:53: [PATHFOLLOWER] Found "Path::Compute<IPathCost> [subject]" @ 0x6c456ad0
L 04/27/2024 - 15:22:53: [PATHFOLLOWER] Found "TheNavMesh" @ 0x0ccad800
L 04/27/2024 - 15:22:53: [PATHFOLLOWER] Found "PathFollower::PathFollower [C1]" @ 0x6c187a60
L 04/27/2024 - 15:22:53: [PATHFOLLOWER] Found "ILocomotion::IsPotentiallyTraversable" @ 0x6c311730
L 04/27/2024 - 15:22:53: [PATHFOLLOWER] Found "ILocomotion::HasPotentialGap" @ 0x6c30f7c0
L 04/27/2024 - 15:22:53: [PATHFOLLOWER] Found "ILocomotion::IsGap" @ 0x6c311510
L 04/27/2024 - 15:22:53: [PATHFOLLOWER] Found "CTFBotLocomotion::IsAreaTraversable" @ 0x6c452a20
L 04/27/2024 - 15:22:53: [PATHFOLLOWER] Found "TheNextBots" @ 0x6c3031b0
L 04/27/2024 - 15:22:53: [PATHFOLLOWER] Failed to locate memory address based on signature for "NextBotManager::Register"!
L 04/27/2024 - 15:22:53: [PATHFOLLOWER] Failed to locate memory address based on signature for "NextBotManager::UnRegister"!
L 04/27/2024 - 15:22:53: [PATHFOLLOWER] Found "CNavMesh::GetNavArea [Vec]" @ 0x6c2f63d0
L 04/27/2024 - 15:22:53: [PATHFOLLOWER] Found "CNavMesh::GetNearestNavArea [Vec]" @ 0x6c2f69c0
L 04/27/2024 - 15:22:53: [PATHFOLLOWER] Found "CBaseEntity::MyCombatCharacterPointer"
L 04/27/2024 - 15:22:53: [PATHFOLLOWER] Found "CBaseCombatCharacter::UpdateLastKnownArea"
L 04/27/2024 - 15:22:53: [PATHFOLLOWER] Found "CBaseCombatCharacter::GetLastKnownArea"
L 04/27/2024 - 15:22:53: [SM] Unable to load extension "PathFollower.ext": Unknown error
OfficerSpy commented 5 months ago

I cannot for the life of me figure out where these functions are located. I can give a bunch of signatures I believe may be it, but at that point it's just a guessing game.

mikou39 commented 5 months ago

Well we can still try if you wish ! If not it's alright :)

mikou39 commented 5 months ago

After a bit of learning and comparing with a old server.dll, I found the signature for the two missing, the extension now seems to load correctly, but when I try with a plugin (TFBot Engineer support for all maps or TFBot sd_doomsday Support) it's just crash the server... Maybe there is more to it than just a gamedata update...

OfficerSpy commented 5 months ago

After a bit of learning and comparing with a old server.dll, I found the signature for the two missing, the extension now seems to load correctly, but when I try with a plugin (TFBot Engineer support for all maps or TFBot sd_doomsday Support) it's just crash the server... Maybe there is more to it than just a gamedata update...

  • "NextBotManager::Register" "\x55\x8B\xEC\x56\x57\x8D\x71\x08"
  • "NextBotManager::UnRegister" "\x55\x8B\xEC\x51\x53\x8B\x5D\x08\x8B\xC1\x56\x57\x89\x45\xFC"

Was the crash like directly caused by it in a crash dump?

mikou39 commented 5 months ago

Well, I'm not sure from what I checked with an Accelerator crash dump... I just tested it with the two plugin independently and always crashes after the server started to load some bots. I can share the crash dump here: https://crash.limetech.org/vnybysaeftrp

OfficerSpy commented 4 months ago

Well, I'm not sure from what I checked with an Accelerator crash dump... I just tested it with the two plugin independently and always crashes after the server started to load some bots. I can share the crash dump here: https://crash.limetech.org/vnybysaeftrp

Well I can't see much from that but I'll take your word for it. It's possible bytes need to be changed again, but I'll have to see how this performs later.

OfficerSpy commented 4 months ago

Well we can still try if you wish ! If not it's alright :)

These were the signatures I tried to find for NextBotManager::Register, but I'm not sure if any of them are correct. \x55\x8B\xEC\x83\xEC\x10\x56\x8B\xF1\x8B\x56\x2A\x85\xD2\x0F\x85\x2A\x2A\x2A\x2A\x8B\x46\x2A\x57\x8D\x7E\x2A\x85\xC0\x74\x2A\x8B\x4F\x2A\x85\xC9\x78\x2A\x3B\x48\x2A\x7D\x2A\x57\x8D\x45\x2A\x8B\xCE\x50\xE8\x2A\x2A\x2A\x2A\x8B\x08\x8B\x50\x2A\xEB\x2A\x8B\x0E\x85\xC9\x75\x2A\x33\xD2\x85\xC9\x74\x2A\x85\xD2\x78\x2A\x3B\x51\x2A\x7C\x2A\x6A\x01\x8B\xCE\xE8\x2A\x2A\x2A\x2A\xC7\x46\x2A\x00\x00\x00\x00\x8B\x0F\x85\xC9\x74\x2A\x8B\x47\x2A\x85\xC0\x78\x2A\x3B\x41\x2A\x7D\x2A\x57\x8D\x45\x2A\x8B\xCE\x50\xE8\x2A\x2A\x2A\x2A\x8B\x08\x8B\x50\x2A\xEB\x2A\x8B\x0E\x85\xC9\x75\x2A\x33\xD2\x85\xC9\x74\x2A\x85\xD2\x78\x2A\x3B\x51\x2A\x7D\x2A\x85\xC9\x74\x2A\x85\xD2\x78\x2A\x3B\x51\x2A\x7D\x2A\x6B\xC2\x4C

\x55\x8B\xEC\x53\x56\x8B\xF1\xBB\xFF\xFF\x00\x00\x57\x0F\xB7\x46\x2A\x66\x3B\xC3\x0F\x85\x2A\x2A\x2A\x2A\x0F\xB7\x56\x2A\x8B\x4E\x2A\x3B\xD1\x73\x2A\x8D\x42\x2A\x0F\xB7\xD0\x0F\xB7\xC0\x3B\xC1\x8B\xC2\x72\x2A\x8B\xC3\xEB\x2A\x33\xC0\x3B\xC1\x1B\xC0\x25\x01\x00\xFF\xFF\x05\xFF\xFF\x00\x00\x0F\xB7\xD0\x0F\xB7\xC2\x3B\xC1\x0F\x82\x2A\x2A\x2A\x2A\x8B\x5E\x2A\x85\xDB\x78\x2A\x8D\x79\x2A\x74\x2A\x8B\xC1\x99\xF7\xFB\x8D\x48\x2A\x0F\xAF\xCB\xEB\x2A\x85\xC9\xB8\x04\x00\x00\x00

\x55\x8B\xEC\x53\x56\x8B\xF1\xBB\xFF\xFF\x00\x00\x57\x0F\xB7\x46\x2A\x66\x3B\xC3\x0F\x85\x2A\x2A\x2A\x2A\x0F\xB7\x56\x2A\x8B\x4E\x2A\x3B\xD1\x73\x2A\x8D\x42\x2A\x0F\xB7\xD0\x0F\xB7\xC0\x3B\xC1\x8B\xC2\x72\x2A\x8B\xC3\xEB\x2A\x33\xC0\x3B\xC1\x1B\xC0\x25\x01\x00\xFF\xFF\x05\xFF\xFF\x00\x00\x0F\xB7\xD0\x0F\xB7\xC2\x3B\xC1\x0F\x82\x2A\x2A\x2A\x2A\x8B\x5E\x2A\x85\xDB\x0F\x88\x2A\x2A\x2A\x2A\x8D\x79\x2A\x74\x2A\x8B\xC1\x99\xF7\xFB\x8D\x48\x2A\x0F\xAF\xCB\xEB\x2A\x85\xC9\xB8\x03\x00\x00\x00

\x55\x8B\xEC\x83\xEC\x10\x56\x8B\xF1\x8B\x56\x2A\x85\xD2\x0F\x85\x2A\x2A\x2A\x2A\x8B\x46\x2A\x57\x8D\x7E\x2A\x85\xC0\x74\x2A\x8B\x4F\x2A\x85\xC9\x78\x2A\x3B\x48\x2A\x7D\x2A\x57\x8D\x45\x2A\x8B\xCE\x50\xE8\x2A\x2A\x2A\x2A\x8B\x10\x8B\x48\x2A\xEB\x2A\x8B\x16\x85\xD2\x75\x2A\x33\xC9\x85\xD2\x74\x2A\x85\xC9\x78\x2A\x3B\x4A\x2A\x7C\x2A\x6A\x01\x8B\xCE\xE8\x2A\x2A\x2A\x2A\xC7\x46\x2A\x00\x00\x00\x00\x8B\x0F\x85\xC9\x74\x2A\x8B\x47\x2A\x85\xC0\x78\x2A\x3B\x41\x2A\x7D\x2A\x57\x8D\x45\x2A\x8B\xCE\x50\xE8\x2A\x2A\x2A\x2A\x8B\x10\x8B\x48\x2A\xEB\x2A\x8B\x16\x85\xD2\x75\x2A\x33\xC9\x85\xD2\x74\x2A\x85\xC9\x78\x2A\x3B\x4A\x2A\x7D\x2A\x85\xD2\x74\x2A\x85\xC9\x78\x2A\x3B\x4A\x2A\x7D\x2A\x8D\x41\x2A

\x55\x8B\xEC\x53\x56\x8B\xF1\xBB\xFF\xFF\x00\x00\x57\x0F\xB7\x46\x2A\x66\x3B\xC3\x0F\x85\x2A\x2A\x2A\x2A\x0F\xB7\x56\x2A\x8B\x4E\x2A\x3B\xD1\x73\x2A\x8D\x42\x2A\x0F\xB7\xD0\x0F\xB7\xC0\x3B\xC1\x8B\xC2\x72\x2A\x8B\xC3\xEB\x2A\x33\xC0\x3B\xC1\x1B\xC0\x25\x01\x00\xFF\xFF\x05\xFF\xFF\x00\x00\x0F\xB7\xD0\x0F\xB7\xC2\x3B\xC1\x0F\x82\x2A\x2A\x2A\x2A\x8B\x5E\x2A\x85\xDB\x0F\x88\x2A\x2A\x2A\x2A\x8D\x79\x2A\x74\x2A\x8B\xC1\x99\xF7\xFB\x8D\x48\x2A\x0F\xAF\xCB\xEB\x2A\x85\xC9\xB8\x04\x00\x00\x00

\x55\x8B\xEC\x53\x56\x8B\xF1\xBB\xFF\xFF\x00\x00\x57\x0F\xB7\x46\x2A\x66\x3B\xC3\x0F\x85\x2A\x2A\x2A\x2A\x0F\xB7\x56\x2A\x8B\x4E\x2A\x3B\xD1\x73\x2A\x8D\x42\x2A\x0F\xB7\xD0\x0F\xB7\xC0\x3B\xC1\x8B\xC2\x72\x2A\x8B\xC3\xEB\x2A\x33\xC0\x3B\xC1\x1B\xC0\x25\x01\x00\xFF\xFF\x05\xFF\xFF\x00\x00\x0F\xB7\xD0\x0F\xB7\xC2\x3B\xC1\x0F\x82\x2A\x2A\x2A\x2A\x8B\x5E\x2A\x85\xDB\x78\x2A\x8D\x79\x2A\x74\x2A\x8B\xC1\x99\xF7\xFB\x8D\x48\x2A\x0F\xAF\xCB\xEB\x2A\x85\xC9\xB8\x02\x00\x00\x00

\x55\x8B\xEC\x53\x56\x8B\xF1\xBB\xFF\xFF\x00\x00\x57\x0F\xB7\x46\x2A\x66\x3B\xC3\x0F\x85\x2A\x2A\x2A\x2A\x0F\xB7\x56\x2A\x8B\x4E\x2A\x3B\xD1\x73\x2A\x8D\x42\x2A\x0F\xB7\xD0\x0F\xB7\xC0\x3B\xC1\x8B\xC2\x72\x2A\x8B\xC3\xEB\x2A\x33\xC0\x3B\xC1\x1B\xC0\x25\x01\x00\xFF\xFF\x05\xFF\xFF\x00\x00\x0F\xB7\xD0\x0F\xB7\xC2\x3B\xC1\x0F\x82\x2A\x2A\x2A\x2A\x8B\x5E\x2A\x85\xDB\x0F\x88\x2A\x2A\x2A\x2A\x8D\x79\x2A\x74\x2A\x8B\xC1\x99\xF7\xFB\x8D\x48\x2A\x0F\xAF\xCB\xEB\x2A\x85\xC9\xB8\x01\x00\x00\x00

\x55\x8B\xEC\x83\xEC\x10\x56\x8B\xF1\x8B\x56\x2A\x85\xD2\x0F\x85\x2A\x2A\x2A\x2A\x8B\x46\x2A\x57\x8D\x7E\x2A\x85\xC0\x74\x2A\x8B\x4F\x2A\x85\xC9\x78\x2A\x3B\x48\x2A\x7D\x2A\x57\x8D\x45\x2A\x8B\xCE\x50\xE8\x2A\x2A\x2A\x2A\x8B\x08\x8B\x50\x2A\xEB\x2A\x8B\x0E\x85\xC9\x75\x2A\x33\xD2\x85\xC9\x74\x2A\x85\xD2\x78\x2A\x3B\x51\x2A\x7C\x2A\x6A\x01\x8B\xCE\xE8\x2A\x2A\x2A\x2A\xC7\x46\x2A\x00\x00\x00\x00\x8B\x0F\x85\xC9\x74\x2A\x8B\x47\x2A\x85\xC0\x78\x2A\x3B\x41\x2A\x7D\x2A\x57\x8D\x45\x2A\x8B\xCE\x50\xE8\x2A\x2A\x2A\x2A\x8B\x08\x8B\x50\x2A\xEB\x2A\x8B\x0E\x85\xC9\x75\x2A\x33\xD2\x85\xC9\x74\x2A\x85\xD2\x78\x2A\x3B\x51\x2A\x7D\x2A\x85\xC9\x74\x2A\x85\xD2\x78\x2A\x3B\x51\x2A\x7D\x2A\x69\xC2\x98\x01\x00\x00

\x55\x8B\xEC\x53\x56\x8B\xF1\xBB\xFF\xFF\x00\x00\x57\x0F\xB7\x46\x2A\x66\x3B\xC3\x0F\x85\x2A\x2A\x2A\x2A\x0F\xB7\x56\x2A\x8B\x4E\x2A\x3B\xD1\x73\x2A\x8D\x42\x2A\x0F\xB7\xD0\x0F\xB7\xC0\x3B\xC1\x8B\xC2\x72\x2A\x8B\xC3\xEB\x2A\x33\xC0\x3B\xC1\x1B\xC0\x25\x01\x00\xFF\xFF\x05\xFF\xFF\x00\x00\x0F\xB7\xD0\x0F\xB7\xC2\x3B\xC1\x0F\x82\x2A\x2A\x2A\x2A\x8B\x5E\x2A\x85\xDB\x0F\x88\x2A\x2A\x2A\x2A\x8D\x79\x2A\x74\x2A\x8B\xC1\x99\xF7\xFB\x8D\x48\x2A\x0F\xAF\xCB\xEB\x2A\x85\xC9\xB8\x02\x00\x00\x00

\x55\x8B\xEC\x83\xEC\x10\x56\x8B\xF1\x8B\x56\x2A\x85\xD2\x0F\x85\x2A\x2A\x2A\x2A\x8B\x46\x2A\x57\x8D\x7E\x2A\x85\xC0\x74\x2A\x8B\x4F\x2A\x85\xC9\x78\x2A\x3B\x48\x2A\x7D\x2A\x57\x8D\x45\x2A\x8B\xCE\x50\xE8\x2A\x2A\x2A\x2A\x8B\x10\x8B\x48\x2A\xEB\x2A\x8B\x16\x85\xD2\x75\x2A\x33\xC9\x85\xD2\x74\x2A\x85\xC9\x78\x2A\x3B\x4A\x2A\x7C\x2A\x6A\x01\x8B\xCE\xE8\x2A\x2A\x2A\x2A\xC7\x46\x2A\x00\x00\x00\x00\x8B\x0F\x85\xC9\x74\x2A\x8B\x47\x2A\x85\xC0\x78\x2A\x3B\x41\x2A\x7D\x2A\x57\x8D\x45\x2A\x8B\xCE\x50\xE8\x2A\x2A\x2A\x2A\x8B\x10\x8B\x48\x2A\xEB\x2A\x8B\x16\x85\xD2\x75\x2A\x33\xC9\x85\xD2\x74\x2A\x85\xC9\x78\x2A\x3B\x4A\x2A\x7D\x2A\x85\xD2\x74\x2A\x85\xC9\x78\x2A\x3B\x4A\x2A\x7D\x2A\x8D\x04\x4D\x2A\x2A\x2A\x2A

\x55\x8B\xEC\x56\x8B\xF1\x57\x8B\x56\x2A\x83\xFA\xFF\x0F\x85\x2A\x2A\x2A\x2A\x8B\x46\x2A\x8B\x4E\x2A\x3B\xC1\x73\x2A\x40\x0B\xD2\x3B\xC1\x0F\x42\xD0\xEB\x2A\x33\xC0\x3B\xC1\x1B\xD2\xF7\xDA\x4A\x3B\xD1\x0F\x82\x2A\x2A\x2A\x2A\x53\x8B\x5E\x2A\x85\xDB\x78\x2A\x8D\x79\x2A\x74\x2A\x8B\xC1\x99\xF7\xFB\x8D\x48\x2A\x0F\xAF\xCB\x3B\xCF\x7D\x2A\x85\xC9\x75\x2A\x83\xFF\xFF\x7F\x2A\x83\xC9\xFF\xEB\x2A\x85\xC9\xB8\x01\x00\x00\x00

\x55\x8B\xEC\x56\x8B\xF1\x57\x8B\x56\x2A\x83\xFA\xFF\x0F\x85\x2A\x2A\x2A\x2A\x8B\x46\x2A\x8B\x4E\x2A\x3B\xC1\x73\x2A\x40\x0B\xD2\x3B\xC1\x0F\x42\xD0\xEB\x2A\x33\xC0\x3B\xC1\x1B\xD2\xF7\xDA\x4A\x3B\xD1\x0F\x82\x2A\x2A\x2A\x2A\x53\x8B\x5E\x2A\x85\xDB\x78\x2A\x8D\x79\x2A\x74\x2A\x8B\xC1\x99\xF7\xFB\x8D\x48\x2A\x0F\xAF\xCB\x3B\xCF\x7D\x2A\x85\xC9\x75\x2A\x83\xFF\xFF\x7F\x2A\x83\xC9\xFF\xEB\x2A\x85\xC9\xB8\x02\x00\x00\x00

mikou39 commented 4 months ago

Just tried them all, the extension seem to load fine with all of them, but do the same as with my signature, crash after loading a bot that need the extension...