Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

It takes a very long time to open a file larger than 1 GB. #40

Closed
drongood12 opened this issue May 30, 2021 · 10 comments
Closed

It takes a very long time to open a file larger than 1 GB. #40

drongood12 opened this issue May 30, 2021 · 10 comments

Comments

@drongood12
Copy link

I tried to open a 3 GB file first, waited about 20 minutes, but the program did not open it, I also tried to open a 1 GB file and also waited about 20 minutes, the file still did not open

@nesrak1
Copy link
Owner

nesrak1 commented May 30, 2021

I need a little bit more info...
Did you open a bundle or an assets file?
If it is a bundle, are you opening by memory or file?
What version of unity is the game?

I've yet to see uabea take more than 5 seconds to open even 4gb bundles so obviously something else is going wrong.

@drongood12
Copy link
Author

I tried bundle first, but it crashed immediately when I tried to open it, which is why I had to use UAAE, I took out a file from the bundle without extension, apparently it was an asset and after that I tried to open it already in UBEA, as a result, the program just froze. In UAAE and AssetStudio, the same file opens without problems, but they have a number of drawbacks that UAAE lacks, but it seems not all

@nesrak1
Copy link
Owner

nesrak1 commented May 30, 2021

Since you got a crash with opening the bundle, can you open the bundle again and let uabea crash so you can get the stack trace? This might help me track down the issue you're having.
If you can provide a file or tell me what the game is, it may be easier for me to figure out the issue.

@drongood12
Copy link
Author

  1. Game - Rust
  2. I am using the second release, now I will try to collect the current version from the sources
    If you have this game, you can find the bundle in the game folder Bundles / shared / content.bundle
    If you do not have this game, then you can generate these files as indicated on the wikia https://wiki.facepunch.com/rust/Creating-a-server
    Personally, I did through the second method

@drongood12
Copy link
Author

drongood12 commented May 30, 2021

stack trace:
System.ArgumentOutOfRangeException
HResult=0x80131502
Message = Non-negative number required. Arg_ParamName_Name
Source = System.Private.CoreLib
Stack trace:
at System.IO.BinaryReader.ReadBytes(Int32 count)
at AssetsTools.NET.AssetBundleFile.Unpack(AssetsFileReader reader, AssetsFileWriter writer)
at UABEAvalonia.MainWindow.DecompressToMemory(BundleFileInstance bundleInst) in C:\Users\andrew\Documents\UABEA\UABEAvalonia\MainWindow.axaml.cs:line 498
at UABEAvalonia.MainWindow.<MenuOpen_Click>d__25.MoveNext() in C:\Users\andrew\Documents\UABEA\UABEAvalonia\MainWindow.axaml.cs:line 144

@nesrak1
Copy link
Owner

nesrak1 commented May 30, 2021

Yep, getting the crash and it's because byte arrays in c# only support like 2gb or so. I thought I had updated AssetsTools.NET already to handle larger files but I guess not. I think the real issue is that memory streams are also limited by that size and will require a little bit of reworking with either writing temp files or writing directly into the decompressed file. But not really an issue with UABEA. I'll keep you posted.

@drongood12
Copy link
Author

Wonderful, thank you

@nesrak1
Copy link
Owner

nesrak1 commented May 30, 2021

Latest build opens content.bundle, let me know if it works for you.
This still won't fix actually compressed assets, but it will open uncompressed ones by skipping the decompression process.

@drongood12
Copy link
Author

drongood12 commented May 30, 2021

Yes, bundle is now open, thanks, I also hope for a quick fix of the problem with assets

@nesrak1
Copy link
Owner

nesrak1 commented May 30, 2021

Glad it works. I pushed changes to AssetsTools.NET to support large compressed bundles so once that gets a new release, UABEA will be able to use it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants