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

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

Reply
 
Thread Tools Display Modes
  #1  
Old 07-21-2015, 01:54 PM
Rikon's Avatar
Rikon
Sarnak
 
Join Date: May 2010
Location: US
Posts: 86
Default Loot Lag

Possible Solution:: In the database under rule_value, "Character:EnableDiscoveredItems" is set to true for ruleset 10. Change to false to alleviate this issue.

----

I wasn't paying attention when I necro'd a thread about Loot lag in the Windows server section. Considering I am running Linux, I thought having it's own thread here would be wise. Here are some the pertinent info.

Server: Linux Debian 8.1
MySQL: 5.5.43-0+deb8u1

Symptom::
When users go to loot corpses, they can only loot one or two items before it lags out and they have to re-loot. A similar, and probably related, issue occurs when dealing with vendors.

The source I compiled from was taken from direction followed HERE on the Wiki. I.E. git://github.com/EQEmu/Server.git

My DB was populated from PEQ (http://peqtgc.com/releases)

I've been busy with work, but I can try to get a video capture if it would even help.
Reply With Quote
  #2  
Old 07-21-2015, 03:55 PM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

I don't believe a video is necessary..the symptoms are descriptive enough to understand the problem.

As to the cause, that part is problematic due to your resources being inaccessible.


To start, I would double-check your logs for any database-related messages.

I'll look through the linux threads to see if I can find anything similar to this issue and update what I find a bit later.
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #3  
Old 07-21-2015, 04:21 PM
Rikon's Avatar
Rikon
Sarnak
 
Join Date: May 2010
Location: US
Posts: 86
Default

I do have full access to the db and the server. My thanks in advance for your assistance. It is appreciated.
Reply With Quote
  #4  
Old 07-21-2015, 07:21 PM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

What does this query return?
Code:
SELECT VARIABLE_NAME, VARIABLE_VALUE FROM information_schema.GLOBAL_VARIABLES WHERE VARIABLE_NAME = 'max_connections'
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #5  
Old 07-21-2015, 09:21 PM
Akkadius's Avatar
Akkadius
Administrator
 
Join Date: Feb 2009
Location: MN
Posts: 2,071
Default

Quote:
Originally Posted by Rikon View Post
I wasn't paying attention when I necro'd a thread about Loot lag in the Windows server section. Considering I am running Linux, I thought having it's own thread here would be wise. Here are some the pertinent info.

Server: Linux Debian 8.1
MySQL: 5.5.43-0+deb8u1

Symptom::
When users go to loot corpses, they can only loot one or two items before it lags out and they have to re-loot. A similar, and probably related, issue occurs when dealing with vendors.

The source I compiled from was taken from direction followed HERE on the Wiki. I.E. git://github.com/EQEmu/Server.git

My DB was populated from PEQ (http://peqtgc.com/releases)

I've been busy with work, but I can try to get a video capture if it would even help.
There is a rule that pertains to discovered items, if this rule is enabled this can slow looting down as each item loot is a hit to the DB because it wasn't written the best (Sorry Trevius I love you man). I'm not sure if he added memory caching to each of the lookups or not. This can definitely do it.

It wouldn't hurt to enable MySQL query debugging to see what is actually taking up the most query time.

Example:

http://wiki.eqemulator.org/p?Logging...gging-to-gmsay
Reply With Quote
  #6  
Old 07-21-2015, 11:52 PM
rhyotte
Hill Giant
 
Join Date: Jul 2012
Location: Oklahoma
Posts: 222
Default

Cool to know. Thanks.
Reply With Quote
  #7  
Old 07-22-2015, 12:14 AM
Shendare
Dragon
 
Join Date: Apr 2009
Location: California
Posts: 814
Default

I see Character:EnableDiscoveredItems . Appears to be set to true for ruleset 10, false for the others by default.
Reply With Quote
  #8  
Old 07-22-2015, 07:41 AM
Rikon's Avatar
Rikon
Sarnak
 
Join Date: May 2010
Location: US
Posts: 86
Thumbs up

Quote:
Originally Posted by Akkadius View Post
There is a rule that pertains to discovered items, if this rule is enabled this can slow looting down as each item loot is a hit to the DB...
I believe this was the issue. I'm going to do more testing and report back.
Reply With Quote
  #9  
Old 07-22-2015, 08:51 AM
provocating's Avatar
provocating
Demi-God
 
Join Date: Nov 2007
Posts: 2,175
Default

Are you saying that turning on discovered items is lagging you out? You have a much deeper problem if that is the case. If something is that wrong with the MySQL server this is just a band aid to a problem that will creep up again. You need to start running something like MyTop and see what is holding everything up.
Reply With Quote
  #10  
Old 07-22-2015, 09:17 AM
Rikon's Avatar
Rikon
Sarnak
 
Join Date: May 2010
Location: US
Posts: 86
Default

Quote:
Originally Posted by provocating View Post
Are you saying that turning on discovered items is lagging you out? You have a much deeper problem if that is the case. If something is that wrong with the MySQL server this is just a band aid to a problem that will creep up again. You need to start running something like MyTop and see what is holding everything up.
I spoke too soon. The problem still exists.

The error when hitting 'loot all' on a corpse is as follows:
Code:
Error: Corpse::Lootitem: BeingLootedBy != client
Checking out zone/corpse.cpp:

Quote:
LootingItem_Struct* lootitem = (LootingItem_Struct*)app->pBuffer;

if (this->being_looted_by != client->GetID()) {
client->Message(13, "Error: Corpse::LootItem: BeingLootedBy != client");
SendEndLootErrorPacket(client);
return;
So is this client-based? Am I reading this right?
Reply With Quote
  #11  
Old 07-22-2015, 10:07 AM
provocating's Avatar
provocating
Demi-God
 
Join Date: Nov 2007
Posts: 2,175
Default

Just curious what version of clients do you have a mix of?
Reply With Quote
  #12  
Old 07-22-2015, 11:23 AM
Rikon's Avatar
Rikon
Sarnak
 
Join Date: May 2010
Location: US
Posts: 86
Default

I have no idea what the users have, but I have UF.
Reply With Quote
  #13  
Old 07-22-2015, 11:44 AM
provocating's Avatar
provocating
Demi-God
 
Join Date: Nov 2007
Posts: 2,175
Default

You really need something to monitor those queries. On Linux it is easy, not sure about Windows. I read there is MyTOP for Windows.
Reply With Quote
  #14  
Old 07-22-2015, 04:09 PM
Rikon's Avatar
Rikon
Sarnak
 
Join Date: May 2010
Location: US
Posts: 86
Default

Quote:
Originally Posted by provocating View Post
You really need something to monitor those queries. On Linux it is easy, not sure about Windows. I read there is MyTOP for Windows.
How do I do it on linux
Reply With Quote
  #15  
Old 07-22-2015, 04:13 PM
Akkadius's Avatar
Akkadius
Administrator
 
Join Date: Feb 2009
Location: MN
Posts: 2,071
Default

The logging system does all of this with MySQL queries....
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 02:13 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