FileForums

FileForums (https://fileforums.com/index.php)
-   Conversion Tutorials (https://fileforums.com/forumdisplay.php?f=55)
-   -   Best Compression Methods for 'Specific' Games. Q&A (https://fileforums.com/showthread.php?t=99554)

Dunnowho69 19-04-2026 07:41

What is the best compression method for .unity3d files ? Does it vary from game to game ?

KaktoR 19-04-2026 07:43

Mostly same as bundle files.

The file from that MOUSE game use lz4hc,l12 I guess

wareck 19-04-2026 07:44

yes i try but recover file have not the same size... and give crc error...
i also try -w -r -r and hdiff , but too big and to slow to recover

shazzla 19-04-2026 10:46

Use unity plugin with the correct lz4 dll.
It must br good...

Dunnowho69 20-04-2026 00:55

Is there a easier way to find the correct version of zstd,lz4,oodle etc or do you just sit and test'em all one by one? :p

KaktoR 20-04-2026 01:06

You can just anticipate the range of libraries. This comes simply with experience over the years.
Examples: UE4/5 games will most likely never use 4.x libraries of oodle (the lowest I've seen is 2.7x in UE4, 2.8x in UE5).
Unity engine will use most likely 1.9+ of lz4 libraries (if the files are compressed).
I suggest using xtoolui for this purpose.

hwang4 23-04-2026 16:22

Atomic Heart - Ultimate Edition
 
1 Attachment(s)
best compression method ?

wareck 23-04-2026 23:46

Quote:

Originally Posted by hwang4 (Post 509926)
best compression method ?

For this file (maybe not realy representative for the full game)

it's: xtool:mreflate+srep+lolz_normal
No ecryption, no oodle, zlib like compression

KaktoR 24-04-2026 21:24

WWE 2K24

Code:

22:11:15 - Selected ARC/DS method for Data1a-01.bin was: xtool:mhydra:core_2.9.14:lib_2:dd3:l10,d128mb
 22:11:15 - Selected ARC/DS method for Data1c-01.bin was: xtool:dd3:l10,d128mb
-----------------------------------------------------------------------------------------------------------------------------------------
 04:48:25 - Overall input size: 105,99 GB
 04:48:25 - Overall output size: 84,96 GB (Ratio 80.16%)
 04:48:25 - Overall conversion time: 06:37:08

Decompression took about 1,5-2 hours
The game use oodle hydra compression (same as 2K25 and 2K26) so without any plugin this is the best approach to use it
Extracted and processed Wwise audio


WWE 2K25

Code:

00:56:15 - Selected ARC/DS method for Data1a-01.bin was: xtool:mhydra:core_2.9.12:lib_2:dd3:l10,d128mb
 00:56:15 - Selected ARC/DS method for Data1c-01.bin was: xtool:dd3:l10,d128mb
-----------------------------------------------------------------------------------------------------------------------------------------
 08:56:28 - Overall input size: 114,75 GB
 08:56:28 - Overall output size: 88,34 GB (Ratio 76.99%)
 08:56:28 - Overall conversion time: 08:00:11

Decompression took about 1,5-2 hours
The game use oodle hydra compression so without any plugin this is the best approach to use it
Extracted and processed Wwise audio


WWE 2K26

Code:

23:23:47 - Selected ARC/DS method for Data1a-01.bin was: xtool:mhydra:core_2.9.14:lib_2:dd3:l10,d128mb
 23:23:47 - Selected ARC/DS method for Data1b-01.bin was: xtool:lm:c1792mb:mbik:mbk2:df20p
 23:23:47 - Selected ARC/DS method for Data1c-01.bin was: xtool:dd3:l10,d128mb
-----------------------------------------------------------------------------------------------------------------------------------------
 11:18:45 - Overall input size: 160,84 GB
 11:18:45 - Overall output size: 107,42 GB (Ratio 66.78%)
 11:18:45 - Overall conversion time: 11:54:56

Decompression took about 1,5-2 hours
The game use oodle hydra compression so without any plugin this is the best approach to use it
Extracted and processed Wwise audio and bink2 videos

JustFun 27-04-2026 19:52

Rayman Legends

Code:

Selected ARC/DS method for Data1a-01.bin was:
mpreflate+srep_new:490g+razor_mtx
------------------------------------------------------------------------------------------
Overall input size: 5,46 GB
Overall output size: 2,64 GB (Ratio 48.31%)


Dunnowho69 27-04-2026 19:57

Quote:

Originally Posted by wareck (Post 509877)
work in progress ...

Data1.bin (*.pak excepted pakchunk10-Windows.pak pakchunk16-Windows.pak)


and maybe better with aes :


For data2 and data3:
pakchunk10-Windows.pak have a lot of small wem files. not very efficient with wemtool.
better to compress with razor than lolz.


pakchunk16-Windows.pak is several bink2 videos who are not compressible with binkpack.
easy way is to again use razor


I'm working on extract bk2 form this .pak to makes a process with lolz and bk2 with other compressor.
but due to AES i cant' use xtool/ringi/mesa to extract/recover files.
I'm working with a bms script in attachment

Can you share the final size and installation time ?

wareck 27-04-2026 23:10

Quote:

Originally Posted by Dunnowho69 (Post 509953)
Can you share the final size and installation time ?

Hello
I haven't finish yet.
I'm working on it, it's take time, it's around 17 hours to do a full compress.
My last test is around 98gb compressed with all stuff (bonus + full game) and take 2 hour to uncompress

For now i'm not satisfy about results

wrathma 29-04-2026 05:36

whats the error here ? my machine has 6c12t + 16gb ram. tried on another similar machine, same results.
Code:

FreeArc 0.67 (March 15 2014) creating archive: data1.bin
Compressing 202 files, 20,707,514,776 bytes. Processed  10.0%
Compressing 20,707,514,776 bytes with "SREP\srep.exe" -hash- -m3f -c256 -l256 -a0/0 InFile OutFile
 10.0%SREP 3.93a beta (October 11, 2014): input size 19748 mb, memory used 2380 mb, -m3f -l256 -c256 -a0/0 -hash- -b8mb
100%: 20,707,514,776 -> 9,475,155,108: 45.76%.  Cpu 99 mb/s (200.203 sec), real 90 mb/s (219.252 sec) = 91%.  Remains 00:00
Sorting matc 10.0%  Second pass: 18.0%  Remains 00 10.0%
Errorlevel=-1073741819
 10.0%
ERROR: general (de)compression error in srep


wareck 29-04-2026 05:42

Hello
there is something wrong during the pass2 (recheck)
it's more or less like a CRC error in memory during rebuild dedup
You can try another version of srep (3.2 o the 4)
Or you can try to change config:

Quote:

packcmd = "srep.exe" -hash- {options} InFile OutFile
to
Quote:

packcmd = "srep.exe" -hash=vmac {options} InFile OutFile
it will add some crc check in the srep file.
In some case it work with a slighty lower ratio.

wrathma 29-04-2026 07:35

thanks for the help wareck, using 3.92b fixed it.

KaktoR 29-04-2026 10:16

-hash- just means there will be no crc check for srep. I added it because freearc already do this, so there is no need to make two crc checks, which will slow down things a bit.

wareck 29-04-2026 18:58

Pathologic3
 
For pathologic3 :

Quote:

data1: xtool:c32mb:munity,lz4hc,l12:dd3+LOLZ_NORMAL
data2: xtool:dd3+bcm or xtool:dd3+bzip3
data3: xtool:mzlib:mpreflate+srep_new:490g+razor
there is some .bank files, can be processed outdside diskspan.
My results with the last game update 26.5gb

Dunnowho69 29-04-2026 19:50

Quote:

Originally Posted by KaktoR (Post 509967)
-hash- just means there will be no crc check for srep. I added it because freearc already do this, so there is no need to make two crc checks, which will slow down things a bit.

Is there no way to disable 2nd pass ? :p

KaktoR 30-04-2026 09:24

Seond pass writes data...

Dunnowho69 30-04-2026 20:04

Quote:

Originally Posted by KaktoR (Post 509975)
Seond pass writes data...

Oh, I thought it as something else :)

Dunnowho69 01-05-2026 07:30

I know splitting file into multiple archives causes increase in size but how much exactly ? I splitted Black Myth Wukong into 4 and the final size is almost 102 whereas it should be around 96-97, or did i mess up some other thing? Used -d96m/128m -mtt1 -mt10 -mc1023 for lolz. Precompression as per wareck. Another thing I noticed that DODI used oo2reck+oo2recm and got to 94.95GiB with a single archive

wrathma 01-05-2026 11:57

Quote:

Originally Posted by Dunnowho69 (Post 509988)
I know splitting file into multiple archives causes increase in size but how much exactly ? I splitted Black Myth Wukong into 4 and the final size is almost 102 whereas it should be around 96-97, or did i mess up some other thing? Used -d96m/128m -mtt1 -mt10 -mc1023 for lolz. Precompression as per wareck. Another thing I noticed that DODI used oo2reck+oo2recm and got to 94.95GiB with a single archive

what do you mean splitting ? cls-diskspan split archive ? or splitting the game files into different archives to use different compression on them? like this one

wrathma 01-05-2026 12:31

Frontier Paladin
 
Pre-processing:

inside Paladin\Content\FMOD\Desktop you will find many .bank files.
extract all of them using bnkextr. you will find a lot of .ogg and some
other files. merge all *.ogg files into a single solid file solid.ogg using
bincat or anything else. delete the rest of the extracted files. make a
hdiff patch from solid.ogg to Paladin\Content\FMOD\Desktop without
any compression.

Archives:
  • Archive 1 - Paladin\Content\Paks\Paladin-WindowsNoEditor.pak
    use oodle dll v2.9.5
    Code:

    xtool:mermaid+kraken+srep+lolz
  • Archive 2 - *.mp4 *.mov
    Code:

    zstd, or you can use bz3 (better ratio but slower unpack)
  • Archive 3 - solid.ogg
    Code:

    oggre
  • Archive 4 - diff file
    Code:

    msc:raw:wav
  • Archive 5 - everything else
    Code:

    dispack070+delta+razor

Final Size
Code:

input      -> 11,429 MB
compressed  ->  7,620 MB


Dunnowho69 01-05-2026 12:41

Quote:

Originally Posted by wrathma (Post 509991)
what do you mean splitting ? cls-diskspan split archive ? or splitting the game files into different archives to use different compression on them? like this one

splitting the game files into different archives.....though i used same method for all of them just had to do because of storage

wrathma 01-05-2026 12:54

Quote:

Originally Posted by Dunnowho69 (Post 509993)
splitting the game files into different archives.....though i used same method for all of them just had to do because of storage

thats valid. size increased because you split the games on 5 different 20 gb (i guess) archives. and compressed them separately. if you had compressed 100gb at once in a single archive you would atleast get "a little" better results. this goes for almost any data.

Dunnowho69 01-05-2026 12:59

Quote:

Originally Posted by wrathma (Post 509994)
thats valid. size increased because you split the games on 5 different 20 gb (i guess) archives. and compressed them separately. if you had compressed 100gb at once in a single archive you would atleast get "a little" better results. this goes for almost any data.

Yeah I have known that too, but for Black Myth Wukong I splitted 138GB into 4, 44.6,43.6,31.8 and 18, but the size is almost 6GB bigger than expected, that's why I was if this were because of the split or something else
Code:

-mue5:k0xA896068444F496956900542A215367688B49B19C2537FCD2743D8585BA1EB128+kraken+mermaid -c128mb -t90p -d1 --dbase
used this for precomp with oodle 2.9.5

Masquerade 01-05-2026 13:12

Quote:

Originally Posted by Dunnowho69 (Post 509995)
that's why I was if this were because of the split or something else

Splitting the data up like this will result in duplicated data not being sufficiently removed, thus greater final archive size.

Dunnowho69 01-05-2026 13:22

Quote:

Originally Posted by Masquerade (Post 509996)
Splitting the data up like this will result in duplicated data not being sufficiently removed, thus greater final archive size.

Got it, will try redoing it then : ((

wareck 02-05-2026 21:07

for now for Black Myth Wukong the best i've done is 96.9Gb
(full game, with optional bonus)

Quote:

xtool:c32mb:d1:mkraken:mmermaid:core_2.9.5+srep_ne w:490g+LOLZ_NORMAL
Data1 is all .pak
Data2 all other

I do not use mue4 because it makes installation very slow and some time crc error
(yes it's mue4 n mue5 do not work for this game )

I'm working on a new test, with bk2 extracted form pak16. just to check if give better ratio

Dunnowho69 08-05-2026 13:22

Can anyone share best compression method for Stellar Blade ?

KaktoR 08-05-2026 13:31

unreal engine crap.

do the usual I guess.

Dunnowho69 08-05-2026 13:51

Quote:

Originally Posted by KaktoR (Post 510040)
unreal engine crap.

do the usual I guess.

https://gofile.io/d/cG8kGN

Here is the sample, still can't really find out what to use properly :(

KaktoR 08-05-2026 14:16

1 Attachment(s)
Use -mkraken and use the attached library

Code:

Streams: 1506 / 1506
Patched: 0 (0,00 MB)
Time: 00:01:13 (CPU 00:06:51)

Size: 255 MB >> 1,02 GB

Done!!!


KaktoR 14-05-2026 03:46

Indiana Jones and the Great Circle
Version 12th May 2026

Code:

Library loaded: v2.9.12\oo2core_9_win64_2.dll (CRC FCBE6F2C)
Streams: 83 / 85
Patched: 0 (0,00 MB)
Time: 00:00:11 (CPU 00:00:37)
Size: 67,8 MB >> 133 MB


Library loaded: v2.9.12\oo2core_9_win64_3.dll (CRC 31AFBAEB)
Streams: 83 / 85
Patched: 0 (0,00 MB)
Time: 00:00:12 (CPU 00:00:38)
Size: 67,8 MB >> 133 MB


Library loaded: v2.9.13\oo2core_9_win64_6.dll (CRC 41AAB7C9) (from game folder)
Streams: 67 / 85
Patched: 0 (0,00 MB)
Time: 00:00:23 (CPU 00:01:33)
Size: 67,8 MB >> 108 MB

It looks like v2.9.12 library is the correct one here, at least for the sample I have.

You have to specifiy oodle kraken level, otherwise precompression will took forever.
Sample: gameresources_0_hq_patch1.streamdb
Code:

xtool:mkraken,l6
Compressed 1 file, 71,132,775 => 139,054,190 bytes. Ratio 195.49%
Compression time: cpu 0.05 sec/real 6.76 sec = 1%. Speed 10.52 mB/s
All OK

xtool:mkraken
Compressed 1 file, 71,132,775 => 139,054,190 bytes. Ratio 195.49%
Compression time: cpu 0.06 sec/real 12.88 sec = 0%. Speed 5.52 mB/s
All OK

However not all streams can be processed. Either all of the libraries I have are not the correct ones or this is one of the games which requires at least two different libraries to get all streams. I guess the latter is the case here, same as in games like WWE2K19 or Elden Ring.
Because it's idtech engine it is a bit tricky here. I looked through and I don't think plugin is possible, at least not configuration based.

Edit: Looks like resources files are kraken level 4 and you need another library for these files. Like I assumed, I guess it's the same as in other games. Two different libraries for the game files. For resources files it looks like library v2.9.0 is the way to go. The library does not work for streamdb files of course.

Edit 2: Here is the deal.
Code:

streamdb - kraken l6 - oo2core_9_win64.dll (2.9.12_2) CRC FCBE6F2C
streamdb (hq) - kraken l6 - oo2core_9_win64.dll (2.9.12_2) CRC FCBE6F2C
resources - kraken l3/l4/l6 - oo2core_9_win64.dll (2.9.13_6) CRC 41AAB7C9 (from game folder)

Code:

gameresources_10.streamdb - (2.9.12_2) CRC FCBE6F2C
Streams: 14316 / 14339
Patched: 0 (0,00 MB)
Time: 00:03:43 (CPU 00:18:16)
Size: 2,67 GB >> 4,13 GB

gameresources_10_hq.streamdb - (2.9.12_2) CRC FCBE6F2C
Streams: 631 / 638
Patched: 0 (0,00 MB)
Time: 00:04:08 (CPU 00:20:17)
Size: 2,42 GB >> 3,72 GB


gameresources_10.streamdb - (2.9.13_6) CRC 41AAB7C9
Streams: 13254 / 14339
Patched: 0 (0,00 MB)
Time: 00:03:43 (CPU 00:18:16)
Size: 2,67 GB >> 3,65 GB

gameresources_10_hq.streamdb - (2.9.13_6) CRC 41AAB7C9
Streams: 430 / 638
Patched: 0 (0,00 MB)
Time: 00:04:07 (CPU 00:20:12)
Size: 2,42 GB >> 3,19 GB


Dunnowho69 15-05-2026 09:48

Can anyone share the OGGRE_dec couldn't fine anywhere...tried CLS-OGGRE.dll but doesn't work

wrathma 15-05-2026 12:34

1 Attachment(s)
Quote:

Originally Posted by Dunnowho69 (Post 510069)
Can anyone share the OGGRE_dec couldn't fine anywhere...tried CLS-OGGRE.dll but doesn't work

here.
it doesnt work in stdio btw.

Dunnowho69 15-05-2026 15:56

Quote:

Originally Posted by wrathma (Post 510072)
here.
it doesnt work in stdio btw.

How to use it then with inno ? I was trying to use it on .bank files from forza horizon 6, is there another option?

KaktoR 15-05-2026 21:06

bank is most likely fmod audio. there you need other tools like vgmbox and such.

wrathma 16-05-2026 03:05

Quote:

Originally Posted by Dunnowho69 (Post 510073)
How to use it then with inno ? I was trying to use it on .bank files from forza horizon 6, is there another option?

.bank file (atleast in unity games) mostly contains wav or ogg. either way
you have to extract the actual audio data (ogg/wav) from the banks and
then compress them using msc or oggre. and make a diff for the banks
from extracted audio data.
check this thread that explains it.

Masquerade 16-05-2026 11:16

The audio from Forza is adpcm afair so you cannot do much with it.


All times are GMT -7. The time now is 18:40.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.
FileForums @ https://fileforums.com