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. witcher112

    witcher112

    Joined:
    Mar 20, 2014
    Posts:
    70
    You don't have to select anything. Just upload all of the files from deployed folder. It was designed to work in that way.

    Cheers!
     
  2. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,238
    If I uploadall the files from the deployed folder, that includes folder "01 11 2015" -- which will overwrite the "01 11 2015" that's already on the server, which contains the full game, hence erasing the full game from the server. So you mean upload all contents of the deploy folder, but don't overwrite the "current_compressed" folder, right? I think I got that now.

    And similarly for the Mac: Upload all the *contents* of the deploy folder and subfolder, but don't overwrite the original "current_compressed" folder.

    If that's the correct procedure, then I think I understand now, but it it not clearly described in the documentation.
     
  3. witcher112

    witcher112

    Joined:
    Mar 20, 2014
    Posts:
    70
    You're correct.

    Cheers
     
  4. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,238
    Okay. The Mac patch works great. But on Windows, the patcher process fails. Here's the output log. (I looked for that file, "C:\Users\Public\Documents\MyGame-Win\MyGame-Win_Data\Managed\xdelta\xdelta3_win.exe" but there's no "xdelta" folder inside the "Managed" folder.)

    [LOG] Successfuly downloaded file

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

    [LOG] Patching file C:/Users/eduweb/AppData/Local/MyGame/MyGame.exe to C:/Users/eduweb/AppData/Local/MyGame/download/temp_patched/MyGame.exe.patched

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

    [EXCEPTION] DarkDiff.PatchPatchFailedException: Failed to apply patch from C:/Users/eduweb/AppData/Local/MyGame/download/patch/MyGame.exe.patch to C:/Users/eduweb/AppData/Local/MyGame/MyGame.exe and save it to C:/Users/eduweb/AppData/Local/MyGame/download/temp_patched/MyGame.exe.patched ---> DarkDiff.PatchPatcherFailedException: Failed to apply patch from C:/Users/eduweb/AppData/Local/MyGame/download/patch/MyGame.exe.patch to C:/Users/eduweb/AppData/Local/MyGame/MyGame.exe and save it to C:/Users/eduweb/AppData/Local/MyGame/download/temp_patched/MyGame.exe.patched ---> DarkDiff.XDeltaRunException: Failed to run xdelta at path C:/Users/Public/Documents/MyGame-Win/MyGame-Win_Data/Managed/xdelta/xdelta3_win.exe with arguments -d -f -s "C:/Users/eduweb/AppData/Local/MyGame/MyGame.exe" "C:/Users/eduweb/AppData/Local/MyGame/download/patch/MyGame.exe.patch" "C:/Users/eduweb/AppData/Local/MyGame/download/temp_patched/MyGame.exe.patched" ---> System.IO.IsolatedStorage.IsolatedStorageException: Could not find a part of the path "C:\Users\Public\Documents\MyGame-Win\MyGame-Win_Data\Managed\xdelta\xdelta3_win.exe"

    at System.IO.FileSystemInfo.set_Attributes (FileAttributes value) [0x00000] in <filename unknown>:0

    at (wrapper remoting-invoke-with-check) System.IO.FileSystemInfo:set_Attributes (System.IO.FileAttributes)

    at DarkNet20.System.IO.File.SetAllPermissions (System.String path) [0x00000] in <filename unknown>:0

    at DarkDiff.XDeltaHelper.RunXDelta (System.String arguments) [0x00000] in <filename unknown>:0

    --- End of inner exception stack trace ---

    at DarkDiff.XDeltaHelper.RunXDelta (System.String arguments) [0x00000] in <filename unknown>:0

    at DarkDiff.XDeltaPatcher._Patch (System.String currentFile, System.String patchFile, System.String outputFile) [0x00000] in <filename unknown>:0

    at DarkDiff.Patcher.Patch (System.String currentFile, System.String patchFile, System.String outputFile) [0x00000] in <filename unknown>:0

    --- End of inner exception stack trace ---

    at DarkDiff.Patcher.Patch (System.String currentFile, System.String patchFile, System.String outputFile) [0x00000] in <filename unknown>:0

    at DarkDiff.DiffPatcher.Patch (System.String currentFile, System.String patchFile, System.String outputFile) [0x00000] in <filename unknown>:0

    --- End of inner exception stack trace ---

    at DarkDiff.DiffPatcher.Patch (System.String currentFile, System.String patchFile, System.String outputFile) [0x00000] in <filename unknown>:0

    at DarkPatcher.Launcher.Launcher.PatchFile (DarkPatcher.Data.FileData localFileData) [0x00000] in <filename unknown>:0

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

    [ERROR] Exception has occured

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

    [ERROR] Failed to patch file

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

    Failed to process file.
     
  5. witcher112

    witcher112

    Joined:
    Mar 20, 2014
    Posts:
    70
    Please try to rebuild the launcher. It seems that xdelta binaries haven't copied to it.

    Cheers!
     
  6. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,238
    I rebuilt it, but still no xdelta stuff in Managed--see screenshot.

    (I'm on a Mac, if that matters)
     

    Attached Files:

  7. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,238
    Oh! There is a console error -- but this is odd. I've got the platform set for Windows, so why does it refer to the mac.app version here?

    IOException: /Users/davidtschaller/Desktop/WQLaunchers/MyGame-Mac.app/Contents/Resources/Data/Managed/xdelta/64_xdelta3_linux already exists
    System.IO.File.Copy (System.String sourceFileName, System.String destFileName, Boolean overwrite) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.IO/File.cs:115)
    System.IO.File.Copy (System.String sourceFileName, System.String destFileName) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.IO/File.cs:86)
    DarkPatcher.UnityEditor.Toolbox.PostProcessBuild (BuildTarget buildTarget, System.String buildPath) (at Assets/Plugins/Editor/DarkPatcher/Scripts/DarkPatcher/Toolbox.cs:44)
    UnityEngine.Debug:LogException(Exception)
    DarkPatcher.UnityEditor.Toolbox:postProcessBuild(BuildTarget, String) (at Assets/Plugins/Editor/DarkPatcher/Scripts/DarkPatcher/Toolbox.cs:49)
    UnityEditor.HostView:OnGUI()
     
  8. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,238
    Also: I made the app not available while I uploaded the patch files. I ran the launcher during that time, and the Play Game button was inactive. Seems weird--the player ought to be able to play their game at such times, right? Is that fixable?
     
  9. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,238
    I remove the "MyGame.app" line from the Mac build input field, but now when I build for Windows, it seems to look around on my hard drive to find some other "xdelta" folder. I've built to my desktop and to a deeply nested folder, and both times it gives this error (and doesn't build that library). What the heck is going on?

    IOException: /Users/davidtschaller/Desktop/TitleScene/Library/ScriptAssemblies/xdelta/64_xdelta3_linux already exists
    System.IO.File.Copy (System.String sourceFileName, System.String destFileName, Boolean overwrite) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.IO/File.cs:115)
    System.IO.File.Copy (System.String sourceFileName, System.String destFileName) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.IO/File.cs:86)
    DarkPatcher.UnityEditor.Toolbox.PostProcessBuild (BuildTarget buildTarget, System.String buildPath) (at Assets/Plugins/Editor/DarkPatcher/Scripts/DarkPatcher/Toolbox.cs:44)
    UnityEngine.Debug:LogException(Exception)
    DarkPatcher.UnityEditor.Toolbox:postProcessBuild(BuildTarget, String) (at Assets/Plugins/Editor/DarkPatcher/Scripts/DarkPatcher/Toolbox.cs:49)
    UnityEditor.HostView:OnGUI()
     
  10. witcher112

    witcher112

    Joined:
    Mar 20, 2014
    Posts:
    70
    The problem has been fixed - it was strange Unity bug.

    Cheers!
     
  11. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,238
    So now someone with the Mac version of our game launcher reports that it downloads some files, then says "Patcher failed." However, the Mac version works fine for me. Does this error explain that?

    [LOG] Successfuly downloaded file

    (Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)

    [LOG] Searching for last available current

    (Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)

    [ERROR] Unable to find version with available current file MyGame.app/Contents/MacOS/MyGame

    (Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)

    [ERROR] Failed to get current file

    (Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)

    Failed to process file.

    (Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 64)
     
  12. fammXyShea849

    fammXyShea849

    Joined:
    May 11, 2013
    Posts:
    17
    I just want to point out I'm getting the same error Gecko had when trying to add a new patch, but... I totally have xdelta. I've rebuilt and restarted like 3 times at this point, xdelta exists in both Managed and in DarkPatcher/Library

    The game downloads just fine, but I can't add new patches... Which is pretty frustrating. The weird part, is it lets me add new versions as long as the names aren't the same (Which isn't a workaround at all). So, if version one is "Sorcerer" and version 2 is "Sorcerer2", it applies the version (however it doesn't let me deploy as a patch, of course).

    What is going on???

    upload_2015-11-6_11-41-37.png


    EDIT:
    I can add as many files to version as I like as long as the .exe name isn't the same as the previous one.

    So, I can do "Sorcerer.exe, Sorc.exe, Sorcerer.exe, Sorc.exe, Sorcerer.exe". This doesn't help, because I can't patch.

    P.S. I'm running Windows 10.
     
    Last edited: Nov 6, 2015
  13. RealAspireGames

    RealAspireGames

    Joined:
    Dec 24, 2013
    Posts:
    265
    I am getting an error when trying to download the game files from the launcher. It gets to 80% then it says "Patcher failed" "Failed download for browscap.ini"
    I really do need help with this as I am on a deadline. :)
     
  14. AlanMattano

    AlanMattano

    Joined:
    Aug 22, 2013
    Posts:
    1,500
    Using DarkPatcher What is the difference between a branch and a deploy?
    Or definitions of both. Thanks
     
    Last edited: Nov 16, 2015
  15. Shlemon

    Shlemon

    Joined:
    May 17, 2013
    Posts:
    8
    I tried to send this in a PM since its quite long, but for some reason I was not allowed.

    ------------------------------------------------------------

    Hi, I got the following error log in DarkPatcher using the LauncherUpdater script. It's an Invalid TLS Certificate connection error. The patcher was previously working, and only broke today. The download link it's attempting to access does work, you can check it in a browser. It should have valid certificates, since it's on an Amazon server and did work previously. I'm not sure what has happened or how to fix it.

    If it helps, I was using the example scene for my v1. Today I replaced some parts with my own graphics, and made a version 1.1. I then installed the v1.1 locally using inno. The remote server still has v1, but it doesn't seem to get as far as checking the version number so I don't think that's causing the issue. I then reverted to my v1 commit and that version now triggers the same TLS error.

    Here's the full log:

    Initialize engine version: 5.2.1f1 (44735ea161b3)
    GfxDevice: creating device client; threaded=1
    Direct3D:
    Version: Direct3D 11.0 [level 11.0]
    Renderer: NVIDIA GeForce GTX 980 (ID=0x13c0)
    Vendor: NVIDIA
    VRAM: 3072 MB
    Begin MonoManager ReloadAssembly
    Platform assembly: C:\Program Files (x86)\PatchQuest\PatchQuest_Data\Managed\UnityEngine.dll (this message is harmless)
    Loading C:\Program Files (x86)\PatchQuest\PatchQuest_Data\Managed\UnityEngine.dll into Unity Child Domain
    Platform assembly: C:\Program Files (x86)\PatchQuest\PatchQuest_Data\Managed\I18N.dll (this message is harmless)
    Platform assembly: C:\Program Files (x86)\PatchQuest\PatchQuest_Data\Managed\I18N.West.dll (this message is harmless)
    Platform assembly: C:\Program Files (x86)\PatchQuest\PatchQuest_Data\Managed\Assembly-CSharp-firstpass.dll (this message is harmless)
    Loading C:\Program Files (x86)\PatchQuest\PatchQuest_Data\Managed\Assembly-CSharp-firstpass.dll into Unity Child Domain
    Platform assembly: C:\Program Files (x86)\PatchQuest\PatchQuest_Data\Managed\UnityEngine.UI.dll (this message is harmless)
    Loading C:\Program Files (x86)\PatchQuest\PatchQuest_Data\Managed\UnityEngine.UI.dll into Unity Child Domain
    Platform assembly: C:\Program Files (x86)\PatchQuest\PatchQuest_Data\Managed\UnityEngine.Networking.dll (this message is harmless)
    Loading C:\Program Files (x86)\PatchQuest\PatchQuest_Data\Managed\UnityEngine.Networking.dll into Unity Child Domain
    Platform assembly: C:\Program Files (x86)\PatchQuest\PatchQuest_Data\Managed\DarkDiff.dll (this message is harmless)
    Loading C:\Program Files (x86)\PatchQuest\PatchQuest_Data\Managed\DarkDiff.dll into Unity Child Domain
    Platform assembly: C:\Program Files (x86)\PatchQuest\PatchQuest_Data\Managed\DarkDownloader.dll (this message is harmless)
    Loading C:\Program Files (x86)\PatchQuest\PatchQuest_Data\Managed\DarkDownloader.dll into Unity Child Domain
    Platform assembly: C:\Program Files (x86)\PatchQuest\PatchQuest_Data\Managed\DarkLocalization.dll (this message is harmless)
    Loading C:\Program Files (x86)\PatchQuest\PatchQuest_Data\Managed\DarkLocalization.dll into Unity Child Domain
    Platform assembly: C:\Program Files (x86)\PatchQuest\PatchQuest_Data\Managed\DarkLogger.dll (this message is harmless)
    Loading C:\Program Files (x86)\PatchQuest\PatchQuest_Data\Managed\DarkLogger.dll into Unity Child Domain
    Platform assembly: C:\Program Files (x86)\PatchQuest\PatchQuest_Data\Managed\DarkNet20.dll (this message is harmless)
    Loading C:\Program Files (x86)\PatchQuest\PatchQuest_Data\Managed\DarkNet20.dll into Unity Child Domain
    Platform assembly: C:\Program Files (x86)\PatchQuest\PatchQuest_Data\Managed\DarkPatcher.dll (this message is harmless)
    Loading C:\Program Files (x86)\PatchQuest\PatchQuest_Data\Managed\DarkPatcher.dll into Unity Child Domain
    Platform assembly: C:\Program Files (x86)\PatchQuest\PatchQuest_Data\Managed\DarkPath.dll (this message is harmless)
    Loading C:\Program Files (x86)\PatchQuest\PatchQuest_Data\Managed\DarkPath.dll into Unity Child Domain
    Platform assembly: C:\Program Files (x86)\PatchQuest\PatchQuest_Data\Managed\ICSharpCode.SharpZipLib.dll (this message is harmless)
    Loading C:\Program Files (x86)\PatchQuest\PatchQuest_Data\Managed\ICSharpCode.SharpZipLib.dll into Unity Child Domain
    Platform assembly: C:\Program Files (x86)\PatchQuest\PatchQuest_Data\Managed\Mono.Posix.dll (this message is harmless)
    Loading C:\Program Files (x86)\PatchQuest\PatchQuest_Data\Managed\Mono.Posix.dll into Unity Child Domain
    Platform assembly: C:\Program Files (x86)\PatchQuest\PatchQuest_Data\Managed\I18N.CJK.dll (this message is harmless)
    Loading C:\Program Files (x86)\PatchQuest\PatchQuest_Data\Managed\I18N.CJK.dll into Unity Child Domain
    Platform assembly: C:\Program Files (x86)\PatchQuest\PatchQuest_Data\Managed\I18N.dll (this message is harmless)
    Loading C:\Program Files (x86)\PatchQuest\PatchQuest_Data\Managed\I18N.dll into Unity Child Domain
    Platform assembly: C:\Program Files (x86)\PatchQuest\PatchQuest_Data\Managed\I18N.MidEast.dll (this message is harmless)
    Loading C:\Program Files (x86)\PatchQuest\PatchQuest_Data\Managed\I18N.MidEast.dll into Unity Child Domain
    Platform assembly: C:\Program Files (x86)\PatchQuest\PatchQuest_Data\Managed\I18N.Other.dll (this message is harmless)
    Loading C:\Program Files (x86)\PatchQuest\PatchQuest_Data\Managed\I18N.Other.dll into Unity Child Domain
    Platform assembly: C:\Program Files (x86)\PatchQuest\PatchQuest_Data\Managed\I18N.Rare.dll (this message is harmless)
    Loading C:\Program Files (x86)\PatchQuest\PatchQuest_Data\Managed\I18N.Rare.dll into Unity Child Domain
    Platform assembly: C:\Program Files (x86)\PatchQuest\PatchQuest_Data\Managed\I18N.West.dll (this message is harmless)
    Loading C:\Program Files (x86)\PatchQuest\PatchQuest_Data\Managed\I18N.West.dll into Unity Child Domain
    Platform assembly: C:\Program Files (x86)\PatchQuest\PatchQuest_Data\Managed\System.Core.dll (this message is harmless)
    - Completed reload, in 0.285 seconds
    <RI> Initializing input.

    <RI> Input initialized.

    desktop: 1920x1080 60Hz; virtual: 3120x1920 at 0,-120
    <RI> Initialized touch support.

    Platform assembly: C:\Program Files (x86)\PatchQuest\PatchQuest_Data\Managed\System.dll (this message is harmless)
    Font size and style overrides are only supported for dynamic fonts.

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

    Setting up 1 worker threads for Enlighten.
    Thread -> id: 262c -> priority: 1
    [LOG] Starting download https://d2p23fuvt8wdly.cloudfront.net/launcher/setup.exe to C:/Program Files (x86)/PatchQuest/PatchQuest/setup.exe(redownloading)

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

    [LOG] Creating download destination file directory

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

    [LOG] Creating downloader data

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

    Platform assembly: C:\Program Files (x86)\PatchQuest\PatchQuest_Data\Managed\Mono.Security.dll (this message is harmless)
    Fallback handler could not load library C:/Program Files (x86)/PatchQuest/PatchQuest_Data/Mono/System/Library/Frameworks/Security.framework/Security
    Fallback handler could not load library C:/Program Files (x86)/PatchQuest/PatchQuest_Data/Mono/.\/System/Library/Frameworks/Security.framework/Security
    Fallback handler could not load library C:/Program Files (x86)/PatchQuest/PatchQuest_Data/Mono/System/Library/Frameworks/Security.framework/Security
    Fallback handler could not load library C:/Program Files (x86)/PatchQuest/PatchQuest_Data/Mono/lib/System/Library/Frameworks/Security.framework/Security
    Fallback handler could not load library C:/Program Files (x86)/PatchQuest/PatchQuest_Data/Mono/.\lib/System/Library/Frameworks/Security.framework/Security
    Fallback handler could not load library C:/Program Files (x86)/PatchQuest/PatchQuest_Data/Mono/lib/System/Library/Frameworks/Security.framework/Security
    Fallback handler could not load library C:/Program Files (x86)/PatchQuest/PatchQuest_Data/Mono/System/Library/Frameworks/Security.framework/Security
    Fallback handler could not load library C:/Program Files (x86)/PatchQuest/PatchQuest_Data/Mono/.\/System/Library/Frameworks/Security.framework/Security
    Fallback handler could not load library C:/Program Files (x86)/PatchQuest/PatchQuest_Data/Mono/System/Library/Frameworks/Security.framework/Security
    Fallback handler could not load library C:/Program Files (x86)/PatchQuest/PatchQuest_Data/Mono/lib/System/Library/Frameworks/Security.framework/Security
    Fallback handler could not load library C:/Program Files (x86)/PatchQuest/PatchQuest_Data/Mono/.\lib/System/Library/Frameworks/Security.framework/Security
    Fallback handler could not load library C:/Program Files (x86)/PatchQuest/PatchQuest_Data/Mono/lib/System/Library/Frameworks/Security.framework/Security
    [EXCEPTION] System.Net.WebException: Error getting response stream (Write: The authentication or decryption has failed.): SendFailure ---> System.IO.IOException: The authentication or decryption has failed. ---> Mono.Security.Protocol.Tls.TlsException: Invalid certificate received from server. Error code: 0xffffffff800b010a

    at Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate.validateCertificates (Mono.Security.X509.X509CertificateCollection certificates) [0x00000] in <filename unknown>:0

    at Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate.ProcessAsTls1 () [0x00000] in <filename unknown>:0

    at Mono.Security.Protocol.Tls.Handshake.HandshakeMessage.Process () [0x00000] in <filename unknown>:0

    at Mono.Security.Protocol.Tls.ClientRecordProtocol.ProcessHandshakeMessage (Mono.Security.Protocol.Tls.TlsStream handMsg) [0x00000] in <filename unknown>:0

    at Mono.Security.Protocol.Tls.RecordProtocol.InternalReceiveRecordCallback (IAsyncResult asyncResult) [0x00000] in <filename unknown>:0

    --- End of inner exception stack trace ---

    at Mono.Security.Protocol.Tls.SslStreamBase.AsyncHandshakeCallback (IAsyncResult asyncResult) [0x00000] in <filename unknown>:0

    --- End of inner exception stack trace ---

    at System.Net.HttpWebRequest.EndGetResponse (IAsyncResult asyncResult) [0x00000] in <filename unknown>:0

    at System.Net.HttpWebRequest.GetResponse () [0x00000] in <filename unknown>:0

    at DarkDownloader.DarkDownloaderData.GetFileSize (System.String url) [0x00000] in <filename unknown>:0

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

    [WARNING] Failed to get file size for https://d2p23fuvt8wdly.cloudfront.net/launcher/setup.exe

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

    [EXCEPTION] DarkDownloader.FailedCreateDownloadDataException: Failed to create download data from https://d2p23fuvt8wdly.cloudfront.net/launcher/setup.exe to C:/Program Files (x86)/PatchQuest/PatchQuest/setup.exe ---> System.Net.WebException: Error getting response stream (Write: The authentication or decryption has failed.): SendFailure ---> System.IO.IOException: The authentication or decryption has failed. ---> Mono.Security.Protocol.Tls.TlsException: Invalid certificate received from server. Error code: 0xffffffff800b010a

    at Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate.validateCertificates (Mono.Security.X509.X509CertificateCollection certificates) [0x00000] in <filename unknown>:0

    at Mono.Security.Protocol.Tls.Handshake.Client.TlsServerCertificate.ProcessAsTls1 () [0x00000] in <filename unknown>:0

    at Mono.Security.Protocol.Tls.Handshake.HandshakeMessage.Process () [0x00000] in <filename unknown>:0

    at Mono.Security.Protocol.Tls.ClientRecordProtocol.ProcessHandshakeMessage (Mono.Security.Protocol.Tls.TlsStream handMsg) [0x00000] in <filename unknown>:0

    at Mono.Security.Protocol.Tls.RecordProtocol.InternalReceiveRecordCallback (IAsyncResult asyncResult) [0x00000] in <filename unknown>:0

    --- End of inner exception stack trace ---

    at Mono.Security.Protocol.Tls.SslStreamBase.AsyncHandshakeCallback (IAsyncResult asyncResult) [0x00000] in <filename unknown>:0

    --- End of inner exception stack trace ---

    at System.Net.HttpWebRequest.EndGetResponse (IAsyncResult asyncResult) [0x00000] in <filename unknown>:0

    at System.Net.HttpWebRequest.GetResponse () [0x00000] in <filename unknown>:0

    at DarkDownloader.DarkDownloaderData.Create (System.String webPath, System.String destinationPath) [0x00000] in <filename unknown>:0

    --- End of inner exception stack trace ---

    at DarkDownloader.DarkDownloaderData.Create (System.String webPath, System.String destinationPath) [0x00000] in <filename unknown>:0

    at DarkDownloader.DarkDownloader.Download (System.String webPath, System.String destinationPath, Boolean redownload, Boolean silent) [0x00000] in <filename unknown>:0

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

    Result of download : Exception has occured

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

    Failed to download launcher setup. Closing.

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

    NullReferenceException: Object reference not set to an instance of an object
    at DarkPatcher.Unity.Launcher.OnDestroy () [0x00000] in <filename unknown>:0

    (Filename: Line: -1)
     
    Last edited: Nov 16, 2015
  16. Shlemon

    Shlemon

    Joined:
    May 17, 2013
    Posts:
    8
    I have some more information.

    I managed to hide the issue by connecting via regular http rather than https. I speculate the problem here relates to Amazon Cloudfront (a CDN). Last time I tried to use the patcher, I had only just set up cloudfront. It might therefore have not fully pushed my files to all edge servers, and instead routed me directly to the origin Amazon S3 bucket. Maybe the CDN then finished updating and started serving requests directly. It could then be a problem that the aws certificate is accepted, but the cloudfront is not. I'm not sure why this would be, but maybe it will help. I'm not certain this is the issue but it's my best bet right now.
     
  17. Shlemon

    Shlemon

    Joined:
    May 17, 2013
    Posts:
    8
    For anybody who is interested, I've modified the launcher updater script to only download newer versions of the launcher.

    It will only work if your version numbers have one of the following formats:

    A.B
    A.B.C
    A.B.C.D

    Where A, B, C, D are all integers. So this means '1' will fail, but '1.0' will be accepted, for example. These version numbers refer to the content of launcher_version.info

    1) include 'system' in your file dependencies

    2) In LauncherUpdater.cs, starting line 58:
    Code (csharp):
    1. // Pessimistic version comparison code.
    2. bool downloadNew;
    3. try {
    4.     Version webLauncherVersionInstance = new Version(webLauncherVersion);
    5.     Version currentLauncherVersionInstance = new Version(currentLauncherVersion);
    6.     downloadNew = webLauncherVersionInstance.CompareTo(currentLauncherVersionInstance) > 0;
    7.     if (downloadNew) {
    8.         Debug.Log("Newer version available. Starting download of web version.");
    9.     }
    10. }
    11. catch (Exception e) {
    12.     // Many kinds of exception may be thrown if the versions are incorrectly formatted.
    13.     Debug.Log("Version comparison exception: " + e);
    14.     Debug.Log("Starting download of web version.");
    15.     downloadNew = true;
    16. }
    17.  
    18. if (downloadNew) // Replaces the old conditional (webLauncherVersion != currentLauncherVersion)
    19. {
    20.     // Fixes a bug where the default speed is set to 10kBps.
    21.     DarkPatcher.Unity.ConnectionSettings.Instance.settings.MaximumBytesPerSecond = 524288;
    22.  
    23.     // Continue from here...
    24.  
     
    Last edited: Nov 16, 2015
    hopeful likes this.
  18. witcher112

    witcher112

    Joined:
    Mar 20, 2014
    Posts:
    70
    Hello. This is definitely problem of Windows 10. I'm currently investigating the problem of that one so I'd try to fix it as soon as possible.

    PS. Sorry for the delay of reply. Somehow Unity forum notifications didn't send me an email about new post.

    Cheers!
     
  19. witcher112

    witcher112

    Joined:
    Mar 20, 2014
    Posts:
    70
    Hello :)
    Can you send me the log on the email ? :) It's here - witcodeprogramming@gmail.com

    About the file - this might be caused by your server content processing. Try to contact your webmaster and ask him to force files to be send with "Content-Type: application/octet-stream" which is actually binary data.

    Cheers!
     
  20. witcher112

    witcher112

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

    Branch - is kind of version history of your game. It was made to separate different versions of your application - like this branch will be for "Windows" build, that branch will be for "Linux" build etc.

    Every branch consist of version. Version is individual set of application files. Basicly it's just the data that Unity creates in build process.

    About the deploy - when you are adding versions you have to somehow upload their data to your webserver. You have two options - upload whole data which will be very long or use deploy system. How deploy system works? It separates different data of branch versions - for example because of that you don't have to upload whole version data - you can only upload patch which will make previous version patched to the new one.

    I hope this helped you :)

    Cheers!
     
  21. witcher112

    witcher112

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

    Yes you are right - currently DarkPatcher downloader doesn't support HTTPS - it will be shipped in next update (3.1).

    About the modified script - thank you for that :) Do you mind if I can use your modifications :) ? Of course I'll list you as an author :)

    Cheers!

    PS. Sorry for the long reply - I was online through the weekend.
     
  22. Shlemon

    Shlemon

    Joined:
    May 17, 2013
    Posts:
    8
    Sure you can use it
     
  23. RealAspireGames

    RealAspireGames

    Joined:
    Dec 24, 2013
    Posts:
    265
    Hello, I have resolved my last issue where the patch is being installed....
    Now that I have resolved it the game downloads correctly in the launcher but when I try and play the game it gives me this error message. could not preload global game manager #0

    Please help.
     
  24. witcher112

    witcher112

    Joined:
    Mar 20, 2014
    Posts:
    70
    Are you using compression? If yes please check if the game could be started from the branch directory - simple open that folder, locate the newest version and try to run it.

    Cheers!
     
  25. AlanMattano

    AlanMattano

    Joined:
    Aug 22, 2013
    Posts:
    1,500
    I Import DarkPatcher in new fresh 5.3.0f1 and i get 10 error messages:

    Code (CSharp):
    1. Assets/Plugins/DarkPatcher/Dev/DarkPatcherProject/Project.cs(197,22): error CS0117: `System.IO.File' does not contain a definition for `WriteAllText'
     
  26. witcher112

    witcher112

    Joined:
    Mar 20, 2014
    Posts:
    70
    Hello Alan,
    I'll be looking on issues which seems to happen only on Unity 5.3.x

    Thanks for pointing it out.

    Cheers!
     
  27. AlanMattano

    AlanMattano

    Joined:
    Aug 22, 2013
    Posts:
    1,500
    I return back to 5.2.3 public release and works well. Give you the time to fix it in that unity 5.3 that at the moment is in final beta. If you make an explanation of what was change in Unity after the fix can be great.

    Now I'm thinking, can be that i did not install System.IO in that Unity build? It can be that what i choose in the Unity 5.3.0f1 installation was not enough to include System.IO , etc.

    I'm working hard to make my first patch! THANKS Witcher for the Asset.
     
  28. RealSoftGames

    RealSoftGames

    Joined:
    Jun 8, 2014
    Posts:
    220
    Hi i just started using patcher as this will be very useful for my uni projects in terms of sharing current game state wiht my lecturer and team members however i ma running into some issues, i followed the videos accordingly but im still running into some issues, im using hostinger a free hosting solution for now. however i am testing this with a blank project and with just a single cube in the scene it builds at 185mb minimum, i have uploaded that and it downloads fine but when i hit play launcher quits and nothing happens. i have also tried to compress and Deploy current compressed as options of your video but i can never get Deploy patch as it is always grayed out. the asset is in a separate project folder also to the test project im making. also im a little confused with the 3 text files it makes every time i make a "Patch" do i replace the ones on the ftp server with the new patch ones ?
     
  29. AlanMattano

    AlanMattano

    Joined:
    Aug 22, 2013
    Posts:
    1,500
    No , If you use 5.2 and empty scene must be around 30Mb not compress and 10Mb compress, in my experience.

    Did you try to open Unity ando or the game launcher as administrator?

    I'm making my first patch.
    Is there a kind person that can help me to understand what to upload?
     
    Last edited: Dec 2, 2015
  30. Natzmer

    Natzmer

    Joined:
    Mar 5, 2014
    Posts:
    1
    I've found DarkPatcher to be very useful. However, I'm currently having an issue where after a patch players are seeing old versions of AssetBundles and the AssetBundles are not updating. Is there some kind of local manifest file I should be excluding from DarkPatcher?
     
  31. KEMBL

    KEMBL

    Joined:
    Apr 16, 2009
    Posts:
    181
    Hello witcher112,

    Please answer my questions:

    1) Is there any way to start program when it is downloaded with command line arguments trough launcher?
    It seems launcher.StartExecutabledo does not know any about command line arguments.


    2) Does patcher have an option to download data in several threads? Especially it is important for MS Azure, because they blob store required 1 second to process any GET request i.e. 300 files = at least 300 seconds :( no matter of files size.

    3) Is there a way to update launcher application itself?
     
    Last edited: Dec 9, 2015
  32. witcher112

    witcher112

    Joined:
    Mar 20, 2014
    Posts:
    70
    Are including files connected with Asset Bundles into updates?

    Cheers
     
  33. witcher112

    witcher112

    Joined:
    Mar 20, 2014
    Posts:
    70
    1) You can add feature request here :) https://trello.com/b/TZmS1upf/darkpatcher
    2) New version will be designed to use multiple threads.
    3) Yes it is :)
    It was made for version 2.0 but the only change that you have to do is to use script "LauncherUpdater" which is already added to version 3.0 package.

    Cheers!
     
    William_Lee_Sims likes this.
  34. witcher112

    witcher112

    Joined:
    Mar 20, 2014
    Posts:
    70
    Yes you need to replace these ones. Basicly if you're doing deploy you have to upload all of the new files (the old ones will be replaced).

    Cheers!
     
  35. HellsPlumber

    HellsPlumber

    Joined:
    Aug 17, 2014
    Posts:
    42
    Hi. I was just wondering if anyone else was having this issue with Dark Patcher on Unity 5.3.1?

    https://gyazo.com/52ba78cc743a205aa8fa04f7b0be7e01

    Most errors are pointing to WriteAllText. I've had to delete Dark Patcher entirely to continue development on our game.
    I'd appreciate any help if anyone else has experienced this!
     
  36. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,623
    I believe that's an error native to 5.3.1. From what I read in another thread, I gather a small change in code will allow Dark Patcher to avoid this.

    (For a fix you can do on your own, check to see if Unity switched your build target to webplayer.)
     
    Last edited: Jan 3, 2016
    HellsPlumber likes this.
  37. HellsPlumber

    HellsPlumber

    Joined:
    Aug 17, 2014
    Posts:
    42
    Thanks for the help!
    Seems I forgot to install the "Windows Build Support" module in Unity's new installer, so it reverted my build target to Web Player as you said. I've just re-imported Dark Patcher and all of the errors are gone.
     
    hopeful likes this.
  38. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,238
    @arrested_games
    I've got someone with this same problem as posted above:

    [EXCEPTION] System.Net.WebException: Error getting response stream (ReadDone1): ReceiveFailure ---> System.IO.IOException: EndRead failure ---> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host.

    Did you figure out a solution for it?
     
  39. Junuxx

    Junuxx

    Joined:
    Sep 18, 2014
    Posts:
    16
    Hey Darkpatcher crew,

    I've bought your package and I'm working on integrating it with my game. So far it looks a lot better than our previous patching solution! But after having read the documentation I do still have a few questions.

    Firstly, if I understood it correctly I end up with two Unity projects, one for the Darkpatcher auto-updater/launcher and one for the actual game, which gets patched by the launcher. But if I want to make any changes to the launcher itself, how would you suggest I do that?

    Secondly, does DarkPatcher support any way to include release notes in the patch and show those before the update is applied?

    Finally, am I correct in assuming that compressed versions can skip intermediate versions, but patches are applied purely sequentially? For example, if I have an installer for version 1.0 then deploy patches 1.0.1 and 1.0.2, then data for 1.1 and 1.2. I assume a user who's still on 1.0 when 1.0.2 comes out has to download and apply both patches, right? But a user who is still on 1.0 when 1.2 comes out will only have to download one update? Please confirm.

    Thanks in advance for your response! :)
     
    Last edited: Jan 15, 2016
  40. witcher112

    witcher112

    Joined:
    Mar 20, 2014
    Posts:
    70
    Hello!
    This is problem of selected WebPlayer as Build Target. Please try to change it to Standalone and everything will be fine again :)

    Cheers!
     
  41. witcher112

    witcher112

    Joined:
    Mar 20, 2014
    Posts:
    70
    Hello!

    This problem is caused by the wrong connectiong between server and client. Please try to play with some connection settings available in the script named "Connection Settings" (it is regular game object's component so you can attach it to any of game objects in launcher scene).
    Cheers!
     
  42. witcher112

    witcher112

    Joined:
    Mar 20, 2014
    Posts:
    70
    It's old solution but it should work -

    (note that script "LauncherUpdater" is attached to the package so you don't need to download it - just skip this step from video)


    Currently, no.

    User on 1.0 will have to download all of the previous patches to get to the newest version. If they wouldn't be available, client will try to download last full current version from server.


    Cheers!
     
  43. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,238
    But this is one person out of thousands who reports this, so it's a quirk of their situation. I can't replicate it so I have now way of knowing what settings to change.
     
  44. rickcollette

    rickcollette

    Joined:
    Mar 17, 2013
    Posts:
    304
    So happy this has been updated...
    works perfectly. Built both windows and mac clients.. gonna try linux next.
     
  45. witcher112

    witcher112

    Joined:
    Mar 20, 2014
    Posts:
    70
    Please try to increase Timeout value. Also try to change Keep Alive value.

    Cheers!
     
  46. Junuxx

    Junuxx

    Joined:
    Sep 18, 2014
    Posts:
    16
    Hi again! Thanks for the reply earlier. I feel a little silly about not reading back a few posts and finding out how to update the updater myself. But anyway...

    I was having a lot of trouble getting patches to work on Windows. Compressed and full deploys worked fine, but applying patches always resulted in "Patcher failed".

    I had the Launcher setting "Game Path Location" set to "App Data Roaming". But the installer I'm using to deploy the launcher does default to Program Files, and apparently, that breaks patching.

    So in other words:

    Actual game is in C:\Users\username\AppData\Roaming\mygame\mygane,exe
    Darkpatcher launcher is in C:\Program Files (x86)\mygame\mygame launcher.exe

    In this situation, when I run "mygame launcher.exe" the patcher fails on the very first file.

    But when I move the launcher out of Program Files, say, to C:\mygame\, it downloads and applies the patch just fine!

    I'm going to address this by changing the default installation path in my installer, but I can't imagine this is how it is supposed to work, right? BTW, my dev Windows machine is Win 7, but users with Win 8 and 10 were having the same issue.
     
  47. Shlemon

    Shlemon

    Joined:
    May 17, 2013
    Posts:
    8
    Hi Witcher,

    I've been using darkpatcher for a few months now, and released about 5 patches to about 5 people each. It has mostly been working well (95% success rate), but every so often one of my beta testers will get a failed patch.

    The big issue here is the opaque error messages. It just says "Patch Failed". We really, really need error codes (or even verbose messages) to be able to troubleshoot patching issues.

    Secondly, when a patch does fail, the best solution seems to be to delete the patching folder completely and then run the patcher in a clean directory. This should be an option in dark patcher, a "clean install" button that will delete your current download folder and start from fresh. Maybe it should only be visible after a patch has failed, too.

    I feel these changes are very important, since a professional game can't afford to have any patching issues. I'd appreciate it if you could handle it within, say, the next month. If you can't, then I'll take a crack at it myself. They don't seem like huge changes, but would definitely be easier for someone who knows the codebase well.

    Otherwise, very pleased with the product!
     
  48. KEMBL

    KEMBL

    Joined:
    Apr 16, 2009
    Posts:
    181
    Hello witcher112!

    I attached the picture, could you please make field marked with red remember last entered value between the project restarts?
    Also, it would be VERY useful if this field supported copy/past (it not works at least in windows).

    Is there any news about the new version that would be designed to use multiple threads? I see you announced v3.1 from Dec 15, 2015 in the Asset store but no new information about the release in your blog, unfortunately: http://www.witcodeprogramming.com/blog/

    Thank you!
     

    Attached Files:

    Last edited: Feb 3, 2016
    Junuxx likes this.
  49. witcher112

    witcher112

    Joined:
    Mar 20, 2014
    Posts:
    70
    Please try to run launcher with administrator mode.

    There are error codes - you can find them in output_log.txt of the launcher. Please send me them on e-mail (witcodeprogramming@gmail.com)

    There is a option to do it - you can use redownload button shown in example scene.

    I'll look at it ;)

    Currently DarkPatcher is using another thread to maintain the patching process.
     
  50. Junuxx

    Junuxx

    Joined:
    Sep 18, 2014
    Posts:
    16
    This is not a good workaround. Many of our users are on school/work networks where administrator mode is just not available to them.

    If you give the option to put the game's current version in AppData, don't you think that's where the launcher's temporary files should go as well?