PDA

View Full Version : something to get working


norsan
08-17-2009, 05:01 AM
would anyone like to assist me in getting the items tables up to date with whats on eqitems.13th-floor.org it would be awesome if we could once again keep the items table up to date

joligario
08-17-2009, 05:31 AM
Cavedude did a 13th floor dump not too long ago. His PEQ database is probably pretty up-to-date.

norsan
08-17-2009, 09:16 AM
i use the peq db theres alot of items missing

trevius
08-17-2009, 09:53 PM
PEQ DB can only update to what 13 floor has collected so far. I would say it probably has about 95% of all items available on Live atm. The missing ones are probably just the items that people haven't collected while running the 13 floor tools to log them yes. Are you finding a bunch missing stuff in the PEQ DB that you can actually find with a 13 floor website search? When was the last time you updated your items table to PEQ? The last time I did it, I just removed the part of the SQL that removes and rebuilds the table, so I didn't lose any existing items (custom or not) that I already had in my table. Then, I just made sure that the schema for my table matched the PEQ table perfectly. Once that was done, I just sourced in the SQL entries and allowed it to error for all existing items in my table. I hadn't updated in over a year, and this last time I got about 12k new items added, which was really nice. The updated items are great if you are using SoF on your server.

laxative
08-25-2009, 01:41 PM
Hi,

I have futzed around with the items much at all. But I did notice that everytime I update the database I'm not seeing any new items.

I have 76214 items that load when I start the server. Does this information seem about right? I guess I need to do some reading regarding 13th floor.

Laxa

joligario
08-25-2009, 03:17 PM
That number looks right.

Andrew80k
08-25-2009, 04:24 PM
PEQ DB can only update to what 13 floor has collected so far. I would say it probably has about 95% of all items available on Live atm. The missing ones are probably just the items that people haven't collected while running the 13 floor tools to log them yes. Are you finding a bunch missing stuff in the PEQ DB that you can actually find with a 13 floor website search? When was the last time you updated your items table to PEQ? The last time I did it, I just removed the part of the SQL that removes and rebuilds the table, so I didn't lose any existing items (custom or not) that I already had in my table. Then, I just made sure that the schema for my table matched the PEQ table perfectly. Once that was done, I just sourced in the SQL entries and allowed it to error for all existing items in my table. I hadn't updated in over a year, and this last time I got about 12k new items added, which was really nice. The updated items are great if you are using SoF on your server.
It's funny, I was playing live last night, and someone mentioned a post by sony on one of its boards stating that there were around 80,000 items and around 3000 still undiscovered.

AndMetal
08-27-2009, 02:51 AM
From the 13th Floor's website (http://eqitems.13th-floor.org/stats.php):


There are 79493 items in the database and 0 waiting to be approved.

Lowest item id is 1001. Highest item id is 119463.

demonstar55
08-27-2009, 08:44 AM
If someone does take on this task make sure they contact CD about the patches he applies after he would import a new dump from 13th floor.

cavedude
08-27-2009, 11:37 AM
I already dumped 13th floor, a couple of days ago. It'll be in the next PEQ SVN dump. I just had to make sure all was well with the items on TGC and it looks so.

bergalas
08-27-2009, 12:24 PM
Im curious do you source them all by hand or use some kind of parser?

cavedude
08-27-2009, 12:47 PM
There is a parser in the utils folder of the EQEmu SVN that does the actual sourcing. I have to manually add any new columns as the parser complains about them. Lastly, I source in an updates sql, which some have asked to be released but the problem is it changes nearly every time I update items. Before I release the table to the public, it's first tested on TGC. Once they have nailed down the major bugs (of which so far, there was only one small oversight on my part) it's then considered release worthy.

bergalas
08-27-2009, 12:50 PM
I tried the parser in the eqemu repository, but it didnt work for me at all told me there was an error in my mysql syntax.any chance you could update that parser or am i using the wrong one? I used load_13thfloor_items.pl

