Announcement

Collapse
No announcement yet.

[FREE] Launchpad - A free, open-source UE4-compatible game launcher

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    [FREE] Launchpad - A free, open-source UE4-compatible game launcher

    Hi everyone!

    A few years ago, I decided to make a proper launcher for my game. Instead, well... I got a tad carried away.
    We've come a long way since that first janky litte application, and I'm happy to have had you with me along the way. Here's to another few years of open development and solid game launchers!

    ----

    Presenting, Launchpad! An open-source, UE4-compatible launcher for your games, available free of charge!

    Click image for larger version  Name:	Xq1mtRl.png Views:	1 Size:	42.1 KB ID:	1179256

    Description
    Launchpad takes care of the installation, updating and maintaining of your game. It features game installation, automatic update scanning, local file verification and displaying of a HTML changelog. The program (if you're a developer) requires you to have a working FTP or HTTP server to distribute your files - it's also a little picky about the folder structure. A guide is available on GitHub, where I'll walk you through setting up Launchpad for your game.

    Features
    • Full Unix, Mac and Windows support through Mono and GTK# - compile once, run everywhere!
    • Not just UE4 - Launchpad can handle arbitrary games and software.
    • Handles updating, installing and verifying your game
    • Supports all major game platforms on one server (Linux, Mac, Windows). One server, one launcher!
    • FTP and HTTP/HTTPS support, with BitTorrent coming soon
    • Lightweight (tiny install size and not a resource hog)
    • Supports resuming of aborted downloads or interrupted files
    • Simple to set up and simple to use - in many cases, it's a one-click setup!
    • Displays a standards-compliant HTML/CSS changelog to your users!
    • Available in 19 languages, thanks to community effort!

    Launchpad is intended for people who don't have the time, knowledge or resources to create their own specialized launcher (single developers, indie studios and hobbyists) - if you represent a proper company, I'd advise you to talk to your lead programmers about developing your own launcher. You are, of course, free to use Launchpad or build off of it. If you want to write your own launcher, you're also free to study what I've done in Launchpad.

    The default UI is very, very basic, but it should not be very hard to edit it in VS or MonoDevelop to suit your needs. I'm not an artist, which is probably pretty evident at this point If you have any suggestions on how to improve the default UI, feel free to share.

    Launchpad is written in C#, and the source is available here: https://github.com/Nihlus/Launchpad
    I would greatly appreciate any bug reports, feedback or suggestions for it.

    You can download a binary package of Launchpad here, however, I recommend building from source. The version provided below is outdated, and will most likely not be automatically updated due to a breaking change (the move from WinForms to GTK+ on Windows which requires the end user to install an additional package.)
    Zipped binaries
    Tarball of binaries
    Debian package

    Launchpad is released under the GPLv3 license, which means you're free to use Launchpad in commercial projects and to build off of the code as much you want to.
    https://github.com/Nihlus/Launchpad/...aunchpad-Legal

    If you want to talk with the community, or give me feedback, I've set up a Discord server - we'd love to have you

    There used to be a guide here! If you're looking for the old documentation, it's been deprecated and is no longer supported. Read the new documentation here.
    Attached Files
    Last edited by Jargon; 01-05-2019, 05:37 PM.
    Talk to me on qTox: E8FF4A2B55C2C3A8BC7B60F729E8884BF95CEB4FE8906AE76F5941B08E73066AF562A26C280B
    Stalk me on the IRC: jarl or jargon
    Need a launcher for your games? Check out Launchpad

    #2
    Dude this is amazing! What other questions should I ask you on answerhub lol. I figured you would help me out but wow.
    Isaac Nichols
    Game Developer & Music Producer - Threaded Pixel Studios
    Currently working on Drones & Ruins a Sci-Fi twin-stick shooter.

    Comment


      #3
      Originally posted by Isaac Nichols View Post
      Dude this is amazing! What other questions should I ask you on answerhub lol. I figured you would help me out but wow.
      Haha

      I had already started working on a launcher for my game - I figured I might as well release what I had, and it sort of snowballed from there. I'm glad you're happy -It's going to be pretty buggy initially, so do tell if you find something worth fixing or tweaking.
      Talk to me on qTox: E8FF4A2B55C2C3A8BC7B60F729E8884BF95CEB4FE8906AE76F5941B08E73066AF562A26C280B
      Stalk me on the IRC: jarl or jargon
      Need a launcher for your games? Check out Launchpad

      Comment


        #4
        Originally posted by Jargon View Post
        Haha

        I had already started working on a launcher for my game - I figured I might as well release what I had, and it sort of snowballed from there. I'm glad you're happy -It's going to be pretty buggy initially, so do tell if you find something worth fixing or tweaking.
        I understand however, the fact that there is something in the works is great.
        Isaac Nichols
        Game Developer & Music Producer - Threaded Pixel Studios
        Currently working on Drones & Ruins a Sci-Fi twin-stick shooter.

        Comment


          #5
          Launchpad has been updated to version 0.0.2.
          • Reworked the UI code a bit
          • Fixed a hardcoded URL
          • Added an option to receive official updates from me instead of hosting Launchpad yourself
          • Improved game and launcher update checking


          The launcher will not auto-update to this version due to the changes I made to the update procedure - you'll need to manually update.
          All links in the main post have been updated
          Talk to me on qTox: E8FF4A2B55C2C3A8BC7B60F729E8884BF95CEB4FE8906AE76F5941B08E73066AF562A26C280B
          Stalk me on the IRC: jarl or jargon
          Need a launcher for your games? Check out Launchpad

          Comment


            #6
            I got a question on that (:
            Is it possible to limit the game to only start from the launcher?

            I want a launcher with a Login (thats not the problem) and after a succesfull login, i want the player to be able to start the game from there.
            But as far as i know, he could still start the Game without the launcher with the normal .exe.
            Is there a way to stop this?

            I will ask this question in the answer hub as well. Maybe i can grab a Staff guy (:
            Open for contracted work | C++/BP (incl. Multiplayer) | Tutoring | VR

            My UE4 Blog/Page with Tutorials and more: Hit me for ALL the things!
            (Including 100+ Pages Multiplayer Network Compendium to get you started.)

            Comment


              #7
              Originally posted by eXi View Post
              I got a question on that (:
              Is it possible to limit the game to only start from the launcher?

              I want a launcher with a Login (thats not the problem) and after a succesfull login, i want the player to be able to start the game from there.
              But as far as i know, he could still start the Game without the launcher with the normal .exe.
              Is there a way to stop this?

              I will ask this question in the answer hub as well. Maybe i can grab a Staff guy (:
              Hi there!

              Launchpad can't do this on its own, but you should be able to implement a system via C++ that requires some type of login token before the game will start (passed through command line, for example). That login token could conceivably be generated by Launchpad (or some other launcher). It's most definitely possible, but I'm not sure where you'd implement that code.
              Talk to me on qTox: E8FF4A2B55C2C3A8BC7B60F729E8884BF95CEB4FE8906AE76F5941B08E73066AF562A26C280B
              Stalk me on the IRC: jarl or jargon
              Need a launcher for your games? Check out Launchpad

              Comment


                #8
                Ok thank you (: i will ask some Staff Guys on the HUB for that and let you know. Maybe some more guys here want to know that, because most of the launchers are made like this.
                Open for contracted work | C++/BP (incl. Multiplayer) | Tutoring | VR

                My UE4 Blog/Page with Tutorials and more: Hit me for ALL the things!
                (Including 100+ Pages Multiplayer Network Compendium to get you started.)

                Comment


                  #9
                  Another day, another update! This time it's an (almost) pure UI update. If you have the previous build, you should receive an automatic update alert.

                  Launchpad 0.0.3:
                  • Updated the UI using a background and buttons made by Isaac Nichols - thanks!
                  • Fixed a bug where the install button would not update and display "Play" instead
                  Talk to me on qTox: E8FF4A2B55C2C3A8BC7B60F729E8884BF95CEB4FE8906AE76F5941B08E73066AF562A26C280B
                  Stalk me on the IRC: jarl or jargon
                  Need a launcher for your games? Check out Launchpad

                  Comment


                    #10
                    Hey this is really awesome nice work thank you for sharing!

                    I'm currently setting this up for my project to deliver test builds so I'm excited to see how she works. One concern I have is the bandwidth of the FTP server? How many concurrent users do you think this system can support? Would it make sense to try to adapt this to using Amazon S3? I imagine this is premature optimization but just curious.
                    Last edited by Mentos; 10-06-2014, 10:18 AM.

                    Comment


                      #11
                      Originally posted by Mentos View Post
                      Hey this is really awesome nice work thank you for sharing!

                      I'm currently setting this up for my project to deliver test builds so I'm excited to see how she works. One concern I have is the bandwidth of the FTP server? How many concurrent users do you think this system can support? Would it make sense to try to adapt this to using Amazon S3? I imagine this is premature optimization but just curious.

                      Hi Mentos! Glad to hear that you're using Launchpad Be sure to tell me if you run into any issues or bugs, it can be a bit fiddly.
                      The number of supported users largely depends on the FTP server itself - connection, disk speed, etc. I've never used Amazon S3, but I'm sure I could implement support for that as well ^.=.^
                      Talk to me on qTox: E8FF4A2B55C2C3A8BC7B60F729E8884BF95CEB4FE8906AE76F5941B08E73066AF562A26C280B
                      Stalk me on the IRC: jarl or jargon
                      Need a launcher for your games? Check out Launchpad

                      Comment


                        #12
                        Originally posted by Jargon View Post
                        Hi Mentos! Glad to hear that you're using Launchpad Be sure to tell me if you run into any issues or bugs, it can be a bit fiddly.
                        The number of supported users largely depends on the FTP server itself - connection, disk speed, etc. I've never used Amazon S3, but I'm sure I could implement support for that as well ^.=.^
                        Awesome I will let you know. I really think it is something that Epic should support out of the box as it is just as crucial as any other bit of functionality in UE4. I'm about to setup the FTP server for LaunchPad but it got me thinking that maybe I could use Dropbox as the 'backend' for the files?

                        Imagine a Dropbox directory with a folder for each version number and a .txt file that serves as the pointer to the latest version and possibly test versions. All you would have to do as a developer would be to setup a dropbox account, drag your files in, change one file in LaunchPad to point to your DropBox directory, distribute LaunchPad (DropPad or LaunchBox might be cool names to play on LaunchPad + DropBox) and boom 1, 2, 3 you're distributing your game.

                        But I wonder if this is this kosher with Dropbox? We'd have to see how many people you share this content with before exceeding some sort of quota?

                        Comment


                          #13
                          Originally posted by Mentos View Post
                          Awesome I will let you know. I really think it is something that Epic should support out of the box as it is just as crucial as any other bit of functionality in UE4. I'm about to setup the FTP server for LaunchPad but it got me thinking that maybe I could use Dropbox as the 'backend' for the files?

                          Imagine a Dropbox directory with a folder for each version number and a .txt file that serves as the pointer to the latest version and possibly test versions. All you would have to do as a developer would be to setup a dropbox account, drag your files in, change one file in LaunchPad to point to your DropBox directory, distribute LaunchPad (DropPad or LaunchBox might be cool names to play on LaunchPad + DropBox) and boom 1, 2, 3 you're distributing your game.

                          But I wonder if this is this kosher with Dropbox? We'd have to see how many people you share this content with before exceeding some sort of quota?

                          That folder-per-version method sounds like it would work really well - I might just try using something similar as an improvement over the versioning system Launchpad uses right now It's kind of a mess, really.

                          Dropbox is an alternative, but I think it would be harder to pull off. For one, Dropbox cuts public access to your account if your bandwidth exceeds a certain limit, and you'd be dependant on their service as well.
                          Talk to me on qTox: E8FF4A2B55C2C3A8BC7B60F729E8884BF95CEB4FE8906AE76F5941B08E73066AF562A26C280B
                          Stalk me on the IRC: jarl or jargon
                          Need a launcher for your games? Check out Launchpad

                          Comment


                            #14
                            Originally posted by Jargon View Post
                            That folder-per-version method sounds like it would work really well - I might just try using something similar as an improvement over the versioning system Launchpad uses right now It's kind of a mess, really.

                            Dropbox is an alternative, but I think it would be harder to pull off. For one, Dropbox cuts public access to your account if your bandwidth exceeds a certain limit, and you'd be dependant on their service as well.
                            Yea I mean for soloists I think Launchpad is perfect because a more developed studio would probably roll their own solution.

                            But say in an ideal world Dropbox supported developer accounts where they could charge for bandwidth overages, what other challenges do you foresee?

                            Comment


                              #15
                              Originally posted by Mentos View Post
                              Yea I mean for soloists I think Launchpad is perfect because a more developed studio would probably roll their own solution.

                              But say in an ideal world Dropbox supported developer accounts where they could charge for bandwidth overages, what other challenges do you foresee?
                              I can't really say for sure, but I think it would be interesting to try a Dropbox-based solution. I think my main gripe is that you'd be dependant on their service - if it goes down, or if they change their rules, you'd be left without any control over your own files. Hosting yourself or hiring a professional host would be preferable, even in an ideal world.


                              Is it alright with you if I try and implement your folder-per-version in my next update? I think it would work a lot better than the current method ^.=.^ If I do, I'll try to keep the client backwards-compatible with the older system.
                              Talk to me on qTox: E8FF4A2B55C2C3A8BC7B60F729E8884BF95CEB4FE8906AE76F5941B08E73066AF562A26C280B
                              Stalk me on the IRC: jarl or jargon
                              Need a launcher for your games? Check out Launchpad

                              Comment

                              Working...
                              X