Log in

View Full Version : Provision Of ROF2 Client


MajinCry
09-06-2015, 01:57 PM
Now now, put down that ban-hammer, Mr. Admin! This thread is not what you think it is!


From what I have gathered, there is no way to get the optimal client for use with EQEmu; the Steam RoF2 client. Steam has long since updated the files for it.

Now, the main problem here, is that it's forbidden to share any client files, due to potential legal action from Everquest's companies.

It's a similar problem that initially greeted the fellows who created the Tale Of Two Wastelands mod for Fallout New Vegas and Fallout 3; only the creators had the actual files, whilst everyone else didn't. Uploading the actual game files would have thrown them into hot water with Bethesda.

Their solution? XDelta.


So, what I propose, is that someone with an unadulterated Steam RoF2 client, create an XDelta patch for the latest Steam Everquest client. The patch itself does not contain any game files, which means that there is no issue with sharing it.

I've concocted a method that should allow for easily creating and patches, by utilizing Folder2Iso and XDeltaUI. I've made an archive of the two programs, which should be a boon for avoiding differences in generated patches due to differing programs & versions used. Download it here. https://www.mediafire.com/?xzvc2a1x6k37bcv



After extracting the archive and downloading the appropriate 7zip command line .exe for your OS from here (http://www.7-zip.org/download.html), the method for creating a patch is as follows:


Place 7za.exe, 7za.dll & 7zxa.dll in the parent folder of your RoF2 folder.
Shift+Right click -> Open Command window here
Type in: 7za.exe -mx0 a EverquestRoF2Archive.zip "Whatever the name of the client folder is"
Press enter
Wait for the archive to finish.

Repeat the above for the latest Steam Everquest client, but use the archive name EverquestSteamArchive.zip instead.

XDelta -> XDeltaUI.exe
Click tab "Create Patch"

At "Original File" click "Open..." -> Navigate to "EverquestSteam.zip" -> Click "Open". Note that EverquestSteam.iso is the file which will be patched, making it the "Original File".
At "Modified File" click "Open..." -> Navigate to "EverquestRoF2.zip" -> Click "Open"
At "Patch Destination" click "Open" -> Save as "EverquestSteam-RoF2.xdelta"
Click "Patch"


Once an .xdelta patch has been provided, applying it is of a similar method. It goes as follows:


Place 7za.exe, 7za.dll & 7zxa.dll in the parent folder of your Steam Everquest client folder
Shift+Right click -> Open Command window here
Type in: 7za.exe -mx0 a EverquestSteamToBePatched.zip "Whatever the name of the client folder is"
Press enter
Wait for the archive to finish.

XDelta -> XDeltaUI.exe
Click tab "Apply Patch"

At "Patch" click "Open..." -> Navigate to "EverquestSteam-RoF2.xdelta" -> Click "Open"
At "Source File" click "Open..." -> Navigate to "EverquestSteamToBePatched.zip" -> Click "Open".
At "Output File" click "Open" -> Save as "EverquestSteam-RoF2.zip"
Click "Patch"
Once done, exit XDelta

Use your favourite archiving software to extract the files from "EverquestSteam-RoF2.zip". I recommend 7Zip.



So aye. Surely this would be the most ideal way of getting the playerbase the optimal client, whilst not crossing any shady boundaries?

rhyotte
09-06-2015, 03:36 PM
Tagging in to follow.

MajinCry
09-06-2015, 07:06 PM
I have finally gotten a hold of the RoF2 client. 'Twas an absolute pain in the ass to do, however.

What I need people to do now, is download the Steam Everquest client by doing the following:


If Everquest is already present in your Steam library: Right-click -> Delete Local Content

Go to the Steam store
Type in "Everquest"
Add the game to Steam. No need to purchase the DLC.

Go to the Steam library
Right-click the Everquest entry -> Properties
Click the "Updates" tab
Under "Automatic Updates", choose "Only update this game when I launch it."
Click "Close"
Wait for the download to finish.

!!DO NOT LAUNCH EVERQUEST!!

Once the download has finished, use the Folder2Iso program to create an iso out of the folder. The steps to do so, are listed on the first post. Name it "EverquestSteam.iso"

Get Quick Hash Gui here. http://sourceforge.net/projects/quickhash/

Extract QHG, run the .exe
Click the "File" tab
Hash Algorithm = SHA256
Select File -> "EverquestSteam.iso"
Make a cup of coffee and listen to Cain's Offering whilst the hash is generated

Once the SHA256 is generated, paste it here. Please denote the locale of your game (English, Welsh, French, Welsh, Japanese, Welsh, Mongolian, Welsh, Chinese, Welsh, Gaelic, Welsh, etc.) when posting the hash.


The reason why I want the hashes, is to see if my idea of creating ISOs out of the Everquest folder, will yield the same file. If it does, that means we can use XDelta. If not, I'll have to think of some other way to archive the files with a non-unique archive.

Uleat
09-06-2015, 09:13 PM
Repost of this response: http://www.eqemulator.org/forums/showpost.php?p=243007&postcount=18


The subject of a client delta is being discussed - both good and bad.

While this topic doesn't quite infringe on the discussion of distributing actual binaries, it doesn't clearly expunge itself from the realm of a C&D, either...


I'm placing an injunction on the posting of delta files, or links there-to, until a decision can be reached and made public - or until another developer or
administrator removes it.

I'm not stopping the conversation on this topic because a point-of-view is valid and may help us in determining how we proceed.

However, precautions have to be taken until we can find a resolution.

MajinCry
09-06-2015, 09:29 PM
Fair enough.


I've just done a test, and generated iso files differ from each other, even when made from the same folders by the same program. Bleh.

For any of the lads using Folder2Iso so as to generate hashes, my apologies. However, .zip archives work just fine. I'll update the OP to accommodate that fact.

provocating
09-07-2015, 12:12 PM
Why do you say it is the optimal client? I would disagree and say that UF is the optimal client.

MajinCry
09-07-2015, 12:20 PM
Why do you say it is the optimal client? I would disagree and say that UF is the optimal client.

'Tis what I've read on the forum. Performance optimizations, bug fixes, that sorta thing.

Though it seems shadows just kill the performance, even with my Radeon HD 7850 and a 965 BE. A lad can dream of a deferred rendering patch.

provocating
09-07-2015, 12:24 PM
RoF and RoF2 have caused so many complaints on my servers I have all but banned them at this point. And since there is no way to legally obtain them, I see no point of chasing after moving targets.

MajinCry
09-07-2015, 12:47 PM
...And since there is no way to legally obtain them...

Now now, that isn't the case. That's what patches are for; no files are distributed through that method.

Although you've had problems with the RoF2 client on your server, I take it that it's safe to assume the performance of Everquest is better on RoF2, as you've not taken issue with that point?

provocating
09-07-2015, 01:58 PM
Titanium, yes seen plenty of issues, not really performance. I have seen zero performance issues with Underfoot. Considering when that client came out and how much faster processors and video cards are, I cannot seen anyone having performance issues with a modern PC.

MajinCry
09-07-2015, 02:30 PM
Titanium, yes seen plenty of issues, not really performance. I have seen zero performance issues with Underfoot. Considering when that client came out and how much faster processors and video cards are, I cannot seen anyone having performance issues with a modern PC.

Oh I dare say that it is completely possible to have performance issues. One good example would be one I just experienced; created a new Iksar character, went to the edge of the cave map and overlooked the NPCs; turn on the shadows, and the FPS plummets down from the mid 40s, to the sub 20s.

This is on an AMD Radeon HD 7850 2GB GDDR5, a Phenom II x4 965 BE, 16GB DDR3 RAM and Windows 7. I'm fairly sure there is much to be improved and fixed client-side.

Everquest is an old game, and as such, uses old programming methods. Forward rendering, x87 instructions, no geometry instancing, ancient (I.E, poor performing) shader models (https://en.wikipedia.org/wiki/High-Level_Shading_Language), single-threaded particles, single-threaded physics, single-threaded sound, etc.

Of course, a comparison of the clients' features and performance improvements would be most welcome. Supposedly there was a page on the wiki for this, but it does not exist.

provocating
09-07-2015, 02:48 PM
The issues with RoF2 not being completely implemented far outweigh performance issues for me.

Shadows vs things like shared bank, bazaar, guild bank working makes it an easy choice for me. Some of those things may have been fixed in the last few months, last time I checked they were not. Seems like there were issues with slots, items disappearing also.

Boats work very well on my servers, but not with RoF2, another reason we do not use it. If RoF2 was fully operational that would change my mind. I am definitely not trying to poop on your thread, just stating that RoF2 has some issues.

MajinCry
09-07-2015, 02:52 PM
The issues with RoF2 not being completely implemented far outweigh performance issues for me.

Shadows vs things like shared bank, bazaar, guild bank working makes it an easy choice for me. Some of those things may have been fixed in the last few months, last time I checked they were not. Seems like there were issues with slots, items disappearing also.

Boats work very well on my servers, but not with RoF2, another reason we do not use it. If RoF2 was fully operational that would change my mind. I am definitely not trying to poop on your thread, just stating that RoF2 has some issues.


Oh, don't get me wrong; I'm not taking any of this personally. This is all worthwhile discussion.

It's just that your posts are the first that I've found that advise against using RoF2, whereas most others I've found implore it, so I'm just a tad skeptical.

Perhaps the more experienced lads would be willing to compile a list of the known maladies that plague the RoF2 client when in use with the latest server revision?

demonstar55
09-07-2015, 03:32 PM
I would say RoF2 is the best client. Only issue is it can't go to all the pre-revamped zones and PEQ doesn't have the zones implemented fully yet. And guild shared bank still needs to be fixed, but everything else works.

provocating
09-07-2015, 03:41 PM
Yeah I think bazaar buying got fixed back in February. Not sure if bazaar search is working. I also seem to remember something about tradeskill containers floating in the air?

demonstar55
09-07-2015, 04:00 PM
I also seem to remember something about tradeskill containers floating in the air?

That's bad DB entries, other client fix that for us.

provocating
09-07-2015, 04:04 PM
That's bad DB entries, other client fix that for us.

Good deal.

Uleat
09-07-2015, 06:16 PM
There are a lot of features in RoF/RoF2 that either are not implemented or have been hack-plemented.

That's not to say that the implementations are unusable or highly unstable.


RoF (HoT, actually) started down a road that made the emu's inventory incompatible with the client behavior.

Translators were used..but, you can always take away from more (information) where you can't add from (missing) less.

And, of course, this affects other systems - such as buying/selling/trading, clickable item casting, maximum bag slot capacity, etc...

TDS is worse than RoF (imo) for change points. Huge chunks of ability code were removed and those abilities placed into the AA system.


I think part of the problem with RoF/RoF2 may lie in the disparity between highly customized server code and the latest public repo HEAD (- not picking on anyone!)

That aside, I think even that the RoF clients are more compatible now than the older clients were just a few years ago.


EDIT: Didn't gravity play a part in 'floating' objects for RoF+ clients?

demonstar55
09-07-2015, 07:51 PM
Floating objects is because trhey re!pved the BestZ for that packet for player housing. (Where floating could be what they want)