PDA

View Full Version : Files from new patcher in different location than old?



uRit1u2CBBA=
12-06-2007, 08:40 PM
I noticed last week, that my Mystify spell wasn't showing up in the spell list. I never bothered checking it out until today, but it seems that the script I use to download the data files (strings_us.txt, etc.) no longer pull down "current" versions of the files.

I checked the number of lines in the file on the SEQ box vs. the one on my EQ box. SEQ was missing about 1000 lines.

Anyone know of a way to see what the new patcher does when downloading files? Do they pull them from a differnet directory from the old? Or should it be acting the same and I'm just going insane?

Thanks

BlueAdept
12-06-2007, 10:39 PM
I noticed last week, that my Mystify spell wasn't showing up in the spell list. I never bothered checking it out until today, but it seems that the script I use to download the data files (strings_us.txt, etc.) no longer pull down "current" versions of the files.

I checked the number of lines in the file on the SEQ box vs. the one on my EQ box. SEQ was missing about 1000 lines.

Anyone know of a way to see what the new patcher does when downloading files? Do they pull them from a differnet directory from the old? Or should it be acting the same and I'm just going insane?

Thanks

Check to make sure it is pulling down spells_us.txt and not spells_en.txt. The file name was changed some time ago and would account why the spells aren't there.

I had updated staticspells.h with a perl script that was in the old tree. It was updated in the 11.1. That updated the file to the newest spells. I did not know that SEQ did it automaticly since I do not pull the spells_en.txt over.

As for strings_en.txt I do not see that in the Everquest directory.

uRit1u2CBBA=
12-06-2007, 10:47 PM
The files that I'm pulling down from the patcher using my "do_patch" script is:

spells_us.txt
eqstr_us.txt // both used by SEQ
dbstr_us.txt // not used by SEQ, but I use it against another script to generate races.h

I'm not grabbing spells_en at all, only the _us one.

It looks like that the version that I am pulling down has some new data, just not all of the new data (like my Mystify spell, which is the one that I first noticed was missing to tip me off of something going wrong).

I copied my EQ box version of the file to the SEQ box, and then I started to see the Mystify spell in it, so it's working when the file's current.

Did I answer or verify all your questions? :)

BlueAdept
12-07-2007, 12:04 AM
I dont know then. As far as I can tell, nothing was changed.

uRit1u2CBBA=
12-07-2007, 01:17 AM
Is anyone else able to pull down the file from the various patchers to at least duplicate what I've found or to show me that I'm messing something else up? :)

Thanks.

bonkersbobcat
12-07-2007, 02:50 AM
The script that I have always used pulls files from http://patch.everquest.com:7000/patch/everquest/main. It appears the string and spell files there were last updated 08/14/2007.

uRit1u2CBBA=
12-07-2007, 09:52 AM
Does anyone have a proxy server or something to log http requests to try to find out where the new patcher is pulling files from? Sounds like it's confirmed it's not the same as the old one.

flopz
12-07-2007, 12:01 PM
I could see about running a tcpdump while the patcher's running.

BlueAdept
12-07-2007, 01:12 PM
From what I can see it is pulling from here:


http://abeeqp-1.station.sony.com:7000/patch/everquest/en/patch0/main/

but when I try to get one of the files, I get a 404

uRit1u2CBBA=
12-07-2007, 01:23 PM
Don't forget that the patcher downloads all files with a .gz extension then gets extracted.

so the file you want to "wget" is spells_us.txt.gz

I just did a sample test, and it worked.

I'll update my "do_patch" script with this new info and try it out for a few days. But I think we got the problem fixed.

ieatacid
12-09-2007, 03:03 PM
Mine is getting them from


http://patch.everquest.com:7000/patch/everquest/en/patch0/main/

uRit1u2CBBA=
12-09-2007, 07:26 PM
They may have some sort of router in the middle that splits the load of the server over several servers. They have adjacent IP addresses:

199.108.194.72 and 199.108.194.73

uRit1u2CBBA=
12-12-2007, 11:19 AM
OK - I'm confused again.

The patcher downloaded a new file: dragitem59.tga

I updated my script that grabs all dragitem files with the new URL we discovered, and it works, except for that new file.

So the patcher must have grabbed it from somewhere else. Anyone able to determine that?

Thanks.

ieatacid
12-12-2007, 12:49 PM
I deleted mine so it would grab another and it came from


patch.everquest.com:7000/patch/everquest/en/patch1/main/uifiles/default/dragitem59.tga.gz

ieatacid
12-12-2007, 12:53 PM
Mine is getting them from


http://patch.everquest.com:7000/patch/everquest/en/patch0/main/

The string and spell files came from the same URL except this time it's "patch1".

uRit1u2CBBA=
12-12-2007, 12:58 PM
Man, I hope they're not changing the path every patch now.

ieatacid
05-17-2009, 11:03 PM
Don't know when it changed but now it's back to


