View Full Version : Having trouble enabling bots on my server that is already running.
TylerBarnes
12-08-2013, 04:16 PM
When I originally used CMAKE to build the code I made sure I checked the bots option because I knew I wanted to put them in eventually.
I've been working on content for the last month or so and have decided it's time to put bots onto my server.
...only problem is I'm not entirely sure how.
I've been browsing the forums looking for answers and on http://www.eqemulator.org/forums/showthread.php?t=29863 it says to open Visual Studio and select the "ReleaseBots" configuration... I don't see that option in the configuration manager. I see release but no releasebots.
I went back to try to resource load_bots.sql but it kept on saying
ERROR:
Failed to open file 'player_tables\botguildmembers.sql' error:2
ERROR:
Failed to open file 'player_tables\bots.sql' error:2
ERROR:
Failed to open file 'player_tables\botpetstatepersists.sql' error:2
ERROR:
Failed to open file 'player_tables\botinventory.sql' error:2
ERROR:
Failed to open file 'player_tables\botbuffs.sql' error:2
ERROR:
Failed to open file 'player_tables\botadventuring.sql' error:2
ERROR:
Failed to open file 'player_tables\botgroups.sql' error:2
ERROR:
Failed to open file 'player_tables\botstances.sql' error:2
ERROR:
Failed to open file 'player_tables\bottimers.sql' error:2
When I went into C:\EQ\Source\zone I found a bot.cpp and bot.h
So I'm kinda at a loss here.
Uleat
12-08-2013, 05:00 PM
With the new cmake installation, selecting 'bots' will automatically enable the code needed for bots. You should not have to do anything
special in your compiler ide.
If you open the svn and see the bots files in the zone project, then the code is active.
As far as sourcing, I can't say. I haven't done that since the peq db went up on the google drive.
Just make sure that you are trying it from the proper directory. I don't believe that you can path it appropriately since it uses
files in a sub-directory.
Beyond that...
TylerBarnes
12-10-2013, 02:42 PM
I see the scripts for it but the #bot commands don't seem to be working. It says they're unrecognized.
Is there something in bots.cpp I need to change and then recompile to make them work?
Kingly_Krab
12-10-2013, 04:40 PM
As Uleat said, upon using CMake, you must specify if you want bots or not, here is a picture: http://prntscr.com/2a6w5y
TylerBarnes
12-11-2013, 02:02 PM
I made sure I did that when I was setting it up because I knew I wanted to implement bots but the #bot commands aren't registering.
When I go into the C:/EQ/Source/zone folder I see bot.cpp, bot.h, botspellai.cpp, and botStructs.h.
It looks like they're ready to go but the #bot commands are coming back as invalid.
TylerBarnes
12-11-2013, 02:44 PM
I repeated the step where I generated the code with cmake (this time I made 110% sure I had bots checked) and recompiled it. I copied the stuff over, loaded up the server, loaded up the client and tried the #bot commands again and it still doesn't seem to be working. =\
lerxst2112
12-11-2013, 06:31 PM
Did you source the tables relating to bots into your database?
Uleat
12-11-2013, 08:41 PM
Also, when you selected bots in cmake, did you hit configure again?
There should be nothing in red when you hit generate or those options will not be added.
sorvani
12-11-2013, 09:46 PM
You have to source in the bot files that are no longer in the PEQ DB daily file. There was a post within the last two weeks detailing how to do this.
That said, one of us with the knowledge and time should repackage the bot SQL and put it int he git repo
TylerBarnes
12-12-2013, 06:49 PM
Thanks for all the help, guys. I haven't yet fixed the problem but I may be drawing close to a conclusion.
At Sorvani's recommendation I looked up what I think was the thread (http://www.eqemulator.org/forums/showthread.php?t=37550&page=3&highlight=server+issues) I think he spoke about.
I think it is my inability to source "load_bot.sql" that is causing the issue.
Upon looking at a few links in the thread I found this (http://projecteqdb.googlecode.com/svn/trunk/peqdatabase/).
It has the folder player_tables and the sql's I think load_bot.sql is trying to pull from but I don't know how to get it where it needs to go to get sourced.
Any ideas?
lerxst2112
12-12-2013, 08:56 PM
open a command prompt.
navigate to the directory where the load_bots.sql file is.
mysql -uroot -ppassword peq < load_bots.sql
TylerBarnes
12-12-2013, 09:42 PM
When I do that I get the following:
ERROR:
Failed to open file 'player_tables\botguildmembers.sql' error:2
ERROR:
Failed to open file 'player_tables\bots.sql' error:2
ERROR:
Failed to open file 'player_tables\botpetstatepersists.sql' error:2
ERROR:
Failed to open file 'player_tables\botinventory.sql' error:2
ERROR:
Failed to open file 'player_tables\botbuffs.sql' error:2
ERROR:
Failed to open file 'player_tables\botadventuring.sql' error:2
ERROR:
Failed to open file 'player_tables\botgroups.sql' error:2
ERROR:
Failed to open file 'player_tables\botstances.sql' error:2
ERROR:
Failed to open file 'player_tables\bottimers.sql' error:2
All that is in load_bots.sql:
source player_tables/botguildmembers.sql;
source player_tables/bots.sql;
source player_tables/botpetstatepersists.sql;
source player_tables/botinventory.sql;
source player_tables/botbuffs.sql;
source player_tables/botadventuring.sql;
source player_tables/botgroups.sql;
source player_tables/botstances.sql;
source player_tables/bottimers.sql;
I think the above files are missing making me unable to source it.
lerxst2112
12-12-2013, 11:35 PM
Based on what you're saying it seems like you downloaded only the load_bots.sql file when you actually need that and all of the bot related files in the player_tables directory.
TylerBarnes
12-13-2013, 03:26 PM
Do you know where I can obtain them?
lerxst2112
12-13-2013, 05:45 PM
Yes, at the link you posted you'll see a player_tables directory, they are in there. If you use svn to sync to that repository you'll get them, or you could download each one manually from your browser. As long as you follow the same directory structure that would work.
TylerBarnes
12-15-2013, 11:10 PM
Worked like a charm, Lerxst2112.
It downloaded the files using SVN and with some poking around in load_bots.sql I was able to make it source them all so I didn't have to.
The tables are all in my database now.
*bangs head on table* Only thing that is holding me back is that the #bot commands aren't working. I went poking around in bots.sql and I found the following line: INSERT INTO `commands` VALUES ('bot', '0', 'Type \"#bot help\" to the see the list of available commands for bots.');
When I try using "#bot help" though it says the command isn't recognized.
I wanna thank you guys again for putting up with all my noob questions. Hopefully someone in the future who is having these problems will see this post and not rip out as many hairs as I have over this.
lerxst2112
12-16-2013, 12:42 AM
Did you enable bots in cmake and then rebuild your server and copy the new executables to where you run it?
Uleat
12-16-2013, 12:39 PM
I don't believe that commands are loaded into the db table any longer..they're all handled in code. They won't show up in the standard
#help command either (#bot may show up.) I think you have to type '#bot help' to see them all.
The only file you should be dealing with is load_bots.sql..and any updates since that file was created/last updated... (Don't ask, I'm not sure...)
I'm pretty sure that sql file worked as is when we switched over to the git repo, and that it hasn't been updated since. So, the only updates
that you would need should be from the '\<eqemu>\Server\utils\sql\git\required\' folder - and the one from the optional folder if you want to use
the new out-of-combat songs list.
You can try running 'drop_bots.sql' and then 'load_bots' to see if that clears up any issues.
TylerBarnes
12-16-2013, 02:50 PM
FINALLY!
Alright guys, I got it working. Thanks again for your help.
Just so no one has to go through this again let me outline what I did.
I'm not entirely sure why I didn't get player_tables when I originally set up the server. It's possible it either didn't download it or I screwed it up somewhere. load_bots.sql was trying to pull from that folder but it couldn't because it didn't exist. I was able to find the scripts at
http://projecteqdb.googlecode.com/svn/trunk/peqdatabase/
and using SVN Checkout, I was able to download them. After fixing load_bots.sql to reflect the location of where I put them (didn't seem to work correctly otherwise) it was all sourced into my database and the tables for bots, bot inventories, etc were all there.
When I had originally set up the server I had checked enable bots (or maybe I imagined it). I had tried it again before sourcing the player_tables into my database and it didn't seem to work. So using CMake I did it a third time. I'm not sure if it had something to do with the lack of tables or if I screwed it up somewhere, but when I redid it, making sure bots was checked, configured, generated and copied over the new files, it all seemed to work. I created a few bots and spawned them just to be safe but I haven't encountered any issues yet.
So to sum it all up:
http://projecteqdb.googlecode.com/svn/trunk/peqdatabase/
Get the player_tables and source the bot related ones into your database.
Then re-run CMake (or just run it if it's your first time), configure and generate and copy the new files over.
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.