EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Support::Windows Servers (https://www.eqemulator.org/forums/forumdisplay.php?f=587)
-   -   Trying to setup a RoF testing server (https://www.eqemulator.org/forums/showthread.php?t=36256)

c0ncrete 01-19-2013 11:47 PM

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.

prickle 01-20-2013 12:22 AM

I'll give it a shot then

prickle 01-20-2013 12:33 AM

With the Bots:BotQuest rule removed and the bot_spawn_limit entry removed the server gives me the "You cannot spawn any bots" message.

lerxst2112 01-20-2013 12:37 AM

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.

prickle 01-20-2013 02:59 AM

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.

lerxst2112 01-20-2013 06:18 AM

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?

prickle 01-20-2013 02:34 PM

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!"

KLS 01-20-2013 03:45 PM

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.

prickle 01-20-2013 04:20 PM

roger that!

I'll grab the new source and give it a go!

prickle 01-20-2013 05:07 PM

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

prickle 01-20-2013 05:30 PM

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

Derision 01-20-2013 05:41 PM

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

prickle 01-20-2013 06:17 PM

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 :D

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 :-D


All times are GMT -4. The time now is 06:53 AM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.