http://patch.everquest.com:7000/patch/everquest/en/patch0/main/

uRit1u2CBBA=
05-17-2009, 11:58 PM
I had a proxy program running for a while on my windows box, but it was a pain to configure. Is there a nicer way to do this using something on my linux box to log the paths of the URLs so we can track these changes?

Thanks.

ieatacid
05-18-2009, 04:30 AM
I just use WireShark on my Windows box.

uRit1u2CBBA=
05-18-2009, 06:13 AM
Thanks. I downloaded it and turned on scanning. Not sure yet how to use filters to remove the spam. I'll check it again when I'm a little more awake. :)

uRit1u2CBBA=
06-22-2009, 08:29 PM
I still coudln't figure out how to get wireshark to give me the URL information that I'm looking for. Any tips on configuring it?

Thanks.

ieatacid
06-22-2009, 09:32 PM
When I do it, I don't configure anything (just make sure it's set to capture on the correct network interface).

I usually delete a bunch of text files from the EverQuest folder then start the patcher. When it starts downloading I click the button for "Start a new live capture", let it download a few files, then click it again to stop. Then I sort the list by "Source" and look for TCP packets going from my IP address to another.

Example:

No. Time Source Destination Protocol Info
28 0.929513 192.168.1.2 64.37.129.43 TCP 51172 > afs3-fileserver [ACK] Seq=167 Ack=20329 Win=17424 Len=0

I only let it run for a few seconds so the list is short and the only packets I have like that are going from my IP to 64.37.129.43. A DNS look-up shows it as a station.sony.com server. Also, in the "Info" column you should see something like "afs3-fileserver".

So then I randomly right-click one of those lines in the list and select "Follow TCP Stream". A new window will open and right at the top you'll see something like this:

