Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

PATCH - Updating System

Discussion in 'Assets and Asset Store' started by ManHunterITA, Jul 20, 2015.

  1. Yucked

    Yucked

    Joined:
    Jun 20, 2016
    Posts:
    11
    Sorry! :eek:
    I meant to show this picture
    http://vvcap.com/1rIMwRUrzQg
    I hope this is where I'm supposed to upload picture?:(
     
  2. ManHunterITA

    ManHunterITA

    Joined:
    Sep 3, 2013
    Posts:
    341
    Yeah, it should be your web space root.
     
  3. sumpfkraut

    sumpfkraut

    Joined:
    Jan 18, 2013
    Posts:
    242
    I did your step-by-step youtube example... but it dos not work.
    i just get this error:
    [P.A.T.C.H. - 11/29/2016 4:02:58 PM] Patching process is started!
    [P.A.T.C.H. - 11/29/2016 4:02:58 PM] Cleaning! - Cleaning P.A.T.C.H. workspace!
    [P.A.T.C.H. - 11/29/2016 4:02:58 PM] Checking version... - Found version
    [P.A.T.C.H. - 11/29/2016 4:02:58 PM] Local version checking error! Please check your version file!

    Tried with the Installer & Repair part, and without. Same error.
     
  4. ManHunterITA

    ManHunterITA

    Joined:
    Sep 3, 2013
    Posts:
    341
    Hi @sumpfkraut ,

    you have no version file in your game root directory! :p

    I suggest you to read the documentation too: it is explained!
    Contact me again if you still can't manage it: you will find all my contact info in documentation too.

    Best regards,
    Emanuele
     
  5. scourgey

    scourgey

    Joined:
    Jan 5, 2014
    Posts:
    20
    @ManHunterITA I've downloaded PATCH recently, unfortunately it doesn't seem work with the release versions. It works if I run PATCH from the unity editor, but once if I build a version of it, it stops when trying to download the patch 0.0.0.0_0.0.0.1 indexer from the remote server. I can see the follow errors inside output_log.txt. I'm using Windows 10 and all of the files are stored locally. It's also been executed with admin permissions and it still has the same error

    Setting up 2 worker threads for Enlighten.
    Thread -> id: 35f0 -> priority: 1
    Thread -> id: 10f8 -> priority: 1
    Platform assembly: C:\Users\Rchan\Documents\UnityProjects\DinoScourgeLauncher\PATCH\deploy\Launcher_0.0.0.0_StandaloneWindows64\Launcher_Data\Managed\Mono.Security.dll (this message is harmless)
    System.NullReferenceException: Object reference not set to an instance of an object
    at MHLab.PATCH.Downloader.DownloadData.GetRequest (System.String url) [0x00000] in <filename unknown>:0
    at MHLab.PATCH.Downloader.DownloadData.GetFileSize (System.String url) [0x00000] in <filename unknown>:0
    at MHLab.PATCH.Downloader.DownloadData.Create (System.String url, System.String destFolder, IWebProxy proxy) [0x00000] in <filename unknown>:0
    at MHLab.PATCH.Downloader.FileDownloader.Download (System.String url, System.String destFolder) [0x00000] in <filename unknown>:0
    at MHLab.PATCH.PatchApplier.DownloadPatchArchiveFile (MHLab.PATCH.Patch p) [0x00000] in <filename unknown>:0​
     
  6. ManHunterITA

    ManHunterITA

    Joined:
    Sep 3, 2013
    Posts:
    341
    Hi @scourgey

    you forgot to set your API Compatibility Level to ".NET 2.0" instead of ".NET 2.0 Subset".
    Remember to do it.

    Also, you should not run it under Unity Editor because it download files in your application root path (your project in that case).

    Best regards,
    Emanuele
     
  7. scourgey

    scourgey

    Joined:
    Jan 5, 2014
    Posts:
    20
    Thanks that worked @ManHunterITA I don't believe it's noted in the documentation though, nor the youtube tutorial
     
  8. ManHunterITA

    ManHunterITA

    Joined:
    Sep 3, 2013
    Posts:
    341
    Hi @scourgey

    I'm glad it worked fine. Yeah, it exists on documentation, in FAQ section:
     
  9. scourgey

    scourgey

    Joined:
    Jan 5, 2014
    Posts:
    20
    @ManHunterITA I'm trying to build a Mac version of the launcher, I've made a mac standalone build of my game, and uploaded the files, yet when the launcher tries to download the game, it downloads the individual files fine, but it doesn't place the files in the right directories, instead it just places all the files in the same directory. I had a check through the documentation but I didn't find any obvious answers.

    I've tried checking & unchecking the install in local path option on the launcher, but it doesn't make any real difference. Would you have any ideas what I maybe doing wrong?
     
  10. ManHunterITA

    ManHunterITA

    Joined:
    Sep 3, 2013
    Posts:
    341
    Did you create your Mac builds/patches on a Mac too?
     
  11. scourgey

    scourgey

    Joined:
    Jan 5, 2014
    Posts:
    20
    I've tried building it on a mac, it didn't make any difference. I did try making the patcher run local to my Macbook (as in the PATCH location being local to the macbook) and I didn't observe the problem there. So it's possible that PATCH is not preserving the file structure when it's downloading from some web sources. I'm using an alternative to the amazon s3 webstorage - https://my.s3for.me/ I'll see if I can get it working later later this weekend.

    I did spot another issue though, when I download the game via the launcher, I need to change the file permissions of: mygame.app/Contents/MacOS/mygame to 755 before it is able to start.

    Please let me know if there's anything I should be aware of.
     
  12. ManHunterITA

    ManHunterITA

    Joined:
    Sep 3, 2013
    Posts:
    341
    Uhm,
    about the Mac problem, I should plan some tests: I never observed that issue. Probably you're right: certain servers don't preserve the .app file structure (in example, Windows serves it as a directory).

    About privileges problem: we already solved it some pages ago and I have included a fix to ensure privileges after patching.
    You can find the method in Launcher.cs, it is named "EnsureExecutePrivileges".
     
  13. EmeralLotus

    EmeralLotus

    Joined:
    Aug 10, 2012
    Posts:
    1,459
    Cool project. What is the difference between the FULL version and the normal version?
     
    ManHunterITA likes this.
  14. ManHunterITA

    ManHunterITA

    Joined:
    Sep 3, 2013
    Posts:
    341
    Hi @rocki

    the only difference is about source code of P.A.T.C.H. core.

    In full version it is included and you're allowed to edit it. In normal version it is included in a DLL and you're not allowed to edit it!
     
  15. LoftyTheMetroid

    LoftyTheMetroid

    Joined:
    Oct 26, 2012
    Posts:
    57
    Hi ManHunterITA!

    So, I don't know if you remember me, but you helped me with P.A.T.C.H. on my Mac awhile back. At the time, I wasn't able to get P.A.T.C.H. working in time for our release date (I work on educational games, so we have to ship at the start of a semester), but I noticed you had since made a fix for the OSX problem we encountered. That same game was to be made available again this semester, so I took another stab at integrating P.A.T.C.H.... and I got it working! I thought I might give you a short insight into how things went as well as some questions/issues that came up.

    So, as I mentioned, the Launcher has been successfully deployed to students, and it seems to be working! The actual version and patch creation process was fairly elegant and painless, particularly once I understood the purpose of each generated file. In particular, I was worried P.A.T.C.H. wouldn't be able to handle extremely large build sizes (20+ GB), but it seemed to work just fine.

    In terms of other thoughts/issues:

    Mac Build Renaming
    One issue that came up had to do with renaming Mac builds (i.e. the actual .app file). When I first started testing, I would make multiple builds in the same location, so I had to give them different names ("Build_V1", "Build_V2", etc.). I figured I could just rename them to "Build" after placing them in the current directory of the workspace folder, right before creating a new version.

    As it turns out, this created issues when patching! Apparently, renaming the .app is not enough, as there are other underlying files with names derived from the original build name that caused a conflict. Thus, I learned to take special care to remain consistent when naming during the build process, and to not rename later. (Maybe this is common knowledge or expected, but I wasn't aware of it beforehand.) Do what you will with this information!

    Desktop Shortcut
    It seems like you're still aware of the issue on your roadmap, but the Create Desktop Shortcut option is not working. (If you fix this, also take into account your Mac users if you could!)

    Install In (Relative) Local Path

    Is it possible to not only install in a local path, but in a subdirectory of the local path? If not, could this be an added feature in the future?

    Mac Program Files Directory
    I know you're still working on Mac support, but just to be thorough, I don't think the Program Files Directory field works for Mac builds. (I would assume the equivalent install location should be the Applications folder...?)

    Launcher Methods and Flexibility
    I would like to have much more customizable launcher functionality, but it seems difficult to wrangle with Launcher.cs and selectively call functionality outside of the CheckForUpdates thread.

    For example, it would be really nice to have some sort of explicit Install() method I could freely call from within my launcher, rather than have Launcher.cs automatically install on Start(). This way, I could have users select an installation location first, or a user could selectively install one game from a list of available games.

    Another example would be a Repair() method. I don't want there to be a repair check every single time a user opens the launcher since, for our game, it can take upwards of 5-10 minutes. However, I would like users to optionally execute a repair check through a button or something.

    All of these functions I could make the surrounding code scaffolding myself, it's just not clear to me what objects I need to interact with, in what ways, and in what order. (Although I could probably figure it out with a little more digging/testing, just pointing out I wish it was easier or more straightforward.)

    Launcher Progress Bars
    Finally, I was having problems with the progress bars and had to make a couple changes, but I'm still not able to get the main progress bar to work. I seem to need to rely on the OnSetMainProgressBar() callback, where I am being sent a min value of 0 and a max value of 2. These values are meant to represent steps rather than actual percentage values, correct? If so, do "steps" represent the total number of files that need to be downloaded? OnIncreaseMainProgressBar() is also only being called once, which doesn't seem right. Any thoughts on this?

    ––––––––––

    ...And that's it! I'll also just say, thanks for working on this product, it will really save our butts this semester.
     
    ManHunterITA likes this.
  16. ManHunterITA

    ManHunterITA

    Joined:
    Sep 3, 2013
    Posts:
    341
    Hey, I remember of you of course! I'm happy you got it working, finally! :)

    Yeah, it's true: you can't simply rename your .app. Why? Because it is just an archive. The real executable is stored in a subfolder!
    The good practice is to build your game with the same name you used in Launcher settings!

    Yeah, I know that shortcut generation isn't working each time (depends on system). On my end (Windows 10) it works everytime, but I need to collect info about the error cases. On Mac it of course will not work: I will study how to generate a shortcut on Mac! :D

    Yeah, it is possible. Just create your desired subfolder in your "current" folder and put your game build in it! :)

    Uhm, I sincerely don't know how Mono fills the content of Environment.SpecialFolder.ProgramFiles static var on Mac. But I can of course change it, if I know the content on Mac of that SpecialFolder enum.

    Launcher.cs is just an example of how you can create your own Launcher class by using P.A.T.C.H. APIs. It fits with the 90% of the users cases, but you can of course write your own!

    To be honest, I'm working on the next big release: 3.0.0. An entire refactoring is planned (I already refactored some classes), but the interesting thing is that it will include a lot of interesting new features.

    Yeah, it represents steps. But they will be recoded and refactored too since they are obsolete right now (due to a lot of changes made in last months). So yeah: they definitely don't work well :p

    Thank you, I'm glad it is useful for you! :D
     
  17. LoftyTheMetroid

    LoftyTheMetroid

    Joined:
    Oct 26, 2012
    Posts:
    57
    So, one issue that came up for us is with users downloading the launcher onto a Mac running OSX Sierra. Fortunately, I found a workaround, but I thought I'd throw this out here in case it helps anyone else.

    Our launcher setup involves a zipped folder containing the launcher .app file. We do this so that the game download can be contained within the same folder as the launcher (we install in local path).

    When users download the zipped folder from a link, unzip the folder, and open the launcher, it will immediately crash as soon as Launcher.cs tries to do its thing.

    However, strangely enough, if the launcher is moved to another folder... the issue is resolved! So we are asking our Sierra users to just move the file in and out of the container folder.

    I'm not sure why this happens, and it is ONLY with Sierra. I blame Apple...

    Woah, nice! Do you have an ETA or timeline on this?
     
  18. ManHunterITA

    ManHunterITA

    Joined:
    Sep 3, 2013
    Posts:
    341
    Uhm, that issue seems really weird! I don't know if I can do anything about it.

    About ETA: I don't really know, but I already included some nice features (builds optimizations, as example).
     
  19. jalf

    jalf

    Joined:
    Jun 28, 2014
    Posts:
    16
    Hi Folks,

    I just purchase and import the asset on my Project...and now i´m lost due a compile error:

    Assets/MHLab/PATCH/Localizatron/Core/Localizatron.cs(83,30): error CS0117: `Settings' does not contain a definition for `LANGUAGE_DEFAULT'

    private void Init() {
    // Set language to default
    this.SetLanguage (Settings.LANGUAGE_DEFAULT);
    }

    am i doing something wrong?? Please help..
     
  20. ManHunterITA

    ManHunterITA

    Joined:
    Sep 3, 2013
    Posts:
    341
    Hi,

    just try to add the namespace before of that property: MHLab.PATCH.Settings.Settings.LANGUAGE_DEFAULT.
     
  21. jalf

    jalf

    Joined:
    Jun 28, 2014
    Posts:
    16
    Works! Thanks!
     
  22. Meimi

    Meimi

    Joined:
    Sep 25, 2013
    Posts:
    3
    Hi!
    My team bought the PATCH system and we are having a hard time trying to make it work when we want to update our launcher. Updating the game works fine, and also the repair, patcher and rolllback features. The problem is when we want to update the launcher itself.

    My files and folders paths can be seen on the images below.
    build0.png builds.png patcherPath.png patch.png

    When we try to run the launcher, after downloading the 76Mbs, it rolls back to version 0.0.0.0 and writes the following line in the logs file:
    patcherLog.png
    In your documentation file, it says that the launcher should ask for a restart but this never happens and it ends up trying to access files that are locked (I suppose). Can you give me any guidelines on how to solve this issue?

    Thank you!
     
  23. ManHunterITA

    ManHunterITA

    Joined:
    Sep 3, 2013
    Posts:
    341
    Hi,

    the answer is simple.

    You're using version 0.0.0.0 to patch it to 0.0.0.1, right?


    As you can see, here you didn't include the Launcher, so P.A.T.C.H. doesn't know about its files and they are not indexed. From P.A.T.C.H.'s point of view, the Launcher doesn't exist at this point.

    But in your 0.0.0.1, you included the Launcher:


    The generated patch, so, includes all Launcher's files as "new" files, because it doesn't expect to find those files (they don't exist in 0.0.0.0 build).

    So when you run your test, you probably added your Launcher in your 0.0.0.0 test folder. P.A.T.C.H. didn't expect to find Launcher's files because they were not indexed, so it tried to create them.
    Since you already created those files in your test, here is the sharing violation.

    Solution: include your Launcher in 0.0.0.0 too. :p

    Anyway, I can add a check in my core for this situation too! Thank you for reporting this!
     
  24. Meimi

    Meimi

    Joined:
    Sep 25, 2013
    Posts:
    3
    Awesome. That fixed the problem, thank you!
     
    ManHunterITA likes this.
  25. ManHunterITA

    ManHunterITA

    Joined:
    Sep 3, 2013
    Posts:
    341
    You're welcome!
     
  26. Konst

    Konst

    Joined:
    Aug 26, 2013
    Posts:
    78
    Hello, everyone!
    Does anyone have experience to using P.A.T.C.H with AWS S3?
     
  27. gizmovr

    gizmovr

    Joined:
    Nov 16, 2016
    Posts:
    4
    Hello,
    Doest anyone made it work with Unity 5.6.+?
    I not able to setup empty project to work without patching or repairing errors.

    I trying to setup IngameIntegratedPatcher sample to make it work perfect but all the time there are some issues during the app launch: stacks on patch downloading without any errors, or mess up the app files and next time launches with an error about the "appName_Data" folder doesn't exist.
     
  28. MrBlueSky

    MrBlueSky

    Joined:
    Jan 7, 2013
    Posts:
    20
    Hello,

    my company bought your plugin to add a self update feature in one of our products.
    It is working fine with a separate patcher who launch the game after downloading last version,
    but when I try to use the "Integrated" solution, the first time I launch the game, after patching, I'm not able to switch to scene "1" because :
    Scene with build index: 1 couldn't be loaded because it has not been added to the build settings.
    To add a scene to the build settings use the menu File->Build Settings...

    This is happening only the first time. I guess that the second time I launch the game, the scene "1" is now already downloaded and then loaded correctly.
     
  29. ManHunterITA

    ManHunterITA

    Joined:
    Sep 3, 2013
    Posts:
    341
    Never tried, sorry.

    Never had problems with Unity 5.6.0b3. Probably your issues are relative to something else.

    If your scene "1" isn't in the first build, of course, it can't load your scene: it doesn't exist. :p
     
  30. MrBlueSky

    MrBlueSky

    Joined:
    Jan 7, 2013
    Posts:
    20
    But when I press the Deploy button, do you build all scenes that are in the Unity settings or only the 0 or the selected one ?
     
  31. Konst

    Konst

    Joined:
    Aug 26, 2013
    Posts:
    78
    @ManHunterITA Dear, Developer.
    I am requesting new feature to be able to host files at Amazon Web Services S3. You can create free account for one year. This is a must PRO feature!
    Log says when trying to connect to AWS S3 bucket with "patches" and "builds" folders :
    [P.A.T.C.H. - 3/7/2017 2:40:01 PM] Installation started!
    [P.A.T.C.H. - 3/7/2017 2:40:01 PM] Checking... - Checking for remote service!
    [P.A.T.C.H. - 3/7/2017 2:40:01 PM] Downloading file... - Downloading index file for installation!

    Will give 6 stars review :)
    Thanks a lot.
     
  32. ManHunterITA

    ManHunterITA

    Joined:
    Sep 3, 2013
    Posts:
    341
    Deploy feature is currently deprecated, it will be removed in next release.

    Your error seems more something about wrong API Compatibility Level setting. Set ".NET 2.0" instead of ".NET 2.0 subset".
     
  33. Konst

    Konst

    Joined:
    Aug 26, 2013
    Posts:
    78
    @ManHunterITA ok my bad, i needed to do AWS S3 folder public! everything works fine! AWS S3 ready and approved!
     
    Last edited: Mar 7, 2017
    hopeful likes this.
  34. Konst

    Konst

    Joined:
    Aug 26, 2013
    Posts:
    78
    @ManHunterITA as you mentioned before there is version 3.0.0 an entire refactoring is on the way. When do you plan to release new version? Want to decide is it worth to migrate for current version or wait and stay with solution i using right now.
     
  35. Martian-Games

    Martian-Games

    Joined:
    Jan 19, 2012
    Posts:
    44
    I distributed my game with self-contained patcher in Unity 5.3. Patches in 5.3 worked well, but I updated my game to Unity 5.6 and the patcher is unable to make the patch to new version without error. What is the right procedure for updating the game into a new Unity version?
    Thanks for great product! ;)
     
  36. ManHunterITA

    ManHunterITA

    Joined:
    Sep 3, 2013
    Posts:
    341
    I have no ETA, I'm sorry. It will come out when it will be ready!
    Thank you for your compliments!

    What's the error? Any log? Did you run your game as admin?
     
  37. LoftyTheMetroid

    LoftyTheMetroid

    Joined:
    Oct 26, 2012
    Posts:
    57
    Alright, so like I mentioned before, we used P.A.T.C.H. to distribute a (very large) educational game that was patched at certain points throughout the semester to add extra content. In total, we had a little over 100 students take the course. Since we are nearing the end of the semester, I thought I'd mention some of the issues that came up. Maybe these would be useful to you, especially as you work on your major updates.

    ––––––––––

    Foolproof Files and Patching
    After dealing with so many students, some of which have little to no computer or gaming experience, and troubleshooting their problems, I got a sense of what you might consider the lowest common denominator when it comes to users. Generally, where possible, it would seem desirable to remove any opportunity for a user to mistakenly manipulate launcher and game files. Here are examples of problems encountered:
    • Downloaded game files were renamed.
    • Downloaded files were moved into separate folders.
    • Files were deleted (version in particular, I think they thought it was a junk file).
    Not sure what the best solution is for these types of problems, just letting you know in case there are ways you can think of that P.A.T.C.H. can avoid these. For example, is there a way to maintain knowledge of version without an explicit/visible version file that users can change/delete? Also, I would think that reenabling reliable installation in Applications/Program Files with a Desktop shortcut would help by moving files to a place users won't be tempted to play with. (On my end, I could also extend the launcher to perform checks within the directory to ensure files/folders are as expected.)

    On a related note... an Uninstall function build into P.A.T.C.H. would be extremely convenient/useful. Again, I would rather automate this than ask users to delete files by hand.

    Corrupt Files
    Every time I released a major patch, without fail I'd get about five students (out of 100 or so) that would have issues with corrupt files. I am super ignorant when it comes to downloading files from the web, so is there a common reason or explanation for this? Is there anything I can do to minimize these issues?

    More Robust Repair
    Continuing from the previous point about corrupt files... I had to disable the default repair behavior because our game is so incredibly large, it would take upwards of several minutes to check for repairs before users could start the game. I later moved the repair functionality into its own button... but there's no callback that I'm aware of when the repair finishes, so I had to hack my way around enabling/disabling functionality while repairs were ongoing.

    However, making repairs an option led to more problems, in that game files could have been corrupted and needed to be repaired before a patch could begin... but if a patch existed, with the default launcher behavior it would download the patch automatically before a repair could occur. So, users would wait upwards of an hour for a multi-GB patch, only to be told that it couldn't be applied due to preexisting corrupt files.

    Not sure what the best solution is... but it would be nice to make repairs more convenient. Both in terms of customizing when they occur... but also ensuring the patch download and integrity verification process is clean and smooth, with minimal overhead (i.e. no lengthy repair always at launcher start, but ensuring files are not corrupt either just post-download or pre-download of a new patch).

    Also... on long repairs, I've had issues with some students reporting "Error downloading file" and "ConnectionFailure timeout" issues. It seems like their games think they are up-to-date, but the repair has them redownload almost all patch files... and the errors/timeouts force them to restart the repair process from the beginning, which again takes a large amount of time. (They could be doing something ridiculous with the files to cause this, I have no idea what they are doing and I can't recreate it.)

    Progress Bars
    I have access to the download percentage of any one file... but particularly with a large game with lengthy downloads... our users would like to know the download percentage of the overall game, of an individual patch, or the progress during a repair.

    Error Messages
    Is there a way for me to customize error messages? Rather than just having me display your error strings ("Something goes wrong!" is a common one for students), I would like callbacks or an enum or something that lets me, as a developer, understand the potential errors to anticipate and to perform my own logic or feedback to the user based on them. Right now my only option is to relate each of your strings to my own enum, and then to display my own error message based on the enum. It'd be great to skip the middle man and have documentation on these errors...

    More Callbacks in General
    Continuing from the repair and error message notes... having just tons of callbacks would be great, especially since I don't have access to the source.

    ––––––––––

    I hope that's more helpful and seems less like complaining... I really like the product and want to keep using it, I'm just looking towards potential improvements for future semesters (particularly with the summer semester coming up). Thanks!
     
    ManHunterITA and hopeful like this.
  38. ManHunterITA

    ManHunterITA

    Joined:
    Sep 3, 2013
    Posts:
    341
    I really love your comment. I appreciate it so much, because it allows me to know what is good and what isn't.
    And this is extremely good to improve a product.

    A lot of your "problems" were already reported by other customers too, so yeah: I will try to solve them at my best!

    I want this software to be a professional one, so I have to invest professional efforts on it!

    I don't remember if I sent the beta version, if not contact me on Skype/Discord: I will send you something!
     
  39. vicwcc

    vicwcc

    Joined:
    Jul 20, 2016
    Posts:
    2
    hi, thanks for this wonderful plugin, it saves me tons of time to deliver my work.
    But recently, I face a problem need your help. My Unity3d version is 5.4.1, and my setting is like this:

    a.png

    3.PNG 4.PNG

    In the past few months, I use MacbookPro to build patches to target platform Ubuntu 16.04, everything works great. But from last week, I change my laptop to Windows 10, then I found the build version will skip the hash checking. The work flow is like this

    MacbookPro(OS 10.12.4) builds game for Ubuntu 16.04:
    Launcher Start -> Hash Checking -> If files corrupt, re-download -> Check if new patch exist -> Enter Game
    Windows10 builds game for Ubuntu 16.04:
    Launcher Start -> No Hash Checking -> Always re-download the whole game

    And after re-download the whole game, all the files are flatted saved in root folder, it looks abnormal too.

    5.png

    Please help me to solve this problem, thanks.
     
  40. LoftyTheMetroid

    LoftyTheMetroid

    Joined:
    Oct 26, 2012
    Posts:
    57
    That's good to hear!

    I did want to ask about the corrupt files issue again, just because we pushed out another patch and once again had 2-3 students that needed to have their files repaired. I know you're working hard on general improvements to P.A.T.C.H., but for this issue specifically, do you have any insight? What causes these downloaded files to need to be repaired, and is there anything I can do to minimize these issues? Even just some general recommendations for the students would be great.
     
  41. Lethn

    Lethn

    Joined:
    May 18, 2015
    Posts:
    1,583
    Hi, I bought your patching software awhile back in preperation for release day which is coming up fast now that I'm getting more and more work done. I've gotten everything connecting and downloading fine but when I actually launch the game I get this error "Failed to initialize player" and then the above quote in the main error window.

    Any ideas? The only thing I could think of is maybe something has just not been set up quite right but I'm having trouble locating anything amiss in the settings. I suppose it's worth pointing out that even though my project .exe actually downloads off the server correctly it gets the exact same error when you try loading it up through windows explorer rather than the launcher.

    I double checked my file permissions too as I'm downloading from an FTP server and testing so everything is ready for a live release, they're all set to 777 so I know it's not that.
     
    Last edited: May 8, 2017
  42. ManHunterITA

    ManHunterITA

    Joined:
    Sep 3, 2013
    Posts:
    341
    I'm sorry for delay, I didn't receive any notification about those new messages.

    I saw this problem when we build a Mac build from Windows. I wasn't aware it happens on Windows to Ubuntu too.
    I will try to solve this in next release, if it isn't solved yet with new refactoring I made.

    Uhm, if Launcher repairs it means that some files are effectively corrupted or modified (their hashes aren't expected).
    Are files correctly downloaded? Do students modify them in any way?
    Also, if on other students' PCs it works with no problems, can it be something related to their particular machines? Any relevant difference between them?

    If I remember correctly, we solved this issue on Skype together.

    _____________________________________

    After some time, here it is a little changelog about new version: 3.0.0a1. I hope you will like it! :D

    • CORE: whole refactoring of SettingsManager and added comments

    • CORE: introduced a new Logging class

    • CORE - IMPORTANT: new managed services system (Installer, Patcher, etc)

    • CORE: stages/branches introduction

    • CORE - IMPORTANT: breaking changes on “config” file structure

    • CORE: added a new “settings” file for non-Unity Launchers

    • CORE: Patch Builder now creates new index.html file for each directory you have to upload on your host

    • API: added new PATCH façade class to perform main operations

    • API: replaced old callbacks with events

    • API: added new PathCombine and UriCombine methods in FileManager class

    • FIX: solved a bug on Patcher Service. When a file is marked as “removed”, Launcher tries to remove it without checking if it already exists.

    • FIX: solved a bug who causes an exception when Launcher tries to create “.delete_me” files but they already exist

    • FIX: solved a bug who causes the Launcher's process remains opened in background if closed from Windows Taskbar

    • CORE: added WorkspaceCleaning Service. It deletes all files not contained in remote indexers. This will avoid garbage files and similar stuff

    • CORE: added an “ignorelist” for files that Launcher will ignore

    • CORE - IMPORTANT: added new deploy feature who will finally replace the deprecated old one

    • CORE - IMPORTANT: added new Launcher updater process. Now it is standalone and doesn't rely on game updates

    • CORE: added a service to check network connection availability when Launcher starts

    • API: added public utility methods in Utility class

    • GUI: added progress reporting on Launcher's icon in Windows Taskbar (WPF)

    • CORE: added a ServiceCache to save performances and bandwidth
    • CORE: check for remote service available when Launcher starts

    • API: added public MHLab.PATCH.Utilities.Utility.IsRemoteServiceAvailable() method
    • CORE - IMPORTANT: optimized builds' size up to 99%

    • CORE - IMPORTANT: added plugin system

    • CORE - IMPORTANT: solved a NullReferenceException in Unity Patch Builder when script is recompiled while you have your Patch Builder's window opened

    • CORE: current folder's content isn't deleted anymore after a new builds is calculated
    Probably I forget something, but I will certainly add everything on release!

    Stay tuned!
     
  43. Lethn

    Lethn

    Joined:
    May 18, 2015
    Posts:
    1,583
    For the record we didn't and I contacted you through email, you're probably confusing me with someone else, I'm still testing things, but I think I have a theory on what went wrong. I ran into bandwidth limits on my web host so I'm going to spend some time this weekend testing it out out on the local folders first I think that the patcher was trying to download with the bandwidth limits turned on or something and that may have been corrupting the files.

    I'll check out for sure though and report back so you can tell people what's going on if they ask, I've just got other stuff I'm getting on with now so I can finish my game :) I've just been thinking that it might actually be worth me making an entirely separate FTP account just for patching, that way I won't have my site wrecked by the patching software if I go over the limits by accident.
     
    Last edited: May 19, 2017
  44. Polemus

    Polemus

    Joined:
    Nov 14, 2016
    Posts:
    28
    Any ETA on this next release?
     
  45. ManHunterITA

    ManHunterITA

    Joined:
    Sep 3, 2013
    Posts:
    341
    Oh, yeah: probably I confused you with someone else, sorry.
    Let me know, anyway!

    Really not: I haven't any ETA about this release. I will work on it in my spare time and I want it to be perfect and simple to use.

    On this topic, just let me know what you guys want to see in P.A.T.C.H., which bugs are annoying you, if the workflow has to be improved, etc.
    I will try to add everything, according with my schedule.
     
  46. Polemus

    Polemus

    Joined:
    Nov 14, 2016
    Posts:
    28
    regarding features :)

    Also add an option for local file system deployment. so i can specify a path of where it needs to be deployed, i dont use an FTP site, i use dropbox

    and ... maybe try and create a simple step-by-step guide.... i purchased the asset, and i have been struggling for 2 hourse trying to figure out what i am doing.. i am using integrated launcher, i follwed as best i could, but when i click on "upload" for the build, it just stays on "Retrieving files to upload". if i i look at the log it shows: "Assets\MHLab\PATCH\Plugins\builds\" is not found.
     
    Last edited: May 20, 2017
    ManHunterITA likes this.
  47. musoufan91

    musoufan91

    Joined:
    Nov 27, 2012
    Posts:
    8
    Quick questions
    Do I need to keep all the builds on my sever at all times or can I delete them as I update?
    Do I have to make a patch for lets say 1 to 3 or if users are behind in patches do they get all patches sequentially?
     
  48. ManHunterITA

    ManHunterITA

    Joined:
    Sep 3, 2013
    Posts:
    341
    If you want your users to repair from their old versions, you can keep old builds on server. If not, you can delete them.
    Patches are applied sequentially, in a linear way, by taking the shortest path.
    Example: if your player has 0.0.0.1 version and on remote side you have 0.0.0.1_0.0.0.2 and 0.0.0.2_0.0.0.3 patches, P.A.T.C.H. will apply those patches sequentially.
     
  49. errandfox

    errandfox

    Joined:
    Apr 22, 2015
    Posts:
    42
    Is it normal for compressing deployed build to take a loooong time? game build is about 2Gb.
    resource monitor doesn't show unity as not responsive so I'm assuming it's still working. It's been about 25 minutes so far?
     
  50. ManHunterITA

    ManHunterITA

    Joined:
    Sep 3, 2013
    Posts:
    341
    Yeah, basically that ZIP compressor has 1-9 levels of compression quality. I'm using level 9 for everything (so it takes more time to compress).
     
    errandfox likes this.