Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

[RELEASED] DarkPatcher - Patcher & Launcher

Discussion in 'Assets and Asset Store' started by witcher112, Jul 30, 2014.

  1. rickcollette

    rickcollette

    Joined:
    Mar 17, 2013
    Posts:
    304
    Is anyone downloading and showing release notes in the patcher? If so; can you share the method?

    thanks!
     
  2. rickcollette

    rickcollette

    Joined:
    Mar 17, 2013
    Posts:
    304
    So; I found this on one of the Unity3d Q&A things:

    Code (csharp):
    1.  
    2. #pragma strict
    3.  
    4.  
    5. var rel_notes_url = "";
    6. var rel_notes_www : WWW;
    7. var spamLimiter = false;
    8.  
    9. function Start() {
    10.     rel_notes_www= new WWW(rel_notes_url);
    11.     yield rel_notes_www;
    12.     Debug.Log ("WEB TEXT: "+rel_notes_www.text);
    13. }
    14.  
    15. function Update() {
    16.     if(rel_notes_www.progress<1) {
    17.         print ("loading"+rel_notes_www.progress);
    18.     }
    19.     else if(!spamLimiter) {
    20.         Debug.Log(rel_notes_www.text);
    21.         //spamLimiter = true;
    22.     }
    23.      
    24. }
    25.  
    two problems with this:

    1) If I create a text entity in the canvas, how do I make the Text field = rel_notes_www.text?
    2) It seems to only download the first two lines of text from the text file stored on the web server I point to (as seen in the logs)

    thanks!
     
  3. bradshep

    bradshep

    Joined:
    Jan 5, 2014
    Posts:
    53
    I'm having an error where .app's just won't open on some OSX clients after the patcher downloads (next to executable). OSX "can't open the file." What could be causing this? And, sometimes the patcher will just stay at 0% and flash to 100% but can't start (windows).

    Also, serializing anything that has to do with version info would be awesome!
     
  4. witcher112

    witcher112

    Joined:
    Mar 20, 2014
    Posts:
    70
    Sorry but it is really required for DarkPatcher to work since it has to download and executable file and run it.
     
  5. witcher112

    witcher112

    Joined:
    Mar 20, 2014
    Posts:
    70
    Hello :)

    Can you please send me a log file on witcodeprogramming@gmail.com ?

    Thanks in advance!
     
  6. rickcollette

    rickcollette

    Joined:
    Mar 17, 2013
    Posts:
    304
    @witcher112 hi - i emailed + posted here.. is there another way to get a support question answered? I want to make sure i am using the right medium for communication.

    thanks!
     
  7. rickcollette

    rickcollette

    Joined:
    Mar 17, 2013
    Posts:
    304
    it has been for me.
     
  8. RealSoftGames

    RealSoftGames

    Joined:
    Jun 8, 2014
    Posts:
    220
    has anyone gotten this to actually work? i cant seem to get the downloads working.
     
  9. witcher112

    witcher112

    Joined:
    Mar 20, 2014
    Posts:
    70
    Please email me if possible. Unity notification fails often :/
     
  10. witcher112

    witcher112

    Joined:
    Mar 20, 2014
    Posts:
    70
    It is compatible - but please remember to change build target to Standalone.
     
  11. mwituni

    mwituni

    Joined:
    Jan 15, 2015
    Posts:
    345
    Hi,

    Thanks for this amazing tool.

    I have a feature request that I believe will be very useful to many users :

    When users select to compress their files, it would be really useful to have a "Max Filesize" parameter with the ability to split the compressed file into parts, that will be re-assembled after download. (something like a split zip file I guess)

    For two main reasons:

    1) Many Shared hosting providers have a limit on the filesize that can be uploaded, eg. 500mb. So an option to keep files under that is important. On large scenes without asset bundling, sharedasset files can be really large.

    2) Many end-users have dodgy network connections. So having smaller files makes much more sense when there are random download failures.

    Thanks and keep up the excellent work ethic.
     
  12. mwituni

    mwituni

    Joined:
    Jan 15, 2015
    Posts:
    345
    Yes. It certainly works, and really well!

    It can be a little confusing at first. Initially I battled with the concept of separation between the patcher app, and the (game) content. They are two totally different things, ideally seperate projects. Once the patcher app is built, no need to touch it (unless you want to, and that can be patched as well - as in one video). You just then manage the "content" - which is essentially your built game folder releases (with some version control text files) through the admin tool -ie. add a new version, compress it etc, then use a FTP tool to upload the new compressed files etc to your deployment folder.
     
  13. mwituni

    mwituni

    Joined:
    Jan 15, 2015
    Posts:
    345
    Did you get this working?
    Would be really useful to have release notes.
    Thx
     
  14. rickcollette

    rickcollette

    Joined:
    Mar 17, 2013
    Posts:
    304
    ill test this out today and let you know..
     
  15. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,238
    I've been using DarkPatcher successfully for several months, but have a problem now with a new build. Oddly, the Windows build works fine, but I get an error when trying to process the Mac build. I've been trying to contact Tomasz with no luck, so hoping maybe somebody else here has an idea about it. The build's filename is exactly the same as before, and I can't see any reason for this error:

    [EXCEPTION] System.NullReferenceException: Object reference not set to an instance of an object
    at DarkPatcherProject.Project.SearchForName (System.String name) [0x00066] in (path....)GameLauncher/Assets/Plugins/DarkPatcher/Dev/DarkPatcherProject/Project.cs:168
    at DarkPatcherProject.Project.AddVersion (System.String name, DarkPatcherProject.ProjectFile[] files, System.Action`1 progress) [0x0003f] in (path....)GameLauncher/Assets/Plugins/DarkPatcher/Dev/DarkPatcherProject/Project.cs:557
    UnityEngine.Debug:LogError(Object)
    DarkLogger.Unity.LogWriter:Write(String, LogType) (at Assets/Plugins/DarkPatcher/Scripts/DarkLogger/Logger.cs:39)
    DarkLogger.Unity.LogWriter:WriteAndSave(String, LogType) (at Assets/Plugins/DarkPatcher/Scripts/DarkLogger/Logger.cs:59)
    DarkLogger.DebugLogger:Write(String, LogType, Boolean, Boolean)
    DarkLogger.DebugLogger:Exception(Exception, Boolean)
    DarkPatcherProject.Project:AddVersion(String, ProjectFile[], Action`1) (at Assets/Plugins/DarkPatcher/Dev/DarkPatcherProject/Project.cs:676)
    DarkPatcher.UnityEditor.ProjectEditor:OnProjectNewVersionGUI() (at Assets/Plugins/Editor/DarkPatcher/Scripts/DarkPatcher/ProjectEditor.cs:563)
    DarkPatcher.UnityEditor.ProjectEditor:OnGUI() (at Assets/Plugins/Editor/DarkPatcher/Scripts/DarkPatcher/ProjectEditor.cs:796)
    UnityEditor.DockArea:OnGUI()
     
  16. MegaFlash

    MegaFlash

    Joined:
    Dec 29, 2014
    Posts:
    18
    Am also wondering if anyone made it so we can have release not wokring
     
  17. Junuxx

    Junuxx

    Joined:
    Sep 18, 2014
    Posts:
    16
    Hi @witcher112 ,

    I have a Mac user reporting that after installation, the patcher seems to correctly download everything, but then fails to launch my game. For other Mac users it's working just fine, so I'm not sure what's going on. Upon investigation, it appears like there is a problem with the app permissions. Could this be an issue with DarkPatcher and OSX Yosemite's System Integrity Protection feature?

    Final section of patcher's output_log.txt:
    Code (csharp):
    1.  
    2. [LOG] Patcher has succeed
    3.  
    4. (Filename: /Users/builduser/buildslave/unity/build/artifacts/MacStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 56)
    5.  
    6. Null
    7.  
    8. (Filename: /Users/builduser/buildslave/unity/build/artifacts/MacStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 56)
    9.  
    10. [LOG] Starting executable at /Users/apu/.config/Axon/Axon.app
    11.  
    12. (Filename: /Users/builduser/buildslave/unity/build/artifacts/MacStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 56)
    13.  
    14. [LOG] Patcher has been canceled
    15.  
    16. (Filename: /Users/builduser/buildslave/unity/build/artifacts/MacStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 56)
    17.  
    18. [LOG] Patcher has been canceled
    19.  
    20. (Filename: /Users/builduser/buildslave/unity/build/artifacts/MacStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 56)
    21.  
    22. LSOpenURLsWithRole() failed for the application /Users/apu/.config/Axon/Axon.app with error -10810.
    23. --------------------------------Closing--------------------------------
    24.  
    25. (Filename: /Users/builduser/buildslave/unity/build/artifacts/MacStandalonePlayerGenerated/UnityEngineDebug.cpp Line: 56)
    26.  
     
  18. carsenk

    carsenk

    Joined:
    Jan 13, 2016
    Posts:
    85
    Just purchased! Will edit my post with an update :)
     
  19. LoftyTheMetroid

    LoftyTheMetroid

    Joined:
    Oct 26, 2012
    Posts:
    57
    So, our team purchased DarkPatcher and I've been trying to get a simple demo working before I try to integrate it into our main project. I thought I could just follow the video tutorial here, but already I'm having issues where my project is not producing the same results seen in the video.

    I've created a new branch and added new versions of two slightly different builds. However, when I go to the versions tab, the "Deploy Patch" buttons are grayed out, so it seems like I can't create a patch...? (See the attached screenshot.) I'm using OSX and Mac builds if that makes a difference.

    Does anybody know why this might be happening? I tried emailing the author last week and have not received a response. This is a little frustrating since this is our second patching software package we've purchased. I'd hate to have to move on to a third package...
     

    Attached Files:

  20. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,238
    We're using it successfully on Macs. Tomasz used to be very prompt and responsive, but hasn't been lately, I don't know why.

    Does the new build have the exact same name as the original build? Any errors in the console after importing the new build?
     
  21. LoftyTheMetroid

    LoftyTheMetroid

    Joined:
    Oct 26, 2012
    Posts:
    57
    No, it's not the same name. I named them "PatchBuild_V1" and "PatchBuild_V2". The first is just a camera looking at a cube floating in space, and the second has the cube rotating with a newly attached script and a new texture.

    No, I didn't see any console errors when adding the builds as versions. I'll start a new project and try one more time. EDIT: Nope, I don't see any console errors.

    I'm also on Unity 5.2.2 if that makes a difference.
     
    Last edited: May 16, 2016
  22. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,238
    I think they have to have the exact same name. (I put each new build in a folder with the version number, so the build itself can have the same name)
     
  23. LoftyTheMetroid

    LoftyTheMetroid

    Joined:
    Oct 26, 2012
    Posts:
    57
    Ah, that makes sense! Seems like it's working now! (I feel a little silly now, but at the same time it's kinda weird that it doesn't complain or otherwise indicate that this assumption is being made.)

    I'll be able to test and play with it more in the morning when I get back into the lab. Hopefully I won't encounter anymore issues.
     
  24. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,238
    I think I made the same mistake originally.
     
  25. LoftyTheMetroid

    LoftyTheMetroid

    Joined:
    Oct 26, 2012
    Posts:
    57
    (First, I just want to thank gecko for helping me out, and not just with the previous exchange. Going through the thread, he was asking a lot of the same questions I was and reading through his exchanges helped me figure out how to solve some of my problems getting DarkPatcher set up.)

    Okay, so I've done some more tests over the past couple days, and here are my findings.

    I'll foreword this by saying it should be known that our project is huge. Our builds hover a little over 10 gigs.

    With that in mind, it appears as if our patches can be enormous in size despite very, very small small changes (as in, I simply added a basic scene with a cube and text to the build settings). Maybe I'm misreading the DarkPatcher file structure, but in one of our deploy folders, the file in the patch folder was 4.77 GB. In another deployed version with a similarly small change, the patch was 345.5 MB. I'm not sure if I'm misinterpreting these files or how they're used, but if they are as they appear, these patches are incredibly unwieldy and difficult to deploy.

    The other major issue we're having is reopening the launcher. This didn't happen in my small test demo, but working with our actual game project, every time I reopened the launcher it appeared as if it was trying to redownload the entirety of the game files again (all 21,596 of them). It seemed to think that it had the current version, displaying "2.0.0.0" in the corner rather than "1.0.0.0", but that doesn't stop the redownload. And granted, the redownload seems much faster compared to the initial download... so I'm not sure what to make of that?

    Has anyone encountered these issues or ones similar to them? I'm hoping I just have some options set incorrectly or files misplaced.
     
  26. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,238
    Our builds are about 1.4GB, and minor changes generate 4-8mb patches. So something does seem to be goofy on your end. (However, we're using Unity 4.7 for this project; I have no idea if U5 might cause complications. Wouldn't suprise me with Enlighten...)

    I wonder if it's an issue with the patch folders on the server somehow?
     
  27. LoftyTheMetroid

    LoftyTheMetroid

    Joined:
    Oct 26, 2012
    Posts:
    57
    I'll play around with it and see if there's anything that can be done. Regarding the second point about the "redownloading", I wonder if I'm mistaken and it's just verifying the integrity of the game or something. It is quite fast compared to the initial download. Is that expected behavior?
     
  28. LoftyTheMetroid

    LoftyTheMetroid

    Joined:
    Oct 26, 2012
    Posts:
    57
    Going through the console, during the "redownload" phase I mentioned, it does seem to mention a lot of file downloading, such as the following:

    ...Even though the downloaded build was already at 3.0.0.0.

    But after a number of lines like that (which doesn't take very long to get through), the vast majority of the time is spent on lines that are variations of these:

    Basically, a lot of GI-related items followed by "Setting all permissions".
     
  29. Ignatios

    Ignatios

    Joined:
    May 24, 2016
    Posts:
    15
    I am having a large amount of issues...I followed the tutorial exactly as it says and it doesn't even begin an initial download of the game....I export my game into a folder, so it has the .exe, the folder and the other 2 files....I use that whole folder when I select my version...I am using 00webhost, is that why maybe?
     
  30. Ignatios

    Ignatios

    Joined:
    May 24, 2016
    Posts:
    15
    So I tested it by downloading straight from my computer using that directory, worked fine...Now, it is at the point where it says it downloads fine in the error message logs, but application stays closed...any help greatly appreciated
     
  31. LoftyTheMetroid

    LoftyTheMetroid

    Joined:
    Oct 26, 2012
    Posts:
    57
    So, I finally figured out what was going on with our huge patch sizes.

    Following some hints I got from another developer's blog post on his patching experiences (http://bikgame.com/patching-game/), the problem doesn't seem to be with DarkPatcher specifically (or, at least, solely). Rather, it has to do with the fact that Unity's Resources folder is not particularly conducive to traditional diffing algorithms. Just a minor change to an item in the Resources will create a new resources file that must be included in its entirety in the patch.

    Given that we had gigs of art assets in our Resources folder... that would explain the huge patch sizes. After I excluded the art assets from Resources, our patch size dropped to 85MB (which is still larger than I hoped for what should have been a minor change, but much, much, much better for our users than another 10GB download...).

    Now the question is, how do we restructure our project to not use Resources? I think the answer might lie in local AssetBundles, but I don't know if that will necessarily be any better when it comes to patch size. (Seeing as how DarkPatcher might be abandoned now as well, I might need to look into an alternative patching solution, like P.A.T.C.H. or MG Patcher Tools.)

    If anyone has experience on this front (particularly with regards to Resources + patching), let me know!
     
  32. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,623
    MG Patcher is currently on sale, and the blurb says it includes source code, which - if so - would be a first for an asset store patcher plugin, so far as I know.

    As for the asset bundles ... I worry that you might run into the same problem with asset bundles, as I've read that the Resource file is just an asset bundle.

    However, Unity is supposed to be making asset bundles easier to use, so maybe this kind of issue is something that is being addressed.
     
  33. LoftyTheMetroid

    LoftyTheMetroid

    Joined:
    Oct 26, 2012
    Posts:
    57
    Well, the idea would be that, rather than having one AssetBundle for the entire game, it would be divided into multiple smaller AssetBundles, like Characters or Environments. So, if an asset needs to be patched, the patch would only need to include the AssetBundle containing the asset, and not the entirety of Resources. (Of course, this is in theory.)
     
  34. BMW520

    BMW520

    Joined:
    Sep 6, 2016
    Posts:
    1
    Hi I Have A Problem :

    Always the Fail in the Output.log

    Patching Stopping by : globalgamemanagers

    //

    [EXCEPTION] DarkPatcher.Compression.DecompressionFailedException: Failed to decompress file C:/Users/Pascal/Documents/Launcher/Launcher_Data/download/current/test_Data/globalgamemanagers ---> ICSharpCode.SharpZipLib.Zip.ZipException: Size mismatch: 7970;20344 <-> 3221;14207
    at ICSharpCode.SharpZipLib.Zip.ZipInputStream.BodyRead (System.Byte[] buffer, Int32 offset, Int32 count) [0x00000] in <filename unknown>:0
    at ICSharpCode.SharpZipLib.Zip.ZipInputStream.Read (System.Byte[] buffer, Int32 offset, Int32 count) [0x00000] in <filename unknown>:0
    at DarkPatcher.Compression.Compression.Decompress (System.String filePath) [0x00000] in <filename unknown>:0
    --- End of inner exception stack trace ---
    at DarkPatcher.Compression.Compression.Decompress (System.String filePath) [0x00000] in <filename unknown>:0
    at DarkPatcher.Launcher.Launcher.CurrentFile (DarkPatcher.Data.FileData localFileData, DarkPatcher.Data.VersionData sourceApplicationVersionData) [0x00000] in <filename unknown>:0

    (Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

    [ERROR] Exception has occured

    (Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

    [ERROR] Failed to get current file

    (Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

    Failed to process file.

    (Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)

    [LOG] Patcher has been canceled

    (Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37)


    //

    The Full Output_Log is Attach
     

    Attached Files:

  35. MHolmstrom

    MHolmstrom

    Joined:
    Aug 16, 2012
    Posts:
    115
    100:th time I try this, I upload as binary but Failed to process file. DEFAULTWSDLHELPGENERATOR keeps getting failed downloaded, I'm getting frustrated..
     
  36. rickcollette

    rickcollette

    Joined:
    Mar 17, 2013
    Posts:
    304
    is this still supported?
     
    KEMBL likes this.
  37. Nexam

    Nexam

    Joined:
    May 14, 2016
    Posts:
    28
    Hello.
    I implanted Darkpatcher for my project, and worked like a charm so far.
    Got a stupid question however: How can i check my version from the game ? On windows i can probably just read the version file, but on mac i think the structures it's a bit different. Anyway... what is the best way to check the version of the game from all platform ?
     
  38. jagatai33

    jagatai33

    Joined:
    Feb 2, 2016
    Posts:
    165
    Is this product compatible with v5.6?
     
  39. tequyla

    tequyla

    Joined:
    Jul 22, 2012
    Posts:
    335
    hello,

    is possible to update the asset with some new improvments?

    +++
     
    pixelR and Abuthar like this.
  40. mdsmith98

    mdsmith98

    Joined:
    Feb 17, 2014
    Posts:
    9
    Anyone able to use this with Unity 2017+? Anytime I click on one of my created branched, the console throws out this error