GET /patch/everquest/en/patch0/main/maps/neriaka.txt.gz HTTP/1.1
User-Agent: SOEPatcher/curl
Host: patch.everquest.com:7000
Accept: */*
Cache-Control:no-cache

HTTP/1.1 200 OK
Cache-Control: s-maxage=1800
Content-Type: application/x-gzip
Accept-Ranges: bytes
ETag: "1292212449"
Last-Modified: Wed, 13 Oct 2004 11:02:29 GMT
Content-Length: 28906
Date: Tue, 23 Jun 2009 03:18:07 GMT
Server: lighttpd/1.4.20

That's about all there is to it.

uRit1u2CBBA=
06-23-2009, 02:56 AM
Sweet - that was enough. Thanks.

With all of the patches the last few months, I wanted to verify that the patcher directory is still the same place it has been since you discovered it was back to where it was several years ago.

It is :)

Thanks again.

sequser246
06-23-2009, 06:25 AM
The Station Launcher (beta) uses a slightly different location which is also very useable:-



http://lp2.patch.station.sony.com:7000/patch/lp2/eq/en-trial/patch0/en-trial-main/eqstr_us.txt.gz


The launcher also has some other interesting downloads, which might be of interest:-



http://lp2.patch.station.sony.com:7000/patch/lp2/eq/en-trial/filesets.xml


...which yields:-



<FileSet Name="en-trial-main" Description="EQ Trial English Main Fileset" Version="1755" Uri="http://lp2.patch.station.sony.com:7000/patch/lp2/eq/en-trial/patch0/en-trial-main/eq_en-trial-main_manifest.xml.gz" RemoteRootPath="http://lp2.patch.station.sony.com:7000/patch/lp2/eq/en-trial/patch0/en-trial-main"/>


The eq_en-trial-main_manifest.xml.gz contains a file inventory, e.g:-



<SoePatcher Name="en-trial-main" Product="eq" Version="1755" xmlns="http://station.sony.com/lp2/updater/pitcher" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://station.sony.com/lp2/updater/pitcher http://lpconfig.patch.station.sony.com:7000/patch/lp2/schemas/PitcherManifest.xsd">
<File Name="eqstr_us.txt" CRC="619350942" Compression=".gz" DownloadSize="113898" MD5="C5A5A8B863A2AA6ECD85BB5E0D27192F" Size="359823" />
<File Name="spells_us.txt" CRC="453702034" Compression=".gz" DownloadSize="566925" MD5="5BF0604147807B63A1980D452DB3718D" Size="5270165" />
</SoePatcher>


(Note: I've trimmed a fair amount out of that for space reasons...)

All of those files can be wget'd by prepending the RemoteRootPath given in the filesets.xml.

(There's also <Directory>...</Directory> tags to include where appropraite...)

sequser246
06-23-2009, 06:37 AM
Actually, I've found a much more interesting file...



http://lp2.patch.station.sony.com:7000/patch/lp2/eq/en/filesets.xml


This one contains the filesets / manifest for all the EQ expansions.

There's also a bundle list...



http://lp2.patch.station.sony.com:7000/patch/lp2/eq/bundles.xml


Well, now I'm almost tempted to save SoE some bandwidth and write a local patch server for all my EQ installs...

uRit1u2CBBA=
12-08-2009, 05:21 PM
Update after 12-8-09 patch:

Seems the patcher is now pulling files from:

eq.patch.station.sony.com:80

No more port 7000. And that was my search criteria in Wireshark trying to find it. No wonder why I was going insane.

ieatacid
12-20-2009, 12:24 PM
Looks like "patch0" changed to "patch1" also. This is what I'm using:


http://eq.patch.station.sony.com/patch/everquest/en/patch1/main/

uRit1u2CBBA=
12-20-2009, 12:55 PM
Thanks. I really need to add some of that into environmental variables in my .profile, since I have 3 or 4 scripts that do different things all that pulls info from the patcher.

ksmith
06-16-2010, 08:38 AM
Copied and pasted from the EQItems forum: http://eqitems.13th-floor.org/phpBB2/viewtopic.php?t=323

First of all, this is based off the freely downloadable EQ Trilogy and may be different from what happens for paid accounts.

Everquest Patcher
The Everquest patcher is the first stage in the update process. It is launched by Everquest.exe.

The patcher checks to see if there are any updates for itself by downloading http://patch.everquest.com:7000/patch/everquest/eqpatcherMain-changes.xml.gz

That file is an xml document using the unspecified VerantPatcher DTD (more on that later). It defines two Distributions: 'Patcher' and 'SubFiles'. Patcher is the files for the live patcher, and SubFiles contains a link to the Distribution for the test server patcher.

Launchpad
Next the Everquest Patcher starts the Launchpad.

The Launchpad cchecks to see if there are any updates for itself by downloading http://patch.station.sony.com:7000/patch/launchpad/launchpadonly.xml.gz

That file is also a VerantPatcher xml document. It contains a number of distributions (one for each SoE game) but only the 'LaunchPad Distribution' contains files. I'm guessing Launchpad knows what files it wants under each distribution's path. For Everquest, it downloaded http://patch.station.sony.com:7000/patch/launchpad/everquest/EverQuest/EQModule.dll.gz the eula, and some graphics. More importantly, it downloaded http://patch.station.sony.com:7000/patch/launchpad/everquest/lp_eqenv.xml.gz

Updating Everquest
The lp_eqenv.xml file downloaded by the Launchpad tells us where to look for 'everquest-update.xml.gz'. That happens to be http://patch.everquest.com:7000/patch/everquest/en/everquest-update.xml.gz

The everquest-update.xml.gz is once again a VerantPatcher document. It contains one Product 'EverQuest' and a Distribution for each expansion.

VerantPatcher XML Documents
VerantPatcher documents contain Products. Products have a name and define which server/port to download updates from.

Products contain Distributions. Distributions can be one of several types (normal, remote, bits, ?). Normal Distributions contain one Directory which has a RemotePath attribute. That RemotePath plus the server info from the Product will get you a base url for the Distribution.

Distributions contain Directories. To find the base url for a Directory, append its name and the name of any parent directories to the distribution's url.

Directories contain Directories and Files. To find the base url for a Directory or File, append its name and the name of any parent directories to the distribution's url.

That's Great, Give me Something Useful
I wrote a (quick, ugly, hackish) script to grab everquest-update.xml, parse it, and let you search for and download files, just like the Everquest patcher.

You can get the script here: eqdownload (http://eqitems.13th-floor.org/svn/scripts/trunk/eqdownload/)

uRit1u2CBBA=
06-21-2010, 04:54 PM
Thanks for that info K. I started to incorporate that into my scripts.

I took a look at your icon-getting-and-splitting scripts, and found that I had to run:


chomp($EQGAME_URL);

Before using the variable since there was a #0A character at the end of the string that messed up the wget. Once I added that, it worked sweet.

I'll start adding that to my other scripts that downloads information from the EQ servers.

EDIT: Using the same eqdownload.py script using a bash shell script instead of through perl, the #0A character didn't exist, so I was able to use it without any problems.

Thanks again for the neat tools.

lehua768
07-02-2010, 09:29 PM
Don't forget that the patcher downloads all files with a .gz extension then gets extracted.so the file you want to "wget" is spells_us.txt.gzI just did a sample test, and it worked.I deleted mine so it would grab another and it came from.Is anyone else able to pull down the file from the various patchers to at least duplicate what I've found or to show me that I'm messing something else up?

seqfan
07-02-2010, 10:06 PM
Does anyone have a proxy server or something to log http requests to try to find out where the new patcher is pulling files from? Sounds like it's confirmed it's not the same as the old one.

wireshark or net monitor 3.0 will do what you need.

uRit1u2CBBA=
07-02-2010, 10:47 PM
Umm . thanks for answering my 30 month old question.