Jump to content

Xenithar

getMaNGOS Staff
  • Posts

    1395
  • Joined

  • Last visited

  • Days Won

    3
  • Donations

    0.00 GBP 

Everything posted by Xenithar

  1. Alright, I may do that. It would indeed make it easier to start fresh on the AI, and if I focus on one class at a time, I could probably get something passable in a short amount of time. I guess the only thing left to ask is what everybody agrees on for how each AI should react. For example, I remember playing my mage solo plenty back in the day. I'd run into a group of mobs, root with frost nova, blink, and cast something (cannot remember the name) which did AoE damage. This would not be good in a group, obviously. In group play I normally stayed back and hurled fire and ice at things. If there are suggestions for how a class AI should work grouped, post them here. I am digging into the code now, but will be leaving in an hour or two for about four hours.
  2. I agree with Reaper, moving the playerbots to a daemon would really increase network latency and, on virtualized (read; modern) setups that would increase CPU usage on the virtualized hardware. Keep the bots in the core. I will start looking at the AI. My big beef is the commands not confirming success. For example "~co +fire,-frost" results in my mage doing the correct thing, but he does not tell me his style changed. I also cannot list what the existing orders are. I plan on fixing that, but the chat parser and commands are strung out all over the place and they're not commented. As for the AI however, I know right where those files are and can look into understanding them and updating them. I will begin that this weekend. I really like the bots and have been going in just to mess around with them a lot lately, and would love to improve them. If you have any advice, feel free to post it. Otherwise I'll be doing this starting Saturday night.
  3. The current build in R21 is decent for basic questing and I am becoming interested in the project and furthering the AI. I have been looking over the code for a few days and am stumped as to where the commands are. The code could use some serious commenting. I believe if I can pick it up I can expand what this does and am actually excited to do just that. I'll keep looking at it and testing.
  4. Player bots crash on roll... I was having a few of my characters follow me around (characters I created and loaded with the bot AI) and when we had to roll on a green, the server crashed. I am working on mmaps right now and just wanted this noted. [code] Baratus T:no possible targets Baratus PUSH:add gathering loot 2.000000 Baratus A:lfg join - UNKNOWN Baratus A:add gathering loot - FAILED Baratus A:follow master - USELESS Baratus PUSH:follow master 1.000000 Baratus no actions executed Menelkir --- AI Tick --- Menelkir T:loot roll Menelkir PUSH:loot roll 100.000000 Menelkir T:no possible targets Menelkir PUSH:lfg join 100.000000 Menelkir T:no possible targets Menelkir PUSH:add gathering loot 2.000000 Menelkir T:timer Menelkir PUSH:check mount state 1.000000 Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7ffff0276700 (LWP 9726)] 0x0000000000dec932 in Reference::isValid (this=0x0) at /usr/src/zero/server/src/framework/Utilities/LinkedReference/Reference.h:137 137 return iRefTo != NULL; (gdb) backtrace #0 0x0000000000dec932 in Reference::isValid (this=0x0) at /usr/src/zero/server/src/framework/Utilities/LinkedReference/Reference.h:137 #1 0x0000000001134c80 in ai::LootRollAction::Execute (this=0x7fffe0efdd50, event=...) at /usr/src/zero/server/src/modules/Bots/playerbot/strategy/actions/LootRollAction.cpp:28 #2 0x00000000010dcf63 in ai::Engine::ListenAndExecute (this=0x7fffd9c0cdf0, action=0x7fffe0efdd50, event=...) at /usr/src/zero/server/src/modules/Bots/playerbot/strategy/Engine.cpp:466 #3 0x00000000010db211 in ai::Engine::DoNextAction (this=0x7fffd9c0cdf0, unit= 0x0, depth=0) at /usr/src/zero/server/src/modules/Bots/playerbot/strategy/Engine.cpp:171 #4 0x000000000108df07 in PlayerbotAI::DoNextAction (this=0x7fffd9bead90) at /usr/src/zero/server/src/modules/Bots/playerbot/PlayerbotAI.cpp:396 #5 0x000000000108ca6e in PlayerbotAI::UpdateAIInternal (this=0x7fffd9bead90, elapsed=101) at /usr/src/zero/server/src/modules/Bots/playerbot/PlayerbotAI.cpp:173 #6 0x00000000010a221e in PlayerbotAIBase::UpdateAI (this=0x7fffd9bead90, elapsed=101) at /usr/src/zero/server/src/modules/Bots/playerbot/PlayerbotAIBase.cpp:22 #7 0x000000000108c79d in PlayerbotAI::UpdateAI (this=0x7fffd9bead90, elapsed=101) at /usr/src/zero/server/src/modules/Bots/playerbot/PlayerbotAI.cpp:149 #8 0x0000000000cb2189 in Player::Update (this=0x7fffd9bd9c10, update_diff=101, p_time=101) at /usr/src/zero/server/src/game/Object/Player.cpp:1331 #9 0x0000000000e32b87 in WorldObject::UpdateHelper::Update ( this=0x7ffff0275c90, time_diff=101) at /usr/src/zero/server/src/game/Object/Object.h:473 #10 0x0000000000e3cf55 in Map::Update (this=0x5a0ab50, t_diff=@0x7fffdc3c7db0: 101) at /usr/src/zero/server/src/game/WorldHandlers/Map.cpp:489 #11 0x0000000000f59af2 in MapUpdateRequest::call (this=0x7fffdc3c7d90) at /usr/src/zero/server/src/game/Maps/MapUpdater.cpp:50 #12 0x000000000100da42 in DelayExecutor::svc (this=0x370e480) at /usr/src/zero/server/src/shared/Threading/DelayExecutor.cpp:67 #13 0x00007ffff776b4d7 in ACE_Task_Base::svc_run(void*) () from /usr/lib/libACE-6.0.3.so #14 0x00007ffff776cde5 in ACE_Thread_Adapter::invoke_i() () from /usr/lib/libACE-6.0.3.so #15 0x00007ffff776cef5 in ACE_Thread_Adapter::invoke() () from /usr/lib/libACE-6.0.3.so #16 0x00007ffff5edab50 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0 #17 0x00007ffff5c2495d in clone () from /lib/x86_64-linux-gnu/libc.so.6 #18 0x0000000000000000 in ?? () [/code] Next time I'll do loot master and see if ti repeats itself.
  5. Did you configure MaNGOS and point it to the correct directories and such? What you are describing sounds to me like the server daemon is not finding the movement maps. I cannot reproduce this with the current build. Did you copy the new mmaps directory into the correct location after building? *UPDATE* Scratch that, I can now produce this issue with the maps created by the new tools. Things even go underground where the Darkmoon Faire is supposed to be. See attached pics.
  6. Last night I cloned the latest d21 branch and built the new tools. I then re-extracted everything and it fixes about 90% of the movement issues with mobs. Some mobs still climb into the air, but hunter/lock pets can now follow the player and mobs can get to the player to fight, instead of standing in place and trying to enter combat repeatedly. My advice to the OP is to clone everything again, build again, and extract everything using the new tools. This should fix your problems. I will note that the new, unified tool does a good job, but I still get mobs going into the sky from time to time. I am not sure why, but it is still MUCH better than before, though a hair behind what we had a year ago. Perhaps we should make an option for creating better movement maps at the expense of disk space. Kind of like we have the option to make worse maps to save space (int vs float I believe).
  7. It is fixed, I get the new tools, and the new tools fix about 90% of the movemaps issues, such as mobs bouncing around in the air. I will change this to completed and close it.
  8. I don't do Skype. No 64bit Linux builds, and Microsoft switched it from the world-wide standard SIP protocol to something custom, so I cannot cross-chat with it with other clients. I'll re-clone and test now.
  9. Current develop21 fails to build under Unix/Linux... I just cloned the official repo maybe five minutes ago and attempted to build develop21. I did do the recursive clone, but got this anyway. [code] Scanning dependencies of target LuaEngine [ 27%] Building CXX object src/modules/Eluna/CMakeFiles/LuaEngine.dir/GroupHooks.cpp.o In file included from /usr/src/zero/server/src/shared/Database/DatabaseEnv.h:46:0, from /usr/src/zero/server/src/game/Object/Player.h:33, from /usr/src/zero/server/src/modules/Eluna/LuaEngine.h:17, from /usr/src/zero/server/src/modules/Eluna/HookHelpers.h:10, from /usr/src/zero/server/src/modules/Eluna/GroupHooks.cpp:11: /usr/src/zero/server/src/shared/Database/Database.h: In constructor âDatabase::Database()â: /usr/src/zero/server/src/shared/Database/Database.h:822:16: warning: âDatabase::m_pingIntervallmsâ will be initialized after [-Wreorder] /usr/src/zero/server/src/shared/Database/Database.h:740:37: warning: âDatabase::DBTransHelperTSS* Database::m_TransStorageâ [-Wreorder] /usr/src/zero/server/src/shared/Database/Database.h:658:9: warning: when initialized here [-Wreorder] In file included from /usr/src/zero/server/src/modules/Eluna/LuaEngine.h:20:0, from /usr/src/zero/server/src/modules/Eluna/HookHelpers.h:10, from /usr/src/zero/server/src/modules/Eluna/GroupHooks.cpp:11: /usr/src/zero/server/src/game/WorldHandlers/World.h: At global scope: /usr/src/zero/server/src/game/WorldHandlers/World.h:415:9: error: âunordered_mapâ in namespace âstdâ does not name a type compilation terminated due to -Wfatal-errors. make[2]: *** [src/modules/Eluna/CMakeFiles/LuaEngine.dir/GroupHooks.cpp.o] Error 1 make[1]: *** [src/modules/Eluna/CMakeFiles/LuaEngine.dir/all] Error 2 make: *** [all] Error 2 [/code] Looks like a typedef issue at first glance. I imagine Reaper already has a fix for it. I am cooking dinner and cannot dig into it yet.
  10. Reaper, I said vmaps/movement and MEANT to say mmaps/movement, thanks for the correction. I got separate tools the last time I built everything on my Linux box (assembler and extractor were separate) and this was Monday. I just now cloned the official repo, develop21, and can't even build the stuff due to an LUA make error. I am about to post this error in a ticket, but I believe the separate tools were bugged and I have bad mmaps, as this person probably does. Once I can try building the mmaps with the new, unified tool I expect the issue to go away.
  11. I will check on this tonight. I seem to recall this thread from ages ago, but have not checked lately. If it still exists I can work on it. The thing is, I would have to work on it one mob at a time, by using "modify scale x.y" until I find the right scale. Is there a way to extract the original, Blizzard scales from the client files? If not I can handle this, but it will come in increments and may take a while, unless everything needs to be scaled by some exact amount.
  12. Alright, a quick fix has been been PR'd. It is located [url=https://github.com/mangoszero/server/pull/63]here[/url]. I am working on a better fix now.
  13. Extraction scripts broken in *nix... The extraction scripts are currently broken in Unix and Linux (tested under Gentoo 64bit, Debian 7.9 64bit, and SCO Unix). Aside from creating an empty movemaps directory and not creating movemaps, it also does not create vmaps. To top that off, we get this when running "ExtractResources.sh". [code] Extracting GameObject models... Extracting \kl_onyxiaslair.wmo No such file \kl_onyxiaslair.wmo. Couldn't open RootWmo!!! Asset Extraction Complete ! Extraction Work complete. No errors. Sun Jan 17 11:12:05 EST 2016: Extracting of vmaps finished sh: 0: Can't open ./MoveMapGen.sh [/code] Yes, the movemap generator script was there and marked 755 (executable) but it refused to run it from within the primary script. I will work on a replacement script and do a PR tonight.
  14. Loot system broken... I have a strange issue where the server crashes if I am grouped and I kill ANY of the ghostly creatures in EPL. You know, like the "Hate Shrieker" in Corrin's Crossing. If I am grouped and kill one, it crashes 100% of the time. If I am solo, I can loot them and continue. This does NOT happen with the ghouls and skeletons, or bats and such. Below is the crash and backtrace. [code] creature 92561 stopped attacking player 1 player 1 stopped attacking creature 92561 SET JUST_DIED DealDamageEnd returned 452 damage AttackerStateUpdate: (Player) 1 attacked 92561 (TypeId: 3) for 452 dmg, absorbed 0, blocked 0, resisted 0. AttackerStateUpdate: (Player) 1 attacked 92561 (TypeId: 3) for 766 dmg, absorbed 0, blocked 0, resisted 0. AttackerStateUpdate: (Player) 1 attacked 92561 (TypeId: 3) for 457 dmg, absorbed 0, blocked 0, resisted 0. Condition-System: Check condition 237, type 10 - called from loot system with params plr: Player Ravirr (Guid: 1), map 0, src Condition-System: Check condition 1733, type 38 - called from loot system with params plr: Player Ravirr (Guid: 1), map 0, src Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7ffff209f700 (LWP 17646)] 0x0000000000a572f8 in WorldObject::GetPositionY (this=0x0) at /usr/src/zero/server/src/game/Object/Object.h:496 496 float GetPositionY() const { return m_position.y; } (gdb) continue Continuing. [Thread 0x7fffee272700 (LWP 17651) exited] [Thread 0x7fffeea73700 (LWP 17650) exited] [Thread 0x7fffef274700 (LWP 17649) exited] [Thread 0x7fffefa75700 (LWP 17648) exited] [Thread 0x7ffff0276700 (LWP 17647) exited] [Thread 0x7ffff209f700 (LWP 17646) exited] [Thread 0x7ffff493a700 (LWP 17615) exited] [Thread 0x7ffff513b700 (LWP 17614) exited] [Thread 0x7ffff5b48700 (LWP 17613) exited] Program terminated with signal SIGSEGV, Segmentation fault. The program no longer exists. (gdb) #0 0x0000000000a572f8 in WorldObject::GetPositionY (this=0x0) at /usr/src/zero/server/src/game/Object/Object.h:496 #1 0x0000000000acc95b in Cell::VisitGridObjects > (center_obj=0x0, visitor=..., radius=13, dont_load=true) at /usr/src/zero/server/src/game/WorldHandlers/CellImpl.h:183 #2 0x0000000000ab4e1c in PlayerCondition::Meets (this=0x2085e30, player= 0x8b6d410, map=0x5654010, source=0x0, conditionSourceType=CONDITION_FROM_LOOT) at /usr/src/zero/server/src/game/Object/ObjectMgr.cpp:7165 #3 0x0000000000ab3731 in ObjectMgr::IsPlayerMeetToCondition (this=0x1630710, conditionId=1733, pPlayer=0x8b6d410, map=0x5654010, source=0x0, conditionSourceType=CONDITION_FROM_LOOT) at /usr/src/zero/server/src/game/Object/ObjectMgr.cpp:6876 #4 0x0000000000bc5919 in LootTemplate::HasStartingQuestDropForPlayer ( this=0x75aca70, store=..., player=0x8b6d410, groupId=0 '\000') at /usr/src/zero/server/src/game/Object/LootMgr.cpp:1251 #5 0x0000000000bc116a in LootStore::HaveStartingQuestLootForPlayer ( this=0x15be620, loot_id=8542, player=0x8b6d410) at /usr/src/zero/server/src/game/Object/LootMgr.cpp:234 #6 0x0000000000b84b81 in Player::isAllowedToLoot (this=0x8b6d410, creature= 0xa32d890) at /usr/src/zero/server/src/game/Object/Player.cpp:14133 #7 0x0000000000a866a6 in Object::BuildValuesUpdate (this=0xa32d890, updatetype=0 '\000', data=0x7ffff02734f0, updateMask=0x7ffff0273520, target=0x8b6d410) at /usr/src/zero/server/src/game/Object/Object.cpp:454 #8 0x0000000000a85977 in Object::BuildValuesUpdateBlockForPlayer ( this=0xa32d890, data=0x7fffea954878, target=0x8b6d410) at /usr/src/zero/server/src/game/Object/Object.cpp:233 #9 0x0000000000a890d0 in Object::BuildUpdateDataForPlayer (this=0xa32d890, pl=0x8b6d410, update_players=...) at /usr/src/zero/server/src/game/Object/Object.cpp:908 #10 0x0000000000a8fc10 in WorldObjectChangeAccumulator::Visit ( this=0x7ffff0274ad0, m=...) at /usr/src/zero/server/src/game/Object/Object.cpp:1936 #11 0x0000000000a9a40f in VisitorHelper ( v=..., c=...) at /usr/src/zero/server/src/framework/GameSystem/TypeContainerVisitor.h:72 #12 0x0000000000a9a184 in VisitorHelper (v=..., c=...) at /usr/src/zero/server/src/framework/GameSystem/TypeContainerVisitor.h:85 #13 0x0000000000a99cc1 in VisitorHelper > (v=..., c=...) at /usr/src/zero/server/src/framework/GameSystem/TypeContainerVisitor.h:86 #14 0x0000000000a9998d in VisitorHelper > > (v=..., c=...) at /usr/src/zero/server/src/framework/GameSystem/TypeContainerVisitor.h:86 #15 0x0000000000a99750 in VisitorHelper > > > (v=..., c=...) at /usr/src/zero/server/src/framework/GameSystem/TypeContainerVisitor.h:86 #16 0x0000000000a99583 in VisitorHelper > > > > ( v=..., c=...) at /usr/src/zero/server/src/framework/GameSystem/TypeContainerVisitor.h:98 #17 0x0000000000a99258 in TypeContainerVisitor > > > > >::Visit (this=0x7ffff0274a60, c=...) at /usr/src/zero/server/src/framework/GameSystem/TypeContainerVisitor.h:127 #18 0x0000000000a98cd8 in Grid > > >, TypeList > > > >::Visit (this=0xa09c8b0, visitor=...) at /usr/src/zero/server/src/framework/GameSystem/Grid.h:111 #19 0x0000000000a98452 in NGrid > > >, TypeList > > > >::Visit > > > > (this=0xa08fd60, x=@0x7ffff027485c: 7, y=@0x7ffff0274858: 4, visitor=...) at /usr/src/zero/server/src/framework/GameSystem/NGrid.h:360 #20 0x0000000000a97358 in Map::Visit > > > > > (this=0x5654010, cell=..., visitor=...) at /usr/src/zero/server/src/game/WorldHandlers/Map.h:469 #21 0x0000000000a97499 in Cell::VisitCircle > > > > > (this=0x7ffff0274a70, visitor=..., m=..., begin_cell=..., end_cell=...) at /usr/src/zero/server/src/game/WorldHandlers/CellImpl.h:145 #22 0x0000000000a94e0a in Cell::Visit > > > > > (this=0x7ffff0274a70, standing_cell=..., visitor=..., m=..., x=2396.13843, y=-5192.90137, radius=91.125) at /usr/src/zero/server/src/game/WorldHandlers/CellImpl.h:102 #23 0x0000000000a92a42 in Cell::Visit > > > > > (this=0x7ffff0274a70, standing_cell=..., visitor=..., m=..., obj=..., radius=90) at /usr/src/zero/server/src/game/WorldHandlers/CellImpl.h:62 #24 0x0000000000a9134c in Cell::VisitWorldObjects (center_obj=0xa32d890, visitor=..., radius=90, dont_load=true) at /usr/src/zero/server/src/game/WorldHandlers/CellImpl.h:199 #25 0x0000000000a8d6d0 in WorldObject::BuildUpdateData (this=0xa32d890, update_players=...) at /usr/src/zero/server/src/game/Object/Object.cpp:1946 #26 0x0000000000cea9ac in Map::SendObjectUpdates (this=0x5654010) at /usr/src/zero/server/src/game/WorldHandlers/Map.cpp:1879 #27 0x0000000000ce4e36 in Map::Update (this=0x5654010, t_diff=@0x7fffe8132850: 100) at /usr/src/zero/server/src/game/WorldHandlers/Map.cpp:574 #28 0x0000000000e00e6a in MapUpdateRequest::call (this=0x7fffe8132830) at /usr/src/zero/server/src/game/Maps/MapUpdater.cpp:50 #29 0x0000000000eb3e8a in DelayExecutor::svc (this=0x335a970) at /usr/src/zero/server/src/shared/Threading/DelayExecutor.cpp:67 #30 0x00007ffff776b4d7 in ACE_Task_Base::svc_run(void*) () from /usr/lib/libACE-6.0.3.so #31 0x00007ffff776cde5 in ACE_Thread_Adapter::invoke_i() () from /usr/lib/libACE-6.0.3.so #32 0x00007ffff776cef5 in ACE_Thread_Adapter::invoke() () from /usr/lib/libACE-6.0.3.so #33 0x00007ffff5edab50 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0 #34 0x00007ffff5c2495d in clone () from /lib/x86_64-linux-gnu/libc.so.6 #35 0x0000000000000000 in ?? () [/code] Not sure why only these mobs cause the crash, but maybe more do around the world. Again, it is not just the hate shriekers, it is any mob that shares that model. This includes the ones on the other side of the map with different names. Sorry, I forget them off the top of my head. Either way, something is off and it APPEARS to be with the loot system.
  15. This is a bug with either the vmaps creation or the server. I am experiencing this all over the place. Other symptoms will include mobs which aggro, then lose aggro, then repeat constantly, probably due to not being able to path to your player, despite being right next to you. Tanaris is a great place to see this issue in action. Get a hunter or warlock and TRY to keep the pet with you. They cannot even path over small dunes. So yes, either vmaps are broken during creation or the server-side code for handling mobs/pets is broken. I am not familiar with the vmap/movement code personally, but if this remains open when I finish my next set of fixes and PR it, I will look into it. Hopefully somebody more familiar with the movement code can sort it before then.
  16. Yeah, I did not understand what it fixed, but left it alone. I thought about doing a PR for >0, but wanted somebody familiar with why these lines were even in there to comment first. They appear to do nothing.
  17. I disabled all the safe update features on the server and was able to execute the two lines of code and the other remaining 126 lines. All is good now, but there has to be a WHERE clause in these updates. I turned my safe updates settings back on after updating to 21_2_1. I am good and can continue work on the server, but something should be done about this. I will leave this open since the issue has not been fixed.
  18. I found the issues. You can't do safe updates without specifying an index. I removed all commenting, coding, everything except SQL from the update and ran it. It ran until it hit the following lines. [code] update dbdocsfields SET FieldComment = replace(FieldComment, 'table', 'table'); update dbdocsfields SET fieldNotes = replace(fieldNotes, 'table', 'table'); [/code] There is no index given so it was failing due to not being a safe operation. This was not being shown in the errors log, but it was causing the rollback flag to trip. All updates MUST specify an index! I now have to delete everything up to this line and figure out how to correct it so I can complete the update.
  19. I have uploaded a screenshot of the issue. I modified the results to show the structure and content variables also. The issue is that "bRollback" is TRUE and it always rolls back, but no errors are logged. Is something missing which sets bRollback to FALSE? Again, the other updates worked, although 24 and 25 both have a space or some other character as the first character in the file. I have to delete this invisible character or the update will not run at all. I am guessing these were written in something in Windows which is not unicode aware?
  20. Update 21_1_25 broken... Alright, I've been trying to fix this on my own and I cannot figure it out. SOmething with the world update 21 1 25 is broken. It fails every single time, telling me it is on version 'dbdocs update'. The problem is, 21 1 24 and 21 1 25 are both called 'dbdocs update'. In my database I see 21 1 24 has been applied, but I am unable to proceed due to this. There is no additional information logged so I have tried many things to make this work and it just does not work. Since I did a fetch/merge I now can no longer test my work because the server won't start due to my DB being out of date, due to this bug. Also, there is nothing logged in error in my server logs, so this has me stumped.
  21. Done! The MinLevel is now 26 as found [url=http://www.wowhead.com/quest=1106/martek-the-exiled]here[/url] and is now a part of my [url=https://github.com/mangoszero/database/pull/30]current pull request[/url].
  22. This is an issue, but the information I am finding says it can be started at 26, not 31. It should be 26 and 35. I am creating a fix now.
  23. I have made a [url=https://github.com/mangoszero/database/pull/30]pull request[/url] which fixes the initial issue. The files 22-25 do not appear to have the spaces when edited in nano. I will look into them more and do a PR if the issue is the file being edited in Windows or something. I still have not figured out why 25 will not work.
  24. I can confirm that this is indeed a bug. I have already made a [url=https://github.com/mangoszero/database/pull/30]pull request[/url] which addresses this issue and corrects it. *EDIT* I forgot to link to the information which backs up the initial complaint. It is now linked! [url=http://www.wowhead.com/quest=3022/handle-with-care]Quest 3022 Information[/url]
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use