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. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice
  3. Join us on November 16th, 2023, between 1 pm and 9 pm CET for Ask the Experts Online on Discord and on Unity Discussions.
    Dismiss Notice

PatchEasy - Fire and Forget patcher

Discussion in 'Works In Progress - Archive' started by GoodEnoughGames, Jun 3, 2015.

  1. GoodEnoughGames

    GoodEnoughGames

    Joined:
    Jun 2, 2013
    Posts:
    66
    When I'd been working on some of my old games, the hardest part is getting people to test it. And an even harder part is to always make sure they have the latest version of the game.

    I've seen some patcher solutions out there but they generally cost too much just for testing, and they all require your own server and whatnot, so that's when I decided to make this project.

    It's an easy to use all in one patcher. All you need to do is upload your game to our server (everything's encrypted and password protected and whatnot so no need to worry), and distribute the launcher to your clients and that's it!

    Every time you want to release an update, you just have to upload the newest version of the game and then badabing badaboom your users get the update.

    The way it works is quite simple, when you upload your game to the server, the server works out which files have been changed since the previous time you uploaded it. The client also knows when their files were last changed. So this means, no matter what version of the game/program your user has, they can get to the latest version of the game in just one patch, patching only the files they need.

    To give a user access to your game, you simply have to give them a unique, one time use, product key (generated by our servers) and the launcher. The first time they open the launcher, it'll ask them for said product code, and then ask them to make an account (their product key then gets attached to this account, so they can use it anywhere they like). After that, the launcher will download all the neccessary files and launch the game, and then they'll be kept up to date for as long as you update the game!

    The benefits of this are obvious:
    - Quick downloads for your user
    - No having to patch more than once to get the latest version
    - No needing your own servers/storage space
    - Developers life gets a lot easier (just upload and then bam you're done)

    PatchEasy isn't finished yet, as the website still needs some work and so does the launcher. But do you guys have any suggestions/feature requests?

    WIP Launcher:
    upload_2015-6-3_14-59-52.png

    WIP Website:
    upload_2015-6-3_15-1-1.png

    This patcher is aimed pretty much 100% at Unity users, so it'll be best optimized for unity project builds.

    Also, I intend to make game verification an option. So your game can check our servers to make sure the person playing has indeed bought your game (if you're selling it, that is)
     
  2. inko

    inko

    Joined:
    Nov 29, 2013
    Posts:
    143
    I've been looking for good and cheap patching solutions myself and this looks indeed interesting. I'm not quite sure I get the DRM system though. Why would you handle the DRM in the patcher? To circumvent this DRM all the user would need to do is upload the once downloaded gamefiles on a webspace. Done, DRM broken.
    It's also a bit awkward for games that are already using an ingame account system since that would require 2 different logins to run the game.

    Are there any options you use my own webspace instead of your servers?
    And what are your pricing plans?
     
  3. GoodEnoughGames

    GoodEnoughGames

    Joined:
    Jun 2, 2013
    Posts:
    66
    Why would you handle the DRM in the patcher?
    The DRM wouldn't be handled in the patcher, sorry if that was unclear. There would be an optional check you could do in the game (which I will write the script for).

    And what are your pricing plans?
    Pricing plans are going to be tier based, paid monthly, and based on number of users and the size of file you want to upload. The first tier would be for free, and I have yet to decide on the cost and user/size limitations of the other tiers.

    Are there any options you use my own webspace instead of your servers?
    Actually I hadn't thought of that. But I will look into possibly implementing it. But that definitely won't be in the initial release.
     
  4. inko

    inko

    Joined:
    Nov 29, 2013
    Posts:
    143
    Thanks for the quick and clear answer.

    Sign me up! :D

    Seriously though, sounds very interesting, I might give it a try :)
     
    GoodEnoughGames likes this.
  5. GoodEnoughGames

    GoodEnoughGames

    Joined:
    Jun 2, 2013
    Posts:
    66
    Product key generation and deletion down works:
    upload_2015-6-4_12-32-11.png

    Here you can see who is using your game. If you delete one of the product keys, the user will no longer have access to updates (this can be useful for transitioning from free alpha stages to paid beta stages).

    You'll be able to download the product keys and codes as a .csv, and distribute them in anyway you see fit.

    And eventually you'll be able to run checks in your game as a form of DRM, to make sure the user is allowed to use your game.
     
  6. GoodEnoughGames

    GoodEnoughGames

    Joined:
    Jun 2, 2013
    Posts:
    66
    I'm going to need a few volunteers to test this system out. Said volunteers will receive bonuses when the system is fully released.

    Basically, you have to try and break it/check to make sure it works as intended and when it's fully released you'll get more storage space/users.

    Post here if you want to try it out, and include the current filesize of your project (the built version).
     
  7. TVE

    TVE

    Joined:
    Oct 15, 2012
    Posts:
    379
    This looks awesome, I would be very interested in trying it out, does the website have any forms of security protecting the databases from possible hackers that attempt to create new false keys or false updates?
     
  8. Zubba

    Zubba

    Joined:
    Mar 6, 2010
    Posts:
    67
    But paying per month per user means the end price is pretty costly.
     
  9. GoodEnoughGames

    GoodEnoughGames

    Joined:
    Jun 2, 2013
    Posts:
    66
    The reason the price is based on users is all down to bandwidth. The more users you have, the more bandwidth they'll use, thus making the web hosting more expensive.

    I was possibly thinking of a bandwidth tracker for each account and the prices would be based on how much you're actually using. I feel this is more fair, because if your game's only 20MB and has 150 users, why should you pay as much as someone who's game is 300MB and has 150 users?

    Do you think it'd be more fair like that?
     
  10. GoodEnoughGames

    GoodEnoughGames

    Joined:
    Jun 2, 2013
    Posts:
    66
    All sensitive data in the databases is encrypted, and I'm currently working on file encryption. So when you upload your game, the server will encrypt the file. This way, even if someone somehow does manage to get the game file, they won't be able to make heads or tails of it, thus rendering it useless to them.

    Product keys are completely secure as they are generated for your account, so if an attacker attempts to use a keygen, they have a 1 in 9.357E16 chance of getting it right. And the place where the user enters their product key in during sign up is brute force protected as well. So basically they're not going to be able to guess/steal a key.