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

Standalone Launcher/Patcher

Discussion in 'Works In Progress - Archive' started by KnightsShadow, May 31, 2015.

  1. KnightsShadow

    KnightsShadow

    Joined:
    Jan 21, 2013
    Posts:
    14
    Hey guys,

    today I would like to share a Project with you I am working on for a few months now: A cross platform Launcher/Patcher

    The patcher manages your versions and patches between the versions and sends them to your games players: New players get automatically the newest version of your game and existing installations get updated once a new patch is avaliable for their current version without the need to redownload the entire game again.

    But how does it work?

    The system consists of 3 components:
    • A AdminTool for creation and managing of your data online and offline
    • A PHP Server for your Webspace that provides functionality to communicate with your database
    • A Client for your players. This client does all the work you would expect from a traditional launcher/patcher from downloading versions over patching up to repairing damaged files (Pausing Downloads, Resuming accross sessions etc are also included. More functionality avaliable via custom SDK)

    Is it secure?

    Yes and no... The Server has a protection layer. In this layer, the admin tool and the client communications are separated so no client can upload any data for example. But connections are not encrypted

    Is it cross platform?

    Yes! The system is build to run on a wide range of OSes.
    The AdminTool is java based and can be run withing Windows OS X and Linux per Terminal/Command Prompt.

    Currently there is only a Java Client avaliable, requiring users to have at least JRE 1.7 installed.
    A Unity based Client is already in work.

    Additionally there will be a SDK for every supportet language (Java SDK already exists as the Java Client builds on top of it) so everyone can develop its own custom clients.

    Clients built by me all come along with a ConfigCreation Tool that gives you the ability to configure your client (From UI up to Information about your Server URL etc). The created .pcc files can be used by any Client and are not bound to a specific language.

    Do I need a server for every OS / Are beta versions possible?

    The system uses so called "channels". Each channel contains its own versions and patches. Every client only pulls data from a single channel.
    So you could create e.g. a channel for every OS or beta channels.

    This sounds rather complex

    But it isn´t. The system does the hard work for you and you can concentrate on developing the best game ever made (I hope so).

    Is there automation?

    Indeed! The AdminTools comes with a powerfull script system. With a assembler like language you can code routines ins .txt files that allow you to automate your release processes as you need.

    Where do I get this magical system?

    Currently no where. With different clients there are also some minor functions missing and bugs need to get identified and erased. Once its done, you will be able to purchase it online. But you do not need to pay for all the clients and SDKs you only buy and license the parts of the patcher system you really need.

    Besides that I would like to start a small closed beta program. So if you do have a project running that runs on a standalone platform and you want to share your game with a broad audience and want to give them always the newest content please feel free to contact me. We will then discuss how the system fits in your project best. Of course I will be at your side if it comes to creating the needed environment or version managing.

    I really am interested in your opinions about this project.

    KnightsShadow :)
     
    Last edited: Jul 16, 2015
  2. KnightsShadow

    KnightsShadow

    Joined:
    Jan 21, 2013
    Posts:
    14
    Edited the main post