Go Back   EQEmulator Home > EQEmulator Forums > Support > Support::Windows Servers

Support::Windows Servers Support forum for Windows EQEMu users.

Reply
 
Thread Tools Display Modes
  #31  
Old 01-19-2013, 11:47 PM
c0ncrete's Avatar
c0ncrete
Dragon
 
Join Date: Dec 2009
Posts: 719
Default

the rule itself is optional, i believe. if you were to take it out and that fixes it, it would probably confirm the aforementioned boolean issue.
__________________
I muck about @ The Forge.
say(rand 99>49?'try '.('0x'.join '',map{unpack 'H*',chr rand 256}1..2):'incoherent nonsense')while our $Noport=1;
Reply With Quote
  #32  
Old 01-20-2013, 12:22 AM
prickle
Hill Giant
 
Join Date: Sep 2009
Posts: 147
Default

I'll give it a shot then
Reply With Quote
  #33  
Old 01-20-2013, 12:33 AM
prickle
Hill Giant
 
Join Date: Sep 2009
Posts: 147
Default

With the Bots:BotQuest rule removed and the bot_spawn_limit entry removed the server gives me the "You cannot spawn any bots" message.
Reply With Quote
  #34  
Old 01-20-2013, 12:37 AM
lerxst2112
Demi-God
 
Join Date: Aug 2010
Posts: 1,743
Default

Make sure you completely rebuilt after switching to bots as well. Try 'make clean' then 'make' to force everything to be rebuilt.

I haven't really looked at it, but KLS mentioned that part of the source is built into a library. If that library didn't get rebuilt and any of the rule stuff is in it then maybe there's an issue with the rule arrays and the data is being read from the wrong place. Long shot, but worth a try.
Reply With Quote
  #35  
Old 01-20-2013, 02:59 AM
prickle
Hill Giant
 
Join Date: Sep 2009
Posts: 147
Default

my most recent rebuild is of r2432 in a fresh build directory (i.e. it was empty prior to copying the source files in). Builds can't get much cleaner than that, but I still run "make clean" prior to running "make" out of habit.

So far in the various db changes, it appears that my server only cares what's in quest_globals bot_spawn_limit. As long as that exists and is non-0, then it will allow me to spawn my bots regardless of what's in rule_values > Bots:BotQuest, even if Bots:BotQuest is missing.

As far as the library file(s) goes, my previous builds (prior to cmake change) didn't have a libCommon.a file (in addition to the libEMuShareMem.so file). I've included this file in the server directory a long with the other Binary files, but it doesn't seem to make a difference (bot spawning wise) whether or not its there.
Reply With Quote
  #36  
Old 01-20-2013, 06:18 AM
lerxst2112
Demi-God
 
Join Date: Aug 2010
Posts: 1,743
Default

The libCommon.a library doesn't need to be in the server directory, it is created/used when compiling. I just wanted to make sure it had been rebuilt in case that might be the issue.

What does it say when you type #rules values bots in the game? Do the values agree with the corresponding values in the database?
Reply With Quote
  #37  
Old 01-20-2013, 02:34 PM
prickle
Hill Giant
 
Join Date: Sep 2009
Posts: 147
Default

hmmm

it says "Failed to list rules!" O_o

The plot thickens. To help narrow this down, I ran the '#rules values' command for other categories to make sure it's working, and all of the ones I tried returned accurate information. I ran '#rules values aa' '#rules values adventure' '#rules values bazaar' '#rules values character' '#rules values water' etc, and all of them returned information that matched what's in the db.

Just, running '#rules values bots' returns "Failed to list rules!"
Reply With Quote
  #38  
Old 01-20-2013, 03:45 PM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

I did make a fix to bots in the cmake script, it wasn't -DBOTS on the common lib. Though I question why common needs bots related stuff in it.
Reply With Quote
  #39  
Old 01-20-2013, 04:20 PM
prickle
Hill Giant
 
Join Date: Sep 2009
Posts: 147
Default

roger that!

I'll grab the new source and give it a go!
Reply With Quote
  #40  
Old 01-20-2013, 05:07 PM
prickle
Hill Giant
 
Join Date: Sep 2009
Posts: 147
Default

I just had a couple of runs at it. With r2433 unmodified, world would repeated core dump (crash) on me.

So, I removed the EQEMU_ENABLE_BOTS lines from the common/CMakeList.txt file and recompiled. So, common back to the way it was and world appears to be running normally again.

Unfortunately, bots are still the way they were before

I'll keep plugging away at this to see if i can figure something out
Reply With Quote
  #41  
Old 01-20-2013, 05:30 PM
prickle
Hill Giant
 
Join Date: Sep 2009
Posts: 147
Default

I think i found the sticking point. In the old system we had to modify the world/makefile and add -DBOTS to it. I was just looking that the current world/CMakeLists.txt file and found that it doesn't have the "EQEMU_ENABLE_BOTS" conditional. I've added it to mine and recompiled, but the object files don't seem to be getting compiled right. I think i'm missing something else...

still digging
Reply With Quote
  #42  
Old 01-20-2013, 05:41 PM
Derision
Developer
 
Join Date: Feb 2004
Location: UK
Posts: 1,540
Default

Try this patch:
Code:
Index: world/CMakeLists.txt
===================================================================
--- world/CMakeLists.txt        (revision 2433)
+++ world/CMakeLists.txt        (working copy)
@@ -67,6 +67,10 @@

 ADD_DEFINITIONS(-DWORLD)

+IF(EQEMU_ENABLE_BOTS)
+       ADD_DEFINITIONS(-DBOTS)
+ENDIF(EQEMU_ENABLE_BOTS)
+
 TARGET_LINK_LIBRARIES(world Common ${PERL_LIBRARY} debug ${MySQL_LIBRARY_DEBUG} optimized ${MySQL_LIBRARY_RELEASE})

 IF(MSVC)
i.e.

Add:
Code:
IF(EQEMU_ENABLE_BOTS)
       ADD_DEFINITIONS(-DBOTS)
ENDIF(EQEMU_ENABLE_BOTS)
After ADD_DEFINITIONS(-DWORLD) in the world/CMakeLists.txt file
Reply With Quote
  #43  
Old 01-20-2013, 06:17 PM
prickle
Hill Giant
 
Join Date: Sep 2009
Posts: 147
Default

yeah... I just finished doing that with world/CMakelists.txt and was just about to post up my diff patch file. You beat me to it though.

That patch + Rev 2433 has bots working like it was before the change to CMake now. "#rules values bots" now pulls up all of the Bots:*** settings and I don't need anything in quest_globals to spawn my bots

for the record here's the diff I made on that file:
Code:
--- world/CMakeLists.txt (Rev 2433)
+++ world/CMakeLists.txt (working copy)
@@ -67,6 +67,10 @@ ADD_EXECUTABLE(world ${world_sources} ${

 ADD_DEFINITIONS(-DWORLD)

+IF(EQEMU_ENABLE_BOTS)
+    ADD_DEFINITIONS(-DBOTS)
+ENDIF(EQEMU_ENABLE_BOTS)
+
 TARGET_LINK_LIBRARIES(world Common ${PERL_LIBRARY} debug ${MySQL_LIBRARY_DEBUG} optimized ${MySQL_LIBRARY_RELEASE})

 IF(MSVC)
Thanks again for all the help and hard work everyone
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 09:06 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3