Open moncat2005 opened 6 months ago
Find some specific factors that trigger this problem:
In some specific map locations, NPCBOTS will enter a combat state where the object of battle is not visible, and the soldier will see the anger value automatically rise to 100%.
At this time, NPCBOTS does not follow the player, and the player cannot recall the combat NPCBOTS by clicking the recall command.
If the NPCBOTS can be found, execute the STOP+Slack instruction on it, and then recall it.
Recommended optimization: for the hired NPCBOTS that the player has gone offline, increase the automatic sending STOP+Slack, complete the exit from the combat state, and then let the npcbots return to the respawn point.
Increase feedback from players: The player accidentally found NPCbots that cannot be recalled in certain specific areas mentioned above. However, these NPCbots are still in battle, useless in executing recalls, and unable to follow employer players. And the level of this trapped warrior NPCbots has been raised to level 80, which is not consistent with the player's level. It should be that this NPCbots is in combat and its experience level has automatically increased to the highest level of 80.
Once this problem occurs at present, unless you find NPCbots to execute the above command and resume following after a remote recall away from a specific location, you will return to the respawn point only through server restart.
Player feedback again (code version is 5/20):
Well even following these steps I cannot reproduce the problem. Far or close, bots return to player properly. Even if I make them stay near the dummy to make them continue attack when I move away, still if I leave combat, logout and log back in bots leave combat and return to their spawn location and then teleport back to player.
I think it could actually be related to the addon you're using and the changes that go with it since you cannot set 'inaction' command state using bot commands or gossip menu. Actually you can, memory fails me.
The plugin is the latest version of NetherBot, so there shouldn't be any issues. I just made language adjustments. Other players have not reported the issue of being unable to recall NPCbots again after the 5/20 update. In order to rule out the possibility of this player's misoperation, I have contacted the player to request assistance in troubleshooting the issue by providing the account and password of the character. After using this character to enter the game, it was true that only one NPC bot was around, and the rest could not be recalled. I tried non hidden, no action, and no more NPC bots to respond to. I also checked the NPC ownership data of the character and confirmed that there are 9 NPC bots present.
Correct it, according to the screenshot above, the warrior is not in battle this time. The map shows it's right beside you, but it's just not visible.
Correct it, according to the screenshot above, the warrior is not in battle this time. The map shows it's right beside you, but it's just not visible.
If player logs in and party is created then bot actually joins player and teleports, but either can't enter player's map or is restricted by something else. Map shows bot's last location since was noted, means bot was added to group and then teleported
If you have a reliable way to reproduce the issue locally you can try uncomment bot_ai.cpp lines 18278-18279, see if message triggers:
- //ChatHandler ch(master->GetSession());
- //ch.PSendSysMessage("Your bot %s cannot teleport to you. Restricted bot access on this map...", me->GetName().c_str());
+ ChatHandler ch(master->GetSession());
+ ch.PSendSysMessage("Your bot %s cannot teleport to you. Restricted bot access on this map...", me->GetName().c_str());
I discovered an abnormal situation while trying it out myself: Team up with 4 NPCBOTS to go hunting dinosaurs in Arathi Highlands. Suddenly, three remote professions (mages, priests, and shamans) run uncontrollably into the distance. A few minutes later, I recalled the flash that flashed by my side again, but then continued to run towards the distant hills. Then I used the stealth command on NPCBOTS, and Hearthstone returned to Ironforge. After returning to Ironforge, click to cancel invisibility, and 4 NPCBOTS will appear, but 3 ranged professions will continue to run uncontrollably in one direction. At this point, I can only use the action command to prevent the automatic running and leaving of three npcbots. As long as you cancel the action command, it will immediately run away again. Even if I go back to the character selection interface and enter the game again, it's still like this.
The code version for WorldServer is May 20th.
I remember transports causing this sometimes, but that was long ago. In any case that's a different, unrelated problem
This is completely different from the show of NPCbots on ships a long time ago, when NPCbots were like floating on the deck of a boat and could not be synchronously transmitted. The current NPC bots location issue should be a new one. At the beginning, it is normal for the NPC bot to automatically flash and follow the battle after the player arrives at the scene. After hitting several creatures, three of the NPCbots suddenly started running and left the team, heading towards the mountain until they were out of sight. After a while, these three NPC bots flashed back to the player like a recall, but still continued to run in the same direction.
Today, players gave feedback again: Yesterday, there was another issue where NPCBots disappeared after returning from Shattrath to Thunder Cliff. Only one NPCBOT hired by the player is left by their side, and the rest cannot be recalled. After going offline and going online, this is still the case. Based on previous experience, it is expected that the server will return to normal after restarting.
Additionally, my server uses the mod function of the gemstone teleportation robot.
Another player feedback: After testing the damage value of equipment skills by driving wooden stakes in the main city, the probability of NPCBOTS getting stuck and not following is higher.
Player feedback: He hired a total of 9 NPCBOTs and fled after triggering a battle in the enemy camp area. When he found that there were only 3 NPCBOTs left, he clicked the addon button to recall NPCBOT, indicating that it could not be executed during the battle.
В дополнение к вышесказанному: раз 10 за прошедшие полгода у игроков пропадали боты. Общая картина весьма загадочна. Это может произойти как после возвращения персонажа в мир, так и просто при телепортации с одной карты на другую через камень возвращения или через Распорядителя полетов (включен режим телепортации вместо перелетов). Так же замечено игроком, проскакавшим с ботами мимо агро-мобов. Часть ботов сагрились и, в последствии, там где-то и остались, не реагируя на команду "призыв" ботов к себе. По его словам, сагрились не все, а лишь некоторые, что нелогично.
Далее 2 пути, что тоже очень странно:
_owner
. Об этом сообщали после релогина персонажа.Ситуация возникает крайне редко, и постоянно у разных персонажей. В среднем боты пропадали раза по 2-3 у каждого персонажа за пол года. После рестарта сервера боты возобновляют свою работу как ни в чем не бывало.
Мое предположение было, что зависает bot_ai в какой-то момент, и только рестарт сервера его оживляет, но кто-то умудрялся самостоятельно находить и "оживлять" потерянных ботов о_О.
Из установленных модов есть только один, для которого в ядре сделаны изменения - guild_house - для него на ГМ-острове и в некоторых отдаленных зонах введена система фаз по номеру гильдии+10000, отличная от маски фаз. Думаю, что если бы боты при возвращении из ГильдХауса вместе с хозяином не меняли фазу на правильную - это было бы заметно с первых же дней использования этого мода. Но игроки с ботами нормально портуются в отдельную фазу на ГМ-острове и возвращаются оттуда в фазу 1 в мир.
Склюняюсь к мнению, что необходима команда типа .npcbot reset ai
, перезапускающая весь bot_ai, (согласен, это костыль) пока не будет ясна полная картина причины зависания отдельных ботов.
Спасибо, так гораздо яснее.
So far all my attempts to reproduce the problem were fruitless. Here is a command that may help in such a situation, no guarantee. The command is only available to GMs since it generates a report on found problems, if it actually solves the problem please post its output here, that information may be crucial if we hope at all to resolve this issue for everyone.
Just received feedback from the player that there are a total of 9 robots in the NPCBOTS team he hired, of which only 2 can follow, and the rest have disappeared and cannot be recalled. After logging in with my GM account, based on the screenshot provided by the player, I am ready to execute the repair command: . npcbot fix name. After executing the NPCBOT repair command, the interface displays: try to fix bot XXXXname(70xxx) owned by unknown (897) problems, but the player feedback has not returned to normal. When the repair command reaches the third npcbots, the system crashes. After careful examination, I found that I mistakenly identified the player's name as' npcbot 'and executed the' npcbot fix 'command, which caused the WorldServer to crash.
I'm curious about that crash since when I try to use fix
command with player name all I get is NpcBot 0 was not found
error.
Anyway.
owned by Unknown
means that after recall bot owner was never found again. Or bot never attempted to do that.
DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE
Current behaviour
There is frequent feedback: NPCBOTS sometimes fails to recall the player's location.
When this problem occurs, it can be confirmed that the player's employment relationship with npcbots has not been dissolved.
The unrecalled NPCBOTS shows the avatar as black in the team.
This is still the case after players try to go offline and then go online, and NPCBOTS will not be able to return to the player again until worldserver is restarted.
I suspect that the NPCBOTS that cannot be recalled may be stuck in a combat state or in a position.
Normally, after the player goes offline, the employed NPCBOTS should automatically cancel all status and send it back to the respawn point. After the player is online, it is automatically transmitted to the player's location.
Expected behaviour
Hope to find the cause and fix the issue .
Thank you very much!
Crashlog
No response
Steps to reproduce the problem
No specific factor was found that triggered this issue.
TrinityCore or AzerothCore
AzerothCore
Core rev. hash/commit
AzerothCore-wotlk-with-NPCBots f758b14 2024-04-07
Operating system
Ubuntu 18.04