Search Unity

[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
    Hello!
    I'm witcher112 and I want to show you my solution for creating patcher & launcher for your game.


    ASSET STORE

    DarkPatcher - your solution for launcher and game patching system

    "Thanks to DarkPatcher we no longer have any problems with providing fast and easy patching system to our community. One of the best assets ever!" ~ Gloria Victis ( http://www.gloriavictisgame.com/ )

    Are you searching for easy and simple patching system for your game? I'm glad to see you here! Here we've got what you're exactly searching.

    DarkPatcher offers you an easy way to create launcher for your game. You are not locked in boring system interface windows. You can create your launcher as Unity application! This means that you can even add flying space-ships in the background to improve effect of your launcher. What about patch creation ? There's nothing easier than this! You have to only select versions of your game - everything else is done by our library.

    Supports Windows, Mac & Linux
     
    Last edited: Feb 10, 2015
  2. Jog

    Jog

    Joined:
    Feb 9, 2012
    Posts:
    138
    We'v used many different patchers but all had problems with Unity files. That's the only one which could create a few mb patches for 3gb game. Totally awesome.
     
  3. Distant_Temples

    Distant_Temples

    Joined:
    Apr 14, 2012
    Posts:
    131
    DarkPatcher looks like a nice asset. Do you have an idea of when a Mac OSX version will become available?
     
  4. witcher112

    witcher112

    Joined:
    Mar 20, 2014
    Posts:
    70
    Mac OSX & Linux version is coming really soon. Currently I'm working on new patching flow that will make version history for each game file - not for whole game - that means there will be less bugs. Of course new Designer is coming - it is made in WPF in the metro style (Mac OSX Unity users - don't worry I'll develop new designer also for you in the Unity Editor UI). New download system will allow you to pause and continue file dowloading. Stay tuned!
     
  5. witcher112

    witcher112

    Joined:
    Mar 20, 2014
    Posts:
    70
    Hello guys! DarkPatcher Mac OSX will be released in this month! With completely different but more safe patching system, new designer integrated with Unity and new feature - launcher updater.

    Stay tuned! :)
     
  6. Jacob-Williams

    Jacob-Williams

    Joined:
    Jan 30, 2009
    Posts:
    267
    @witcher112 - I just bought this asset and wanted to know how close you are to a new version release. If soon, I don't want to put time into adding this into my project until the new version is released.
     
  7. witcher112

    witcher112

    Joined:
    Mar 20, 2014
    Posts:
    70
    @Jacob Williams Yes, please do not put current version into current project - as I've said I'm 100% sure that I'll release new version in this month.
     
  8. witcher112

    witcher112

    Joined:
    Mar 20, 2014
    Posts:
    70
    Hello guys! New version is ready. Now I'm pushing update to Asset Store.

    Cheers! :)
     
  9. GainPlay

    GainPlay

    Joined:
    Jan 29, 2015
    Posts:
    4
    Hi Witcher112!

    Congratulations on the great package! We've been using DarkPatcher for a few months now and are still anxiously awaiting the new version. You're last post about pushing the DarkPatcher update to the Asset Store seems to be a month old, but there is no new version in the Store yet!

    When do you expect the update to be available?

    Does this update contain the long awaited and anxiously anticipated Mac version for the updater too?? (really looking forward to updating multi-platform)

    Good luck and cheers!
     
  10. witcher112

    witcher112

    Joined:
    Mar 20, 2014
    Posts:
    70
    Hello guys!
    Finally new version with support for Mac and Linux is up on Asset Store!
    I hope you'll like it!

    Cheers and sorry for long delay - I wanted to give you as stable version as possible.
     
  11. stijnvdbBiodroid

    stijnvdbBiodroid

    Joined:
    Nov 20, 2014
    Posts:
    10
    Hi!

    Interested in getting this package, reviews look promising! Can anyone confirm this works fine with Unity 4.6.2f1? Also, how much time would you say goes into implementing this in an existing project? We are building for Windows.

    Thanks!
     
  12. witcher112

    witcher112

    Joined:
    Mar 20, 2014
    Posts:
    70
    Hello!

    Yes, new version works with Unity 4.6.2f1 as well as it works with every Unity version higher than 4.5. And the thing is that this is the Unity version that is required for your launcher application :) This means that your game could be actually done in older versions of Unity or even not in Unity.

    About the amount of time for implementing it in an existing project - it just depends how big your project is. Actually the most amount of time you'll need to spend on uploading files into server. Setting up your launcher and patching branch could be done in about 1 hour in case when you will be following docs (highly recommended).

    Cheers!

    (Documentation is right here - DarkPatcher Documentation)
     
  13. kidne

    kidne

    Joined:
    Nov 29, 2013
    Posts:
    27
    I need help, I just bought this asset and the documentation is not clear at all, and it seems like the only video you have for this product is very very old. I have a couple of questions.

    Does DarkPatcher work in the existing project you want to patch or do you have to open a new project?
    Would I need to send anyone who downloads the game the separate Patching project too if so?
    What is a Designer Branch window and if we're using one of the already existing windows, why would we need to make our own?
    When you select the version path is it a path to an already compiled game from Unity or the project folder?
    Does the exe game name file that you put into the Launcher require or restrict certain characters?
    Can different project versions have the same .exe file names?
    Does DarkPatcher only add files or does it modify and remove them too?
    How do you make patches between different versions?
    How do you know if a patch has been made?
    How do you upload a certain version patch?
    I made two versions, one called 1.0 and the other 2.0, and in the patches folder I see something that says "1.0"? Is that my patch?
    What gets uploaded to the FTP server?
    What do I do with old patches?
     
  14. witcher112

    witcher112

    Joined:
    Mar 20, 2014
    Posts:
    70
    - You have to understand actually how DarkPatcher works. It's only patcher & launcher and it should be imported in separated and new project. From game project side the only thing that is needed is game build.
    You need to send launcher build.
    Designer Branch window is window where you can create other branches than these 3 default : Mac, Windows and Linux.
    At all it's useful when you're creating branches like "Windows-Team Version". So then it creates separated branch for your team version and then you are able to deploy 2 versions of launcher - first one for players, and the second one for team. With this solution you can for example add new version for Team branch and if it will be working correctly (without bugs. etc.) then you can actually add that version to main Windows branch.
    It's the build folder. Remember that this is folder which contains *.exe file. Important - it is not ***_Data folder!.
    Actually it should be the same as your build exe file.
    DarkPatcher allows to add and modify files. Removing is not supported.
    It's done automaticly. You have to add first version and when new version comes then you just have to add that new version and upload files.
    In your branch window there should be new element in list with your new version name.
    You have to upload all of the output files(from your_unity_project_locationg/DarkPatcher/Projects/your_branch_name/store).
    Yes this is your patch. Remember that you also have to upload current folder as it is current version of your game.
    Output folder (your_unity_project_locationg/DarkPatcher/Projects/your_branch_name/store).
    You have to keep them but if you will decide that they're really old you can just delete folder with them from patches directory.


    I hope I've helped you.

    About the documentation - the newest one is right here - https://docs.google.com/document/d/1TRCPRXuKKmpZQG4TbliQi-WEqON-vPKkeEGKYnJBqzU/edit?usp=sharing

    Old video shows old version. It's not developed any more. If you want I can make new video.

    Cheers.
     
  15. kidne

    kidne

    Joined:
    Nov 29, 2013
    Posts:
    27
    Thank you for responding so quickly! Very refreshing to finally have a patching system that works.

    One last question, I uploaded the files to FTP and compiled my Launcher. Do I put these in the same directory when I prepare the game for download? How does the Launcher know where the game is and how to update it?

    If you wouldn't mind making a video that would be great! I'd love to see you making a small test game with tiny version differences and show how it patches and what the finished product would look like for a regular player.
    Thank you again!
     
  16. witcher112

    witcher112

    Joined:
    Mar 20, 2014
    Posts:
    70
    Files from output(located in "store" folder) folder should be only put into FTP and replaced there within every next update (to simplify - when you create patch you have to reupload all of the files from store folder).

    Launcher is downloading the game inside ***_Data/game folder.

    I'll do it in this or next week :).

    No problem, I'm here to help you!

    Cheers.
     
  17. witcher112

    witcher112

    Joined:
    Mar 20, 2014
    Posts:
    70
    Hello guys!
    New patch is coming and it will allow you to upload just patches instead of uploading whole current version!

    Cheers!
     
  18. CaptainChristian

    CaptainChristian

    Joined:
    Apr 3, 2013
    Posts:
    100
    I just bought your asset and hit a roadblock right at the start: For some reason when I click on the version I just created the list of assets to add/remove is empty. Please advise.
     
  19. witcher112

    witcher112

    Joined:
    Mar 20, 2014
    Posts:
    70
    Hello Christian!

    I'll repair it as soon as possible. Thanks for reporting bug!

    Cheers!
     
  20. kidne

    kidne

    Joined:
    Nov 29, 2013
    Posts:
    27
    Do you have a video up yet? Or an ETA on the new patch? I don't think I did this right because my patcher has errors. Will it also throw an error if there isn't a new update or will it just tell you it's on the current version?
     
  21. witcher112

    witcher112

    Joined:
    Mar 20, 2014
    Posts:
    70
    Look at the example - you can attach text which will be showing current version of game.

    Cheers.
     
  22. Gekigengar

    Gekigengar

    Joined:
    Jan 20, 2013
    Posts:
    738
    Any chance this works on mobile? (Android/iOS/Windows Phone)
     
  23. witcher112

    witcher112

    Joined:
    Mar 20, 2014
    Posts:
    70
    I need to make a research about launching other inner-applications on these platforms.

    Also in short amount of time I'm going to obtain developer license for iOS so I'll be performing some experiments about that. So actually it is possible but very uncertain.

    Cheers.
     
    Gekigengar likes this.
  24. Gekigengar

    Gekigengar

    Joined:
    Jan 20, 2013
    Posts:
    738
    Then your asset might be the first patcher that works for mobile!
    I have been looking for a mobile patch system for a long time already.

    Good luck on those!

    A few games has an updater from in-game launcher scene on mobile, like Crusader's Quest, or Line games.
     
    Last edited: Mar 6, 2015
  25. witcher112

    witcher112

    Joined:
    Mar 20, 2014
    Posts:
    70
    We will see!
    As I've said - the main thing that I am waiting for is Apple Developer License.
     
  26. joeypsmith

    joeypsmith

    Joined:
    Oct 1, 2013
    Posts:
    2
    hey i just want to make sure before buying, does this asset work with unity 5?
     
  27. witcher112

    witcher112

    Joined:
    Mar 20, 2014
    Posts:
    70
    One of my customers have already tried it - after small fix it was working. Fix will be arriving on asset store in next week but I don't see the problem to send it to you before I'll upload it to Asset Store (just send me your invoice number).

    Cheers!
     
  28. joeypsmith

    joeypsmith

    Joined:
    Oct 1, 2013
    Posts:
    2
    How an i send you the invoice number? I just bought your asset
     
  29. witcher112

    witcher112

    Joined:
    Mar 20, 2014
    Posts:
    70
  30. eiffeloberon

    eiffeloberon

    Joined:
    Oct 14, 2014
    Posts:
    12
    Hi, got a question with regards to the Mac patch.

    It seems like if I upload a new patch, by replacing everything in the store folder, then I get the Launcher error message and requires me to either repair or redownload the build (What's the difference?). What could be causing this problem? I'm using Unity 4.6.1f, I'm building the patch from windows, and testing them on Mac OSX (Yosemite).
     
  31. witcher112

    witcher112

    Joined:
    Mar 20, 2014
    Posts:
    70
    Please contact me on email (witcodeprogramming@gmail.com) - I'll try to help you. Also please check whether you are uploading files in binary mode. It is very important because in programs like FileZilla default upload mode is ASCII which corrupts the patches data.

    Cheers!
     
  32. Zubba

    Zubba

    Joined:
    Mar 6, 2010
    Posts:
    67
    First of all nice work.

    One question. Lets say you have a game thats large in filesize and a pretty slow connection for uploading. What happens when you are uploading and replacing all the files, and some players start the launcher and try to download in the middle of this process? Wont they get a corrupt game?

    Is the new version available that won't force us to replace all files?
     
  33. witcher112

    witcher112

    Joined:
    Mar 20, 2014
    Posts:
    70
    Hello - new version is done but I haven't pushed it to Asset Store now. Please send me your invoice number so I'd be very pleased to send new version to you :). (witcodeprogramming@gmail.com).

    About the situation you've described above.
    It is possible that it will corrupt, but only that file which user was currently downloading - and only in case when user was downloading current version and you replaced it on server. But actually it will be easily fixed by turning on launcher again or click "Retry" button. If user was downloading patch - nothing will be corrupted. But anyway as I can see this system needs improvements. So I'll look at that situation more closely soon :).

    Cheers!
     
  34. Zubba

    Zubba

    Joined:
    Mar 6, 2010
    Posts:
    67
    Thank you for very fast responce.
     
  35. Evil-Dog

    Evil-Dog

    Joined:
    Oct 4, 2011
    Posts:
    134
    Hi there, thanks for the patching system. It looks good but I'm having a problem with it. I've made the launcher based on the NGUI exemple, it looks good and seem to download the first version of the application but it always fails at the same spot and launcher.CurrentState becomes DarkLauncher.State.Failed.
    I changed DarkPatcherHelper.ApplicationPath("game") to DarkPatcherHelper.ApplicationPath("app") since I'm not working on a game but I don'T think that matters for now, I see the app folder is created with the downloaded files in it.
    It always fails on the same file: ***_Data\Mono\etc\mono\1.0\DefaultWsdlHelpGenerator.aspx
    I did setup FileZilla to upload in binary.
    So I'm stuck here. Any idea what's wrong?
     
  36. witcher112

    witcher112

    Joined:
    Mar 20, 2014
    Posts:
    70
    Can you please contact me on witcodeprogramming@gmail.com - send me emails with app_logs (location of them is described at the end of documentation).
     
  37. witcher112

    witcher112

    Joined:
    Mar 20, 2014
    Posts:
    70


    Tutorial about making updater for your launcher. Currently works only for Windows.

    I hope you will like it!

    Cheers!
     
  38. Evil-Dog

    Evil-Dog

    Joined:
    Oct 4, 2011
    Posts:
    134
    Thank you, very useful!
     
  39. kumarc123

    kumarc123

    Joined:
    Jan 23, 2013
    Posts:
    3
    Hi, Many times, if the folder doesn't exist, it will throw an exception. It is better to create folders if the folder doen't exist in a specified path.

    Can you tell me how can cleanup all version information. I've created several versions for testing.. So I want clean everything.
     
    Last edited: Apr 21, 2015
  40. witcher112

    witcher112

    Joined:
    Mar 20, 2014
    Posts:
    70
    It is already repaired :). New version should be soon available on asset store (currently pending to review)
     
  41. Synthoid

    Synthoid

    Joined:
    Jun 11, 2013
    Posts:
    8
    Hello.

    I've been messing around with your patcher for a little while now, but I don't seem to be getting anywhere. I've gotten as far as creating a branch, but trying to actually download assets from the web is throwing errors. I'm not entirely sure if I'm uploading the correct things or not (the documentation points to a folder in a location that doesn't seem to be correct).

    I've uploaded the list.required_files and current folder from the store folder, but accessing them seems to throw errors like:

    [EXCEPTION] System.Net.WebException: Error getting response stream (Write: The authentication or decryption has failed.)

    and

    [LOG] Failed to get file size for https://s3.amazonaws.com/study-center-builds/Windows/1.0.0/list.required_files

    I'd appreciate some help getting things straightened out, as the patcher seems very promising, it just has a bit of an unusual learning curve.

    Thanks!
     
  42. witcher112

    witcher112

    Joined:
    Mar 20, 2014
    Posts:
    70
    Hi!
    Please contact me on witcodeprogrammimg@gmail.com

    Also please download new version which features server configuration script - this will help you for 90% because as I can see your problem's origin is connection with server.

    Cheers!
     
  43. Synthoid

    Synthoid

    Joined:
    Jun 11, 2013
    Posts:
    8
    I'll give the new version a try and contact you if I have any trouble.

    Thanks!
     
  44. crypt0

    crypt0

    Joined:
    May 25, 2015
    Posts:
    55
    Hi!

    This Patcher is so awesome - it works really well. But there are a few things, where i had some problems:

    1. At the beginning, i had the same problem with the "Failed to download" - Message. The Problem was the Web Path in the Example - There is no information about that problem at the beginning. (Okay, in the complete documentation is not a word which folders are meant exactly what is possibly difficult for a beginner)
    2. Now, i'm using a seperate project for the launcher, because i had sometimes the problem, that the launcher download itselft in a loop ;)
    3. If you make a mistake, when versioning, than the launcher cannot download the new files. Even if you have fixed the bug in the versioning.
    4. How can i remove the file informations in the status bar? I just want that the launcher shows that it has downloaded 10 of 20 files without the filenames
    5. Is it possible to output a text in the Launcher, what's new in the update? I think that this is an important feature...
    6. I've noticed that when you delete the program under Windows, the folder under Program Files remain available with all data - how can i fix this?
    7. And I#ve noticed, that all patches are available in the game folder under prgrammfiles - is there a way, to remove the old one? Or these are still needed?
    8. And there is a failure in the online documentation: Part Uploading Files -> "In case when you want to upload only the patches (the requirement is that file structure of your game is unchanged - any files haven’t been added) upload" -> You mention twice the current_helper order. - When i'm uploading a new patch, i'm uploading the new patch folder (not the complete patches folder), the current_helper.version, the compress.info and the list.required_files. This works for me, or it's wrong?
    8. This is a really, very very nice Patch. I hope you stay tuned and develop it further.

    Thanks & Best Regards
     
  45. witcher112

    witcher112

    Joined:
    Mar 20, 2014
    Posts:
    70
    Hello!

    Thank you for saying good things about my patcher! :)

    1. What kind of web path you mean? The one you have to put inside launcher script?
    2. Yes - many customers reported it too - I need to use bold and bigger font to mark it :p
    3. Can you explain this situation? Like in steps what exactly you've done.
    4. In new version I'm working on localization support. This will also include custom launcher messages.
    5. It will be possible - this is the feature that I'm currently working on :) But not only changelogs, whole news system :)
    6. You are using InnoSetup right? If yes please read this http://www.jrsoftware.org/ishelp/index.php?topic=uninstalldeletesection - especially the note at the bottom of this page. The reason is - this is just unsafe.
    7. Hmm that's weird - they should disappear after patching is finished - I'll check it out.
    8. I have fixed it right now - it should be
    - “list.required_files"
    - “current_helper.version”
    - “current_helper”
    - missing folders from “patches” directory
    9. Thank you again :)!

    If you want individual support, feel free to contact me on my email - witcodeprogramming@gmail.com

    Cheers! :)
     
  46. crypt0

    crypt0

    Joined:
    May 25, 2015
    Posts:
    55
    Hi witcher,

    i got a big problem - the launcher failed when the patch is compressed :( i got this message in the error log:

    System.NotSupportedException: CodePage 437 not supported

    Init Error:System.NotSupportedException: CodePage 437 not supported
    at System.Text.Encoding.GetEncoding (Int32 codepage) [0x00000] in <filename unknown>:0
    at ICSharpCode.SharpZipLib.Zip.ZipConstants.ConvertToString (System.Byte[ data


    But only in my Standalone Build - When i run the patcher in the unity editor, it works. What it is the problem?

    EDIT:

    Here the complete message:

    --------------------------------Processing GAME.exe
    .--------------------------------

    [LOG] Deleting old files.

    [LOG] Checking file status.

    [LOG] Download current version of file.

    [LOG] 0 attempt for download D:/Programmieren/Unity3D/Projects/Terrains/DarkPatcher/Projects/Windows/store/current_compressed/GAME.exe.version to D:/Programmieren/Unity3D/Projects/GAME_Launcher/Build/Launcher_Data/game/download/current/GAME.exe.version.check

    [LOG] Marking download with version.

    [LOG] 0 attempt for download D:/Programmieren/Unity3D/Projects/Terrains/DarkPatcher/Projects/Windows/store/current_compressed/GAME.exe.compressed to D:/Programmieren/Unity3D/Projects/GAME_Launcher/Build/Launcher_Data/game/download/current/GAME.exe

    [LOG] Decompressing file

    [EXCEPTION] System.NotSupportedException: CodePage 437 not supported
    at System.Text.Encoding.GetEncoding (Int32 codepage) [0x00157] in /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Text/Encoding.cs:528
    at ICSharpCode.SharpZipLib.Zip.ZipConstants.ConvertToString (System.Byte[] data, Int32 count) [0x00000] in <filename unknown>:0
    at ICSharpCode.SharpZipLib.Zip.ZipConstants.ConvertToStringExt (Int32 flags, System.Byte[] data) [0x00000] in <filename unknown>:0
    at ICSharpCode.SharpZipLib.Zip.ZipInputStream.GetNextEntry () [0x00000] in <filename unknown>:0
    at DarkPatcher.Compression.Decompress (System.String fileName) [0x00000] in <filename unknown>:0
    at DarkLauncher.DarkLauncher.CurrentFile (System.String file) [0x00000] in <filename unknown>:0

    [EXCEPTION] System.Exception: Failed to download current GAME.exe

    at DarkLauncher.DarkLauncher.CurrentFile (System.String file) [0x00000] in <filename unknown>:0
    at DarkLauncher.DarkLauncher+<>c__DisplayClass3.<Run>b__2 () [0x00000] in <filename unknown>:0

    [ERROR] Failed to run patcher with source : D:/Programmieren/Unity3D/Projects/Terrains/DarkPatcher/Projects/Windows/store and local path : D:/Programmieren/Unity3D/Projects/GAME_Launcher/Build/Launcher_Data\game
     
  47. witcher112

    witcher112

    Joined:
    Mar 20, 2014
    Posts:
    70
  48. crypt0

    crypt0

    Joined:
    May 25, 2015
    Posts:
    55
    Thanks!

    Now, i have another problem. What can i do to release a 32bit and a 64bit version?

    Today, i have released a pre-alpha 64bit version, but some users want a 32bit version. And i have no idea, to solve the problem, because I do not want to copy the project...

    Thanks
     
  49. witcher112

    witcher112

    Joined:
    Mar 20, 2014
    Posts:
    70
    You can create separated branch in DarkPatcher for 32 bit version. Then upload data files to another server directory for 32 bit version and prepare special launcher build with webpath set to that 32 bit version server path. Then give your users possiblity to download 32 bit or 64 bit game launcher.

    I think that this should be fine.

    Cheers!
     
  50. rickcollette

    rickcollette

    Joined:
    Mar 17, 2013
    Posts:
    304
    so; i build a new patcher, but it always loads the old one. I keep my build output in:

    \builds\patcher\

    where the output of a build is:

    \builds\patcher\patcher.exe
    \builds\patcher\patcher_Data\(and all the stuff that goes there)

    After each test, I delete the stuff in \builds\*

    I changed stuff in the UI (using unityUI), but when i run the patcher.exe, i still see the old stuff.

    Is this getting cached somewhere? maybe theres a playerpref im missing?
    NOTE: I am using a new project with only DarkPatcher - nothing extra other than my UI elements.