Go Back   EQEmulator Home > EQEmulator Forums > General > General::Server Discussion

General::Server Discussion Discussion about emulator servers.
Do not post support topics here.

Reply
 
Thread Tools Display Modes
  #1  
Old 08-19-2018, 06:44 AM
dagulus2
Hill Giant
 
Join Date: Feb 2013
Posts: 220
Default

In terms of the SQL Data you ave to add to get the Prophetess working, does this only have to be done once or will it need updating if I add merchants or items?
Reply With Quote
  #2  
Old 08-19-2018, 07:01 AM
djeryv's Avatar
djeryv
Hill Giant
 
Join Date: Apr 2008
Posts: 237
Default

Quote:
Originally Posted by dagulus2 View Post
In terms of the SQL Data you ave to add to get the Prophetess working, does this only have to be done once or will it need updating if I add merchants or items?
Well, I did have to make tables instead of views because views cannot have primary keys set. When I moved to the table format, and set primary keys, the queries she ran were really quick.

So the SQL would need to be ran each time you add to merchants, but there is a command to drop the table if it exists and recreate it so it is a quick matter...but you would need to remember to run it.

Views would avoid this step, but the Prophetess took about 20 seconds to return results and I would rather it be instant. I think I will setup the Prophetess as a separate package for people to get, in case they don't want the other solo server stuff...of course leaving her in the solo server package as well.
Reply With Quote
  #3  
Old 08-20-2018, 07:13 PM
djeryv's Avatar
djeryv
Hill Giant
 
Join Date: Apr 2008
Posts: 237
Default

Well, I failed to get the Prophetess to tell players where items can be looted from. The issue is that if your server is on the low power end, querying through a table with over 600,000 records (the loot table is very big) takes too much time. During this time of the query, the server is pretty much non-responsive until it is done. So although not a big deal with single player environments, adding a few more players will ruin the experience.

I did make an SQL query to create one single table, however, that will allow for the searches I already implemented. And since I made the separate table, searches take a second or less to do. When I queried the database tables, and the joins I needed, it would take 15 or more seconds.

I also learned during this process that MySQL views just aren't very efficient. They took even longer to query than the multiple table joins.

So the Prophetess is still very useful. You can search for items for sale and she will tell you who sells it and what zone they are in. You can do wildcard searches as well. If you tell her a level, she will tell you where you can go buy your spells from for that level. So, for example, if you are a Necromancer...and say "3" to her...she will tell you where you can go buy your level 3 necromancer spells from.
Reply With Quote
  #4  
Old 10-11-2018, 02:00 AM
GlassDeviant's Avatar
GlassDeviant
Sarnak
 
Join Date: Oct 2018
Location: Third rock from Sol
Posts: 66
Default

Quote:
Originally Posted by djeryv View Post
Well, I did have to make tables instead of views because views cannot have primary keys set. When I moved to the table format, and set primary keys, the queries she ran were really quick.

So the SQL would need to be ran each time you add to merchants, but there is a command to drop the table if it exists and recreate it so it is a quick matter...but you would need to remember to run it.
Here's a thought. Would it be possible to add the ability to say to her something like, "have you met any new merchants?", and have her do a live table drop and rebuild while in the server playing? With some sort of limit on how often the drop/rebuild could happen, like...no more than once per hour or only once per server restart.

Also, when I want to use HeidiSQL to access the EQ tables to mess with stuff, or add the stuff from your EQEmuSoloSettings.zip archive, do I start the EQ server first? And should I start it without the login server via t_start_server.bat, as opposed to t_start_server_with_login_server.bat?
__________________
-GD
Reply With Quote
  #5  
Old 10-11-2018, 10:52 AM
djeryv's Avatar
djeryv
Hill Giant
 
Join Date: Apr 2008
Posts: 237
Default

If a query cannot run super-quick, then players will notice when the server stops responding. So your idea would cause that temporary freeze as tables are dropped and rebuilt. My final solution works fine on my system so I will leave it as is.

You should have your server off before adding this package.
Reply With Quote
Reply

Thread Tools
Display Modes

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 04:30 AM.


 

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 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3