Jump to content

[Two] Playerbot (WotLK)


Guest blueboy_

Recommended Posts

Honestly, I am very surprised there has been such sparse commentary from users regarding GMguy.

IMHO, it's an incredibly useful feature, once you have a list of broken quests to use with configuring the bot. It sure saves me the trouble of interrupting my game time, wading through a half-dozen GM commands to auto-complete a broken quest and hand out missing quest items.

It's also less cumbersome than having to dredge through my database, flagging broken quests to auto-complete, and then rechecking every time there's a DB update released.

Maybe the database editing is the preferred method? I see GM guy as a tool with greater potential. It could be expanded to include many more features, to automates tasks that otherwise must be dealt with the hard way.

If you do decide to again eliminate GMguy from the Playerbot code, would it be too much to ask for you to split it back into its own branch for a little while, so those interested could archive this useful bot for their own servers?

Link to comment
Share on other sites

  • Replies 101
  • Created
  • Last Reply

Top Posters In This Topic

Thanks for your reply.

Yes, when I first pushed the code it initially drew a great interest. I know the code is fairly rough and ready, but I was expecting some (feedback/issues) to help improve the code, but I got nothing.

I did ask whether anyone was interested in the GMguy code before I removed it and again I got no response. I can always put it back, now that I know it's at least got one fan ;)

Link to comment
Share on other sites

I have most assuredly always been a big fan of your work, blueboy! :D

You and your team have advanced Playerbot light-years beyond what its initial devs managed. It has grown into the one "must-have" core mod that any low-pop server admin would be crazy to pass up.

I feel GMguy is equally useful on both large and small servers.

For high-pop realms, GMguy can eliminate the drudgery of handling oft repeated tasks, such as auto-completing quests, which are simple, but tedious.

For low-pop realms, it frees up the GM to continue play with his select group, rather than calling that dungeon run to a halt.

For developers, it not only allows for easier tracking of broken quests, it also makes it simpler to discover when an update fixes a previously broken quest by there no longer being obvious trips to GMguy for that quest anymore.

Perhaps some people don't understand that GMguy is to server admins what Playerbot is for regular players... a fantastic helper!

It's been several weeks since I last adventured on my solo server, due to real life emergencies and a broken attempt at updating my custom XP installation DVD. My apologies for lack of real activity in any dev topics, but I plan to resume my feedback/nagging of Playerbot in the very near future.

Until then, I hope others will step forward to help out and make GMguy as full-featured and powerful as Playerbot already is!

As for the rest, I can only hope they're too busy enjoying all of your bots to offer feedback. However, the silent majority should all post a few good words for the Playerbot/GMguy team's awesome work.

Give blueboy and company some love!

New slogan: GMguy... your automated administrator!

Link to comment
Share on other sites

It has grown into the one "must-have" core mod that any low-pop server admin would be crazy to pass up.

Well, can't agree more. :)

I've only been using it for about a week, but omg, the wife and I are having a blast with the bots along now.

It's awesome to witness the polish already there.

So i'd like to give a huge thanks to Blueboy & Kennumen, and all that contributed to this wonderfull core mod!

Cheers guys! :)

(edit: Don't seem to recieve the verification email after registering on pbot forums. Would like te report a crash most likely related to pbot.

Can login, but not start new topic atm.)

Link to comment
Share on other sites

https://github.com/blueboy/portal/blob/master/sql/playerbotai/FULL_playerbotai_characters_r7.sql

there's currently three tables:

16. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Used DB version notes';

115. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='PlayerbotAI TalentSpec system';

208. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Persistent Playerbot settings per alt';

I know you can't run it with an old version (table 1) but apparently you can without? However the TalentSpec system (table 2) will not have any 'auto'-allocation talent trees although you will still be able to manually grant your bots one talent at a time. There will also be no option to have some bot data persist (table 3) in between logouts, which could be countered by using macros or just plain giving the commands each time you log in your bots.

You can play without (if you say so) but you'll be missing a few things of convenience.

