Trying to setup a RoF testing server
Wanted to move out of the RoF dev thread so i don't clutter it up and keep the main developers from having to deal with my stuff unless they want to help me.
ok, so last time we left this journey Derision had just informed me that the message i was seeing in the log seemed to indicate i had gotten through the log in and that the weird 20 byte packet which appears in the log is unimportant and that I should look into my world.log files to see the problem. eqemu_debug_world.log: Code:
--------------------------------------------- Code:
--------------------------------------------- Code:
[Debug] Starting Log: logs/eqemu_debug_world.log |
Server login opcodes for RoF
Code:
[OPCode: 0x0001] OP_SessionReady [Size: 14] Code:
#Login opcodes Code:
<!-- Loginserver information. --> might double check tblworldserverregistration under peqlogindb |
...and now I can no longer see a server list and can't seem to get it to come back.
off to redownload and reinstall everything. NoPort..you are awesome =-P |
to change Login opcdes: back to default opcode.conf
Code:
#EQEmu Public Login Server OPCodes |
yup, changed it back...and it was still grumpy at me. weird. ok well i've got everything back up and running again. time to roll through each step to see if i can get this kicking again.
|
Ok, I've got into game!
Graphics seem a bit screwy (ie, no models except for drakkins and even those models seem screwy as well. Oh well. I'm happy for tonight. I'll work on getting it further tomorrow. If anyone knows why I have those above problems please let me know =-D |
Had to clear things out and start over since things became...very broken.
So I'm back to the point where I can see a server is up and log into the server but not into the world. I try to log into the world and it kicks me right out. I've copied the patch_RoF.conf file into ,y server directory. anything else I need to do in order to get this to work? |
Didn't you have it working before? Look in the logs to check for errors.
|
Yup, I had it working for a while, then I had to set it up on a different network and somewhere along the way I screwed shit up.
The real issue is that I'm trying to setup a script to download, build, compile, populate, etc etc everything so I can follow my normal testing protocols. I just can't seem to figure out the opcode issue with RoF. I get to the point where I have a log in server and the world is 'up' but clicking play makes the client screen go black and die. it's obvious my opcodes are all fucked up. ok so here is my settings (emulator server is 192.168.2.11 and client is on 192.168.2.29) eqemu_config.xml: Code:
<?xml version="1.0"> Code:
[database] Code:
Code:
Code:
#EQEmu Public Login Server OPCodes I realize I'm trying to set up an RoF server and that things are still in flux and it's really supposed to be for the main developers....but if it's easier to set this stuff up than you can get a lot more programmers submitting patches. Why can't it be explained to me like I'm 4. condescension at this point would probably be helpful. =-P |
In the previous post you said you copied patch_RoF.conf to your server directory, but this time you said you didn't. Which is it? You obviously need that file in the server directory.
The server generates tons of logs that contain lots of useful information. As I suggested before, you should look at them and see if you're getting any errors or if there are any clues to why it isn't working. You would also be able to tell if the connection is being detected as RoF properly or not. |
ok, so I transferred over *all* the patch files now...and hey it's happy.
So i'm going to spend some time getting a script all set up to get this thing working. Obviously this is, by the nature of the system, full of little fiddly bits. It just seems a little odd to me we don't have a wizard or some other tool to check things. but then, I spend most of my day job trying to make all the little fiddly bits of the software I write to go away as much as possible. I'm painfully aware of what it costs us. ok, enough of me being a whiner. On to seeing if I can offer any help on it in the future. =-P |
Are you guys working with an "unmodified" RoF client from Steam? Or did you have to add files to make it work?
I ask because I have a eqemu server setup on my LAN, and I can get to the Char Select screen with my RoF client, but when I try to zone in with a toon, I get "string not found (xxxx)" (where xxxx is a number). However, I'm able to log in with my UF client with no problems. It looks like I have everything. The patch files, the opcodes, the lot. The "string not found" error makes me think I'm missing a string file or something from the client, but it doesn't appear to be the eqstr_en.txt, eqstr_us.txt or eqtext.txt files... |
clean F2P/RoF download from steam.
create database, build server, copy files, and RoF will load. If it does not you missed something. there are no special opcodes needed. |
Have you tried logging into one of the public servers that have RoF enabled? There are a few including PEQ, Storm Haven, and some testing servers that I know of so far. If your client works on those servers, then the issue is with your server. If your client doesn't work on those servers or yours, then there is most likely a problem with your client. Either you modified something (UI or other custom files maybe), or you patched your client. It is possible that SOE updated their download, but I kinda doubt it. I know their latest Live patch would not allow you to even make it as far as Character Select.
|
thanks for the pointers. I'll try connecting to one of the server's you mentioned to narrow down my issue.
|
That did it. Turns out I have a combination of issues to sort:
1) Desktop Short-cut was wonkie and was running the eqgame.exe from a UF client folder but looking for resource files in the RoF folder ... got that fixed up and the client appears to work the way it should (was able to log into PEQ w/ RoF client). 2) Discovered an issue w/ my server. It appears i may have missed a db update or two and might need to update my quests repo. |
well, i'm not sure what the deal is. It's now showing i have 0 character slots available, and my existing toons aren't allowed to zone in.
i'm tired. i'll give it another go tomorrow. |
progress yay!
I updated my source and used the new CMake system to compile the latest and i'm now able to get into the game env with both my UF and my RoF clients. now to get bots working... I set EQEMU_ENABLE_BOTS to ON during "cmake -i" but it appears that I may have missed something else, because i'm currently getting "You cannot spawn any bots" when i attempt to "#bot spawn <name>" in game. |
that's because you have the BotQuest rule enabled, your gm flag is off, and your bot_spawn_limit qglobal is set to 0.
|
Ah! It was the GM flag. Is there a way to disable the "#gm on" (that doesn't require changing source code?) requirement before spawning bots?
thanks for the help! |
no, it wasn't the GM flag. again, it's the Bots:BotQuest rule in the database. yours is set to 'true'. if you don't intend to require a quest to be completed to allow a client to spawn bots, you want to set this to 'false'.
|
No ... the DB has the settings you say I should have...
Code:
mysql> SELECT * FROM `rule_values` WHERE `rule_name` LIKE 'Bot%'; Despite having the settings that you say the DB should have I still had to use "#gm on" in order to spawn my bots. So, assuming that I shouldn't need "#gm on" to spawn bots with my settings, that must mean there's either something wrong with my compile or there's a bug in the source somewhere... I see more updates have been committed since i compiled earlier this morning. I'll recompile with the new commits to see if that changes anything. |
The only way to get that exact error is to have that rule enabled.
Code:
if(RuleB(Bots, BotQuest) && !c->GetGM()) { |
I'm compiling with gcc 64bit ...
when I run 'cmake -i' i also disable the -O2 and -O3 optimizations because the server borks and dumps clients like hot cakes on login if i don't (stringstream thing)... http://www.eqemulator.org/forums/sho...d.php?p=182629 Other people are experiencing the same -O optimization issues in Linux. A new thread popped up last week about it, and it has links to 2 other threads on the issue. Also, I'm compiling on Linux ... this thread was in the development area when I started posting in it... then it got moved to 'Windows Servers' some time today... |
There has been an issue with 64-bit and bool rules before. *shrug*
|
pretty sure those are all worked out.
|
well... I noticed I don't have a bot_spawn_limit entry in my quest_globals table.
I'm pretty sure i've never had it, but just in case i've started searching the sql files for the one that creates that entry in the quest_globals table, and so far the only "bot_spawn_limit" entries i'm finding are in the comments section of the rule_values table :\ bah... I just enabled the quest NPC and hailed him that created the "bot_spawn_limit" table entry for me. I got GM-less bots working again, not quite the way I expected, but it's working again. Thanks for the help everyone. |
Quote:
|
so you got to work by toggling the rule on and off because it created the bot_spawn_limit qglobal? weird. it shouldn't have even checked for the value of the qglobal if the rule was false. i'm assuming it's set to 0 still?
|
Not quite. I had no bot_spawn_limit entry in quest_globals, but it seems that my server was checking for it even though rule_values.Bots:BotQuest was set to false.
So, to make bots work without GM, I enabled the Quest NPC and started the quest to get the quest_globals.bot_spawn_limit entry. Then I manually edited the quest_global.bot_spawn_limit entry and set it to a non-0 value, because I didn't want to do the quest, and my server is still checking that entry even though rule_values.Bots:BotQuest is set to false. I did try setting rule_values.Bots:BotQuest to true and then back to false, but no matter what it's set to the server acts like it's always set to true. It was set to false at the start of this problem. It's set back to false right now. I tried removing the bot_spawn_limit entry after cycling the Bots:BotQuest back to false, and the server instantly gave me the "You cannot spawn any bots" error. It's definitely weird. |
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'll give it a shot then
|
With the Bots:BotQuest rule removed and the bot_spawn_limit entry removed the server gives me the "You cannot spawn any bots" message.
|
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. |
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. |
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? |
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!" |
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.
|
roger that!
I'll grab the new source and give it a go! |
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 |
All times are GMT -4. The time now is 01:17 AM. |
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.