Generic Patcher and Multi payload installer | EVE Online

Generic Patcher and Multi payload installer

2011-10-12 - By CCP Cascade

Hello!

I am CCP Cascade, Associate Technical Producer working in the Core Technology Group. I have been given the role of Internet Herald to tell you about some of the projects the Core Infrastructure team, CCP Atropos, CCP Mandrake, CCP Sputnik, and CCP TopKnot have recently worked on. The team works on a lot of in-house tech that you don’t often get to see, but they also work on some pretty important stuff that you see every day, such as the installer, patcher and repair tool. You might know them from the forums or dev blogs like "Fixing Lag: And I, for one, welcome our new automation overlords," "When patching fails, repair" and "The EVE Repair Tool and You."

Most recently, they have worked on two projects: the Generic Patcher and the Multi Payload Installer. 

To sum it all up:

Installer:

  • The installer can resume downloading at a later time if the user cancels or disconnects before a download completes.
  • The installer has been broken up into three parts: the Executable, Payload1 and Payload2. This should only concern you when downloading the fallback installer.

Generic Patcher:

  • People returning to EVE after a long break will have an easier time patching the client and getting back into the game.
  • People who don't know what build they are on will no longer need to know as the generic patcher automatically patches any client installed.
  • The Generic Patcher is available here by clicking the link “Generic Patcher” link on the Operating System page.

Multi Payload Installer

The Windows full installer was previously available in two flavors:

  • One, referred to simply as the “Installer” consisted of a small executable which connected to our Content Delivery Network (CDN) and would proceed to download the game whilst you sat and watched the progress bar from the installer application.
  • The other, often referred to as the “Fallback Installer” was an “offline version” of the installer, consisting of a single, large self-extracting archive, within which the game was compressed. You would download this using your browser, from our CDN, by simply clicking on the links from our webpage.

Since the Incarna expansion and patches, the total size for the installer has exceeded 4 GB.

So why is 4 GB so special?

There is a hard limit on how large a single executable can be on Windows; that limit is 4 GB on 32-bit systems. Furthermore, operating systems that run on the FAT-32 file system have a 4 GB file size limit, so no file stored on a FAT-32 system can be larger than 4 GB. Most users do not run on FAT-32 anymore; NTFS is more widely used today. We decided on a solution that caters to everyone, whether they use FAT-32 or NTFS. We split the so-called payload (the compressed file containing the game) into multiple files.

So what does this mean to me?

Since you already (hopefully) have the game installed, probably not much. But if you were to reinstall the game or carry the client around on a USB stick, then there have been some changes that you should be aware of.

When you download the fallback installer, you are presented with a list of files you need to download:

  • The Executable
  • Payload 1
  • Payload 2

By downloading them and placing them into the same folder you can install the game just the same way you would have done before. The size, currently, isn’t that far over the 4GB limit; the current total is 4.5 GB.

If you are using the regular installer, the changes we have made are all in the background; as a user you will not notice it.

And as a bonus to resolving the 4 GB issue, we have added functionality for resuming downloads. If you happen to get disconnected, experience a power outage or just accidentally click cancel during the download, the next time the installer starts up it will simply pick up where you left it.

Generic Patcher

With EVE going through patches and expansions, the size and quantity of patches we create with every expansion/patch has increased and the older the client you’re using is, the bigger the patch gets. This is not only bad for you (more data to download) but makes our build and test times that much longer. This slows us down when there are fixes to roll out to Tranquility, so any reduction in the time required building and testing is a massive benefit to us. To cut down on this, we are currently limiting ourselves to building around 20 patches, which means that if you have a client which is older than 20 patches (generally a client that is roughly 8 months older or more) you would have to reinstall the game to be able to play.

Enter the generic patcher! With the generic patcher, you will be able to patch any released client, no matter how old it is, to the latest client version. The generic patches determine what your client is missing and then proceeds to download the missing files. This means no matter how corrupt or out-of-date your EVE Online client is, it should be fixed up in one go. What’s even cooler: the generic patches only get what is different in each file. So if the only difference in a 100 MB file from your hard drive and the latest version is a few megabytes, only those megabytes will be downloaded. Instead of having to download the full installer if there is no patch for you available, you will now have the generic patches to get you up and running.

Future stuff

All of these changes mentioned here in this blog are improvements to make the installing and patching experience better and more convenient for you. We have already started working on the next steps which we are really excited about bringing to you, but more about those in a later dev blog. We also very much welcome your ideas for future stuff you would like to see in the feedback thread!