I was bored and made a tool to defragment Path of Exile's GGPK files. I shaved 850 MB off my client by using this.It's a console application which takes two arguments, the filename of the GGPK to copy and a filename for the defragmented output.Support edit: Above exe download link has stopped working. Drakier has provided the original and a slightly modified download for the exe and source code (adds version number), as well as linux friendly code:Usage Instructions:Run it. If that fails, drag and drop the Content.ggpk from your Path of Exile folder on it.Don't use this.

The ggpk file contains many files and folders. It can also contain tons of wasted space. When the patcher adds or updates a file or directory, instead of moving around all the data in the 3+GB pack, it'll just mark that file or directory as free space.Unfortunately, the way it does this tends to create thousands of free blocks that don't get used.The ruby script he linked copies directories and files to a new ggpk, but not the list of free blocks.didn't look at the executable ;|Amusingly, it also incorrectly calls hash key for each directory entry a time stamp. :P