Link to comment
Share on other sites

Feel free to post your bug report there, here, or (perhaps the best option) make an issue out of it.

Well I'll just mention it here then. :)

Cloned from here:

https://github.com/blueboy/portal

Added sd2 2751

So:

©mangos 12246

sd2 2751

Ytdb 631

Acid 3.1.0

Running on win7 x64, compiled win32 release.

Situation:

3 Players, each player having 2 bots.

All ventured to gurubashi arena to test bot for pvp.

When players started attacking eachother, bots kept passive and didn't go into combat.

Player X killed player Y.

Player Y gets the popup to release corpse. In the meantime one of the bots of player Y starts to try and revive his master (bot could since it didn't go into combat).

Player Y clicked popup (i guess) at the exact same time as bot was finishing his revive.

Server crashed.

Revision: * * 12246 *
Date 16:11:2012. Time 0:28 
//=====================================================
*** Hardware ***
Processor: Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz
Number Of Processors: 8
Physical Memory: 4194303 KB (Available: 4194303 KB)
Commit Charge Limit: 4194303 KB

*** Operation System ***
Windows 7 Service Pack 1 (Version 6.1, Build 7601)

//=====================================================
Exception code: C0000005 ACCESS_VIOLATION
Fault address:  007A739F 01:003A639F F:\\GAMES\\12246 + sd2 2751 + pb061112\\mangosd.exe

Registers:
EAX:FF2E549C
EBX:F5E6ACA8
ECX:803FC0E1
EDX:0000004A
ESI:00000002
EDI:00000000
CS:EIP:0023:007A739F
SS:ESP:002B:0D339100  EBP:0D33910C
DS:002B  ES:002B  FS:0053  GS:002B
Flags:00010206

Call stack:
Address   Frame     Function      SourceFile
007A739F  00000000  ?UnSummon@TemporarySummon@@QAEXXZ+9FDF
007A4345  00000000  ?UnSummon@TemporarySummon@@QAEXXZ+6F85
007A1067  00000000  ?UnSummon@TemporarySummon@@QAEXXZ+3CA7
00560336  00000000  ?findNearbyCorpse@PlayerbotAI@@QAEXXZ+1A6
005548A4  00000000  ?UpdateAI@PlayerbotAI@@QAEXI@Z+12F4
00594B78  00000000  ?Update@Player@@UAEXII@Z+D48
0040D58F  00000000  ?Update@UpdateHelper@WorldObject@@QAEXI@Z+2F
005047DA  00000000  ?Update@Map@@UAEXABI@Z+43A
00755821  00000000  ?GetEmotesTextStore@@YAPBV?$DBCStorage@UEmotesTextEntry@@@@XZ+4D8F1
006C0AF2  00000000  ??0CreatureEventAI@@QAE@ABV0@@Z+5E52
0047B313  00000000  ??4BarGoLink@@QAEAAV0@ABV0@@Z+28273
00A94139  00000000  ?SetOutputState@BarGoLink@@SAX_N@Z+C29
70B92E34  00000000  ?invoke@ACE_OS_Thread_Adapter@@UAEKXZ+74
723F3433  00000000  _endthreadex+44
723F34C7  00000000  _endthreadex+D8
75EE33AA  00000000  BaseThreadInitThunk+12
77139EF2  00000000  RtlInitializeExceptionChain+63
77139EC5  00000000  RtlInitializeExceptionChain+36
========================

Hope this is of any help.

Link to comment
Share on other sites

Situation:

3 Players, each player having 2 bots.

All ventured to gurubashi arena to test bot for pvp.

When players started attacking eachother, bots kept passive and didn't go into combat.

Player X killed player Y.

Player Y gets the popup to release corpse. In the meantime one of the bots of player Y starts to try and revive his master (bot could since it didn't go into combat).

Player Y clicked popup (i guess) at the exact same time as bot was finishing his revive.

Server crashed.

I believe the crash maybe caused by the revised looting process, I added recently.

00560336  00000000  ?findNearbyCorpse@PlayerbotAI@@QAEXXZ+1A6

I had a similar crash caused by the bots attempting to loot themselves, when killed in combat. I fixed this by including a condition to ignore 'friendly corpses'. The bot 'ffa' combat with pvp (e.g gurubashi arena) is all but non-existent at present, as you have found with their passive response. Here again the bots may be trying to loot friendly targets. I'll take a look at this and thanks for reporting.

(edit: Don't seem to recieve the verification email after registering on pbot forums. Would like te report a crash most likely related to pbot.

Can login, but not start new topic atm.)

Sorry if you have been unable to login to the forum, I needed to do some maintenance on the server, so it's been offline. There has also been a long standing issue with the forum email, but I thought I'd fixed it. Obviously not :( I bet you have a hotmail or msn email address. Microsoft are blocking email traffic from servers having dynamic ip addresses, in an attempt to curb spammers. There hasn't been much activity on the forum recently, so I haven't had chance to test out my changes.

@EDIT Check your email, I have sent you a message

Cheers

Link to comment
Share on other sites

  • 3 weeks later...

Yes it has and the improved code works well for bots too. However, not everyone wants to use playerbot ( :rolleyes: most peculiar behaviour ), so I respect their wish to want the standalone code. I only wish that they had responded to the my warning before I removed it in the first place.

Link to comment
Share on other sites

... However, not everyone wants to use playerbot ( :rolleyes: most peculiar behaviour ) ...

*cough* *choke* say what now? I don't understand what you're saying... It simply does not compute.

Anyway isn't that what playerbotai.conf's

PlayerbotAI.DisableBots = 1

or in the worst case

PlayerbotAI.MaxNumBots = 0

are for? ;)

Alright, alright, I'll stop heckling you :) Good on you to provide gmguy as a standalone patch.

Link to comment
Share on other sites

  • 1 month later...

Yay! After a long break I'm back.

...and I have an issue right away. Yesterday I compiled MaNGOS without errors, everything worked. Now, after I merged the new-ai branch, I get compiling errors. :(

Here are the relevant parts of the Build log:

11>------ Build started: Project: game, Configuration: Release Win32 ------
10>  AuthSocket.cpp
10>  BufferedSocket.cpp
11>  pchdef.cpp
10>  Main.cpp
10>  PatchHandler.cpp
10>  RealmList.cpp
10>  WheatyExceptionReport.cpp
10>     Creating library ..\\..\\bin\\Win32_Release\\realmd.lib and object ..\\..\\bin\\Win32_Release\\realmd.exp
10>  realmd.vcxproj -> D:\\MangosSrc\\win\\VC100\\..\\..\\bin\\Win32_Release\\realmd.exe
11>  AccountMgr.cpp
11>  AchievementMgr.cpp
11>  AggressorAI.cpp
11>  ArenaTeam.cpp
11>  ArenaTeamHandler.cpp
11>  AuctionHouseBot.cpp
11>  AuctionHouseHandler.cpp
11>  AuctionHouseMgr.cpp
11>  Bag.cpp
11>  BattleGround.cpp
11>  BattleGroundAA.cpp
11>  BattleGroundAB.cpp
11>  BattleGroundRB.cpp
11>  BattleGroundAV.cpp
11>  BattleGroundBE.cpp
11>  BattleGroundDS.cpp
11>  BattleGroundEY.cpp
11>  BattleGroundHandler.cpp
11>  BattleGroundIC.cpp
11>  BattleGroundMgr.cpp
11>  BattleGroundNA.cpp
11>  BattleGroundRL.cpp
11>  BattleGroundRV.cpp
11>  BattleGroundSA.cpp
11>  BattleGroundWS.cpp
11>  Calendar.cpp
11>  CalendarHandler.cpp
11>  Camera.cpp
11>  Channel.cpp
11>  ChannelHandler.cpp
11>  ChannelMgr.cpp
11>  CharacterDatabaseCleaner.cpp
11>  CharacterHandler.cpp
11>  Chat.cpp
11>  ChatHandler.cpp
11>  CombatHandler.cpp
11>  ConfusedMovementGenerator.cpp
11>  Corpse.cpp
11>  Creature.cpp
11>  CreatureAI.cpp
11>  CreatureAIRegistry.cpp
11>  CreatureAISelector.cpp
11>  CreatureEventAI.cpp
11>  CreatureEventAIMgr.cpp
11>  CreatureLinkingMgr.cpp
11>  DBCStores.cpp
11>  debugcmds.cpp
11>  DuelHandler.cpp
11>  DynamicObject.cpp
11>  FleeingMovementGenerator.cpp
11>  FollowerReference.cpp
11>  GameEventMgr.cpp
11>  GameObject.cpp
11>  GMTicketHandler.cpp
11>  GMTicketMgr.cpp
11>  GossipDef.cpp
11>  GridMap.cpp
11>  GridNotifiers.cpp
11>  GridStates.cpp
11>  Group.cpp
11>  GroupHandler.cpp
11>  GroupReference.cpp
11>  GuardAI.cpp
11>  Guild.cpp
11>  GuildHandler.cpp
11>  GuildMgr.cpp
11>  HomeMovementGenerator.cpp
11>  HostileRefManager.cpp
11>  IdleMovementGenerator.cpp
11>  InstanceData.cpp
11>  Item.cpp
11>  ItemEnchantmentMgr.cpp
11>  ItemHandler.cpp
11>  Level0.cpp
11>  Level1.cpp
11>  Level2.cpp
11>  Level3.cpp
11>  LFGHandler.cpp
11>  LootHandler.cpp
11>  LootMgr.cpp
11>  Mail.cpp
11>  MailHandler.cpp
11>  Map.cpp
11>  MapManager.cpp
11>  MapPersistentStateMgr.cpp
11>  MassMailMgr.cpp
11>  MiscHandler.cpp
11>  MotionMaster.cpp
11>  MoveMap.cpp
11>  MovementGenerator.cpp
11>  MovementHandler.cpp
11>  MoveSpline.cpp
11>  MoveSplineInit.cpp
11>  packet_builder.cpp
11>  spline.cpp
11>  util.cpp
11>  NPCHandler.cpp
11>  NullCreatureAI.cpp
11>  Object.cpp
11>  ObjectAccessor.cpp
11>  ObjectGridLoader.cpp
11>  ObjectMgr.cpp
11>  ObjectGuid.cpp
11>  ObjectPosSelector.cpp
11>  Opcodes.cpp
11>  PathFinder.cpp
11>  Pet.cpp
11>  PetAI.cpp
11>  PetHandler.cpp
11>  PetitionsHandler.cpp
11>  Player.cpp
11>  PlayerbotAI.cpp
11>  PlayerbotClassAI.cpp
11>  PlayerbotDeathKnightAI.cpp
11>  PlayerbotDruidAI.cpp
11>..\\..\\src\\game\\playerbot\\PlayerbotClassAI.cpp(187): warning C4018: '>=' : signed/unsigned mismatch
11>..\\..\\src\\game\\playerbot\\PlayerbotClassAI.cpp(203): warning C4018: '>=' : signed/unsigned mismatch
11>..\\..\\src\\game\\playerbot\\PlayerbotClassAI.cpp(220): warning C4018: '>=' : signed/unsigned mismatch
11>..\\..\\src\\game\\playerbot\\PlayerbotClassAI.cpp(236): warning C4018: '>=' : signed/unsigned mismatch
11>  PlayerbotHunterAI.cpp
11>  PlayerbotMageAI.cpp
11>  PlayerbotMgr.cpp
11>..\\..\\src\\game\\playerbot\\PlayerbotAI.cpp(9215): error C2065: 'MAIL_ITEM' : undeclared identifier
11>..\\..\\src\\game\\playerbot\\PlayerbotAI.cpp(9215): error C2051: case expression not constant
11>  PlayerbotPaladinAI.cpp
11>  PlayerbotPriestAI.cpp
11>  PlayerbotRogueAI.cpp
11>  PlayerbotShamanAI.cpp
11>  PlayerbotWarlockAI.cpp
11>  PlayerbotWarriorAI.cpp
11>  PlayerDump.cpp
11>  PointMovementGenerator.cpp
11>..\\..\\src\\game\\playerbot\\PlayerbotShamanAI.cpp(363): warning C4390: ';' : empty controlled statement found; is this the intent?
11>..\\..\\src\\game\\playerbot\\PlayerbotShamanAI.cpp(375): warning C4390: ';' : empty controlled statement found; is this the intent?
11>..\\..\\src\\game\\playerbot\\PlayerbotShamanAI.cpp(386): warning C4390: ';' : empty controlled statement found; is this the intent?
11>..\\..\\src\\game\\playerbot\\PlayerbotShamanAI.cpp(391): warning C4390: ';' : empty controlled statement found; is this the intent?
11>..\\..\\src\\game\\playerbot\\PlayerbotShamanAI.cpp(401): warning C4390: ';' : empty controlled statement found; is this the intent?
11>..\\..\\src\\game\\playerbot\\PlayerbotShamanAI.cpp(454): warning C4390: ';' : empty controlled statement found; is this the intent?
11>  PoolManager.cpp
11>  QueryHandler.cpp
11>  QuestDef.cpp
11>  QuestHandler.cpp
11>  RandomMovementGenerator.cpp
11>  ReactorAI.cpp
11>  ReputationMgr.cpp
11>  ScriptMgr.cpp
11>  SkillDiscovery.cpp
11>  SkillExtraItems.cpp
11>  SkillHandler.cpp
11>  SocialMgr.cpp
11>  Spell.cpp
11>  SpellAuras.cpp
11>  SQLStorages.cpp
11>  TransportSystem.cpp
11>  UnitAuraProcHandler.cpp
11>  SpellEffects.cpp
11>  SpellHandler.cpp
11>  SpellMgr.cpp
11>  StatSystem.cpp
11>  TargetedMovementGenerator.cpp
11>  TaxiHandler.cpp
11>  TemporarySummon.cpp
11>  ThreatManager.cpp
11>  Totem.cpp
11>  TotemAI.cpp
11>  TradeHandler.cpp
11>  Transports.cpp
11>  Unit.cpp
11>  UpdateData.cpp
11>  Vehicle.cpp
11>  VehicleHandler.cpp
11>  VoiceChatHandler.cpp
11>  WaypointManager.cpp
11>  WaypointMovementGenerator.cpp
11>  Weather.cpp
11>  World.cpp
11>  OutdoorPvP.cpp
11>  OutdoorPvPEP.cpp
11>  OutdoorPvPGH.cpp
11>  OutdoorPvPHP.cpp
11>  OutdoorPvPMgr.cpp
11>  OutdoorPvPNA.cpp
11>  OutdoorPvPSI.cpp
11>  OutdoorPvPTF.cpp
11>  OutdoorPvPZM.cpp
11>  WorldSession.cpp
11>  WorldSocket.cpp
11>  WorldSocketMgr.cpp
11>  BIH.cpp
11>  DynamicTree.cpp
11>  GameObjectModel.cpp
11>  MapTree.cpp
11>  ModelInstance.cpp
11>  TileAssembler.cpp
11>  VMapFactory.cpp
11>  VMapManager2.cpp
11>  WorldModel.cpp
12>------ Build started: Project: mangosd, Configuration: Release Win32 ------
12>  stdsoap2.cpp
12>  soapServer.cpp
12>  soapC.cpp
12>  MaNGOSsoap.cpp
12>  CliRunnable.cpp
12>  Main.cpp
12>  Master.cpp
12>  RASocket.cpp
12>..\\..\\dep\\src\\gsoap\\stdsoap2.cpp(835): warning C4244: 'return' : conversion from 'std::streamsize' to 'size_t', possible loss of data
12>  WorldRunnable.cpp
12>  WheatyExceptionReport.cpp
12>LINK : fatal error LNK1181: cannot open input file 'D:\\MangosSrc\\win\\VC100\\game__Win32_Release\\game.lib'
========== Build: 10 succeeded, 2 failed, 0 up-to-date, 0 skipped ==========

Link to comment
Share on other sites

Hi,

Thanks for the update. I've just taken a quick look at the core commit history and the 'MAIL_ITEM' identifier has been removed from the code.

@EDIT The information on this post has been removed as it referred to code not supported by this forum. Sorry for the inconvenience: Please use https://github.com/blueboy/portal (master or new-ai branches)

When I get chance, I'll sort out a work around.

Hope this helps

Link to comment
Share on other sites

Well, hopefully this is appropriate here as opposed to in it's own thread, I've been running various combinations of portal master or portal new-ai on increments of WotLK (currently running with build 12348).Now of course this has been Awesome for me and the kids to play around with but lately I've found my bots haven't been listening to me. Now I can't be sure if they are deliberately ignoring me because I keep getting them killed or whether there's some other unworldly thing going on but they ignore me when I try assigning roles to them. I'd say ".bot co myconscriptedvictim TANK" and where I'd normally get a reassuring whisper stating he'll take the pounding on my behalf, now he just goes.... :| My healer and dps assist orders get an identical response, they all ignore me and just dps best they know how. If I issue a "pull" instruct, they all whine about not being the Tank and do nothing.

Have I missed some recent changes by chance?

Link to comment
Share on other sites

Any questions relating to specific cMangos builds should be discussed on their forum not here.

The recent illegal actions of the cMangos team have meant we are wiithdrawing any support of cMangos related problems, sorry for the inconvenience

Link to comment
Share on other sites

I respect the hard work done by all who support MaNGOS and the forum, but I can't help feeling like piggy in the middle. I'm posting this here because users are asking specific questions about the playerbot code, and they are being warned off.

It's becoming impossible to provide support for any core mod. One minute we are told it's O.K, then it's not. I wish the petty infighting between the core guys would stop and we can get back to improving the MaNGOS code.

Hi Blueboy,

Since Mangos Zero(Classic) and Mangos One(TBC) are active projects here, can I ask you not to post links to the cMangos branches on this forum.

I'm happy for Wotlk/Cata cMangos links since these are not currently being actively developed here.

Regards

Ant

If Mangos Zero & Mangos one are still active projects, why then has nothing but an annual copyright update been pushed to these in the last 3 months?

Until this is sorted out, users of the code will suffer and this it can't be good for MaNGOS in the long run.

I will update the playerbot branches shortly in accordance with the recent changes made to the core to re-establish copyright information. (note I haven't included a link to these changes)

Link to comment
Share on other sites

************************************

JUST A WORD OF WARNING

************************************

This MaNGOS forum is for help for mangos related issues only.

We will actively remove posts asking for help for issues when using a cMangos core

- If you are not running a Mangos core, ask the question in the creator of the core's forum not here

For an brief overview of the reason why, please take a look at the preview of the new website and the history page.

Thank you for your time and understanding

Link to comment
Share on other sites

Hi Antz,

Thanks for resolving this. I have a question related to the MaNGOS repositories.

You kindly pointed out that https://github.com/mangostwo/server/commits/master is the new location for 'wotlk' code, but I see that work is still being pushed to the old site https://github.com/mangos-wotlk/server/commits/master Is this to be removed? if it remains, it will only add to the confusion.

Regards blueboy

Link to comment
Share on other sites

All the old repos will be shut down soon, we are planning to do so in a couple of weeks after the new website goes live

- so that when people come looking for the missing repos, they will find a definitive answer for the location of the new ones.

Antz

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • 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