cavedude
08-27-2009, 12:57 PM
Nope, it works fine. That's the same one I used.

bergalas
08-27-2009, 01:08 PM
C:\Perl>perl load_13thfloor_items.pl -d eqemu_config.xml <items.txt
DBD::mysql::db do failed: You have an error in your SQL syntax; check the manual
that corresponds to your MySQL server version for the right syntax to use near
'' at line 1 at load_13thfloor_items.pl line 72, <STDIN> line 2.

bergalas
08-27-2009, 01:13 PM
i do believe its the empy fields (||) in the items.txt file

cavedude
08-27-2009, 01:17 PM
The only thing I can think of, do you have DBD installed? If not, there is a tutorial somewhere around here that tells you how to install it.

bergalas
08-27-2009, 01:22 PM
new error lol

DBD::mysql::db do failed: You have an error in your SQL syntax; check the manual
that corresponds to your MySQL server version for the right syntax to use near
'range,damage,color,itemtype,material,UNK060,elite material,sellrate,combateffect
s' at line 1 at load_13thfloor_items.pl line 72, <STDIN> line 3318.

bergalas
08-27-2009, 01:27 PM
could range itself be a problem? as in a protected word in mysql?

bergalas
08-27-2009, 01:31 PM
yep that IS the problem its a reserved word!

The following are new reserved words in MySQL 5.1:
ACCESSIBLE LINEAR MASTER_SSL_VERIFY_SERVER_CERT
RANGE READ_ONLY READ_WRITE

MySQL allows some keywords to be used as unquoted identifiers because many people previously used them. Examples are those in the following list:

bergalas
08-27-2009, 01:37 PM
guess that means i need to downgrade mysql on my server

bergalas
08-27-2009, 02:00 PM
UPDATE tested on my live webserver with mysql 5.0.51 ll required modules installed

DBD::mysql::db do failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 at load_13thfloor_items.pl line 72, <STDIN> line 721.

I would like to note that I checked the svn this file hasnt been updated since 2008 sept.

bergalas
08-27-2009, 02:12 PM
could we add something to this
while(<STDIN>) {
chomp();
s/'/\\'/g;
@f=split("(?<!\\\\)\\|", $_);
$insert2=join("','",@f);
$#f--;
grep(s/\\\|/\\\\\|/g,@f);
grep(s/"/\\\\"/g,@f);
$statement=sprintf("%s%s','13THFLOOR',now()",$insert,$insert2,join('|',@f));
$dbh->do($statement);
printf("Processing: %d %s \r",$f[4],$f[1]);
++$count;
}

to replace || With |NULL|? Im not that good with perl

AndMetal
08-28-2009, 01:24 AM
could we add something to this


to replace || With |NULL|? Im not that good with perl

I believe this will do the trick:


while(<STDIN>) {
chomp();
s/'/\\'/g;
s/||/|NULL|/g;
@f=split("(?<!\\\\)\\|", $_);
$insert2=join("','",@f);
$#f--;
grep(s/\\\|/\\\\\|/g,@f);
grep(s/"/\\\\"/g,@f);
$statement=sprintf("%s%s','13THFLOOR',now()",$inse rt,$insert2,join('|',@f));
$dbh->do($statement);
printf("Processing: %d %s \r",$f[4],$f[1]);
++$count;
}

bergalas
08-28-2009, 03:32 AM
hmmm that didnt work either ugh i give up lol

Andrew80k
08-28-2009, 11:19 AM
Nahh. That won't work. You'll need to escape the '|' with \ so:

s/\|\|/\|NULL\|/g;

the '|' is a special character in perl used as 'or' in regular expressions.

nosfentora
08-28-2009, 02:05 PM
i'm not sure this will help, but if you quote range like this

`range`

mysql will accept it as a valid field identifier.

strictly speaking any field should be 'quoted' with the ` `, and values with ' '.