Announcement

Collapse
No announcement yet.

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

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

    #91
    Originally posted by Parvan View Post
    Thanks a million Jargon. I'm going to incorporate your system into our project for playtest builds. A couple of the testers said having an automatic updater would be useful to them. I'm glad we don't have to reinvent the wheel!
    I'm glad to hear you'll be using it! If you run into any trouble, pop me a message.
    Talk to me on qTox: E8FF4A2B55C2C3A8BC7B60F729E8884BF95CEB4FE8906AE76F5941B08E73066AF562A26C280B
    Stalk me on the IRC: jarl or jargon
    Need a launcher for your games? Check out Launchpad

    Comment


      #92
      Dude this is one of the best open source projects I've ever found, very great work! We'll be using it for Ethereal Legends, for sure.

      For reference, I've got this working via a Windows Azure ftp server.

      Comment


        #93
        Originally posted by Soverance View Post
        Dude this is one of the best open source projects I've ever found, very great work! We'll be using it for Ethereal Legends, for sure.

        For reference, I've got this working via a Windows Azure ftp server.
        Wonderful to hear! I've replied to your email 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


          #94
          Hi There,

          when starting Launchpad i am asked whether i want to use the Launchpad folder with options Yes or No. If i click yes, a .update file gets created and nothing more is happening. If i click no, nothing more is happening. I fear thats not the intended behaviour?

          Comment


            #95
            Hello there!
            I followed your tutorial and now I have this situation: after Launchpad created Config and I edited it, whenever I launch Launchpad, it crashes. I made a local ftp server (file zilla server) and here's a log:

            Code:
            (000057)30.09.2015 22:09:36 PM - (not logged in) (127.0.0.1)> Connected on port 21, sending welcome message...
            (000057)30.09.2015 22:09:36 PM - (not logged in) (127.0.0.1)> 220 ...
            (000057)30.09.2015 22:09:36 PM - (not logged in) (127.0.0.1)> USER anonymous
            (000057)30.09.2015 22:09:36 PM - (not logged in) (127.0.0.1)> 331 Password required for anonymous
            (000057)30.09.2015 22:09:36 PM - (not logged in) (127.0.0.1)> PASS *********
            (000057)30.09.2015 22:09:36 PM - anonymous (127.0.0.1)> 230 Logged on
            (000057)30.09.2015 22:09:36 PM - anonymous (127.0.0.1)> OPTS utf8 on
            (000057)30.09.2015 22:09:36 PM - anonymous (127.0.0.1)> 202 UTF8 mode is always enabled. No need to send this command.
            (000057)30.09.2015 22:09:36 PM - anonymous (127.0.0.1)> PWD
            (000057)30.09.2015 22:09:36 PM - anonymous (127.0.0.1)> 257 "/" is current directory.
            (000057)30.09.2015 22:09:36 PM - anonymous (127.0.0.1)> TYPE I
            (000057)30.09.2015 22:09:36 PM - anonymous (127.0.0.1)> 200 Type set to I
            (000057)30.09.2015 22:09:36 PM - anonymous (127.0.0.1)> PASV
            (000057)30.09.2015 22:09:36 PM - anonymous (127.0.0.1)> 227 Entering Passive Mode (127,0,0,1,211,69)
            (000057)30.09.2015 22:09:36 PM - anonymous (127.0.0.1)> NLST
            (000057)30.09.2015 22:09:36 PM - anonymous (127.0.0.1)> 150 Opening data channel for directory listing of "/"
            (000057)30.09.2015 22:09:36 PM - anonymous (127.0.0.1)> 226 Successfully transferred "/"
            (000057)30.09.2015 22:09:36 PM - anonymous (127.0.0.1)> disconnected.
            (000058)30.09.2015 22:09:37 PM - (not logged in) (127.0.0.1)> Connected on port 21, sending welcome message...
            (000058)30.09.2015 22:09:37 PM - (not logged in) (127.0.0.1)> 220 ...
            (000059)30.09.2015 22:09:37 PM - (not logged in) (127.0.0.1)> Connected on port 21, sending welcome message...
            (000059)30.09.2015 22:09:37 PM - (not logged in) (127.0.0.1)> 220 ...
            (000059)30.09.2015 22:09:37 PM - (not logged in) (127.0.0.1)> USER anonymous
            (000059)30.09.2015 22:09:37 PM - (not logged in) (127.0.0.1)> 331 Password required for anonymous
            (000058)30.09.2015 22:09:37 PM - (not logged in) (127.0.0.1)> USER anonymous
            (000058)30.09.2015 22:09:37 PM - (not logged in) (127.0.0.1)> 331 Password required for anonymous
            (000059)30.09.2015 22:09:37 PM - (not logged in) (127.0.0.1)> PASS *********
            (000059)30.09.2015 22:09:37 PM - anonymous (127.0.0.1)> 230 Logged on
            (000059)30.09.2015 22:09:37 PM - anonymous (127.0.0.1)> OPTS utf8 on
            (000059)30.09.2015 22:09:37 PM - anonymous (127.0.0.1)> 202 UTF8 mode is always enabled. No need to send this command.
            (000058)30.09.2015 22:09:37 PM - (not logged in) (127.0.0.1)> PASS *********
            (000058)30.09.2015 22:09:37 PM - anonymous (127.0.0.1)> 230 Logged on
            (000058)30.09.2015 22:09:37 PM - anonymous (127.0.0.1)> OPTS utf8 on
            (000058)30.09.2015 22:09:37 PM - anonymous (127.0.0.1)> 202 UTF8 mode is always enabled. No need to send this command.
            (000058)30.09.2015 22:09:37 PM - anonymous (127.0.0.1)> PWD
            (000058)30.09.2015 22:09:37 PM - anonymous (127.0.0.1)> 257 "/" is current directory.
            (000058)30.09.2015 22:09:37 PM - anonymous (127.0.0.1)> TYPE I
            (000058)30.09.2015 22:09:37 PM - anonymous (127.0.0.1)> 200 Type set to I
            (000059)30.09.2015 22:09:37 PM - anonymous (127.0.0.1)> PWD
            (000059)30.09.2015 22:09:37 PM - anonymous (127.0.0.1)> 257 "/" is current directory.
            (000059)30.09.2015 22:09:37 PM - anonymous (127.0.0.1)> TYPE I
            (000059)30.09.2015 22:09:37 PM - anonymous (127.0.0.1)> 200 Type set to I
            (000059)30.09.2015 22:09:37 PM - anonymous (127.0.0.1)> PASV
            (000059)30.09.2015 22:09:37 PM - anonymous (127.0.0.1)> 227 Entering Passive Mode (127,0,0,1,233,94)
            (000059)30.09.2015 22:09:37 PM - anonymous (127.0.0.1)> RETR launcher/changelog.html
            (000059)30.09.2015 22:09:37 PM - anonymous (127.0.0.1)> 150 Opening data channel for file download from server of "/launcher/changelog.html"
            (000058)30.09.2015 22:09:37 PM - anonymous (127.0.0.1)> PASV
            (000058)30.09.2015 22:09:37 PM - anonymous (127.0.0.1)> 227 Entering Passive Mode (127,0,0,1,213,121)
            (000059)30.09.2015 22:09:37 PM - anonymous (127.0.0.1)> 226 Successfully transferred "/launcher/changelog.html"
            (000058)30.09.2015 22:09:37 PM - anonymous (127.0.0.1)> RETR launcher/LauncherVersion.txt
            (000058)30.09.2015 22:09:37 PM - anonymous (127.0.0.1)> 550 File not found
            (000059)30.09.2015 22:09:37 PM - anonymous (127.0.0.1)> QUIT
            (000059)30.09.2015 22:09:37 PM - anonymous (127.0.0.1)> 221 Goodbye
            (000059)30.09.2015 22:09:37 PM - anonymous (127.0.0.1)> disconnected.
            (000058)30.09.2015 22:09:37 PM - anonymous (127.0.0.1)> disconnected.
            I don't really get what did I do wrong. Any help, please?

            Comment


              #96
              It looks like you're missing the file launcher/LauncherVersion.txt on the FTP server - check that it's there and that it has the correct access permissions If not, could you try compiling from source and checking which specific line the crash happens at?
              Last edited by Jargon; 09-30-2015, 04:21 PM.
              Talk to me on qTox: E8FF4A2B55C2C3A8BC7B60F729E8884BF95CEB4FE8906AE76F5941B08E73066AF562A26C280B
              Stalk me on the IRC: jarl or jargon
              Need a launcher for your games? Check out Launchpad

              Comment


                #97
                Originally posted by SirKline View Post
                Hi There,

                when starting Launchpad i am asked whether i want to use the Launchpad folder with options Yes or No. If i click yes, a .update file gets created and nothing more is happening. If i click no, nothing more is happening. I fear thats not the intended behaviour?
                Sounds like it's crashing on startup - have you installed the required GTK libraries and set up your config?
                Talk to me on qTox: E8FF4A2B55C2C3A8BC7B60F729E8884BF95CEB4FE8906AE76F5941B08E73066AF562A26C280B
                Stalk me on the IRC: jarl or jargon
                Need a launcher for your games? Check out Launchpad

                Comment


                  #98
                  Hello, Jargon.
                  First things first. Yes, I have this file in my FTP. And it's set to XXX because every file in ftp folder is set to 777.
                  Here's my config:

                  Code:
                  [Local]
                  LauncherVersion = 0.1.0
                  GameName = Ares
                  SystemTarget = Win64
                  GUID = 2bcdb74f-9706-49ca-9869-7f7a858658fa
                  
                  [Remote]
                  FTPUsername = anonymous
                  FTPPassword = anonymous
                  FTPUrl = ftp://127.0.0.1
                  
                  [Launchpad]
                  bOfficialUpdates = true

                  Comment


                    #99
                    Solved!
                    I recreated LauncherVersion file and uploaded it. Many thanks anyway!

                    Comment


                      I'm sorry for double posting. But can you please elaborate a little bit more about how exactly can I roll out updates?
                      I'll explain what I've done and I want to do.
                      Let's say I have a Main Game Build (MGB). I've generated manifest files and I've put my game into /Win64/bin/. So in total I have this:

                      /Win64/bin/
                      /Win64/LauncherManifest.txt
                      /Win64/LauncherManifest.checksum
                      /Win64/.provides
                      ---------------
                      Win64/bin/Engine
                      Win64/bin/Gamename
                      Win64/bin/Gameversion.txt
                      Win64/bin/Gamename.exe

                      =====================
                      I opened my launcher and downloaded all the files. Game can be launched, etc.

                      Then I made an update. I have a new game build with some new files in it. In Win64/bin/Gameversion.txt I change version of my build to higher. But what do I do with my new update build? Because if I'll generate launchermanifest files and update them on my ftp along with my game build, launcher will simply re-download entire build.
                      Last edited by Denuro; 10-01-2015, 06:45 AM.

                      Comment


                        Originally posted by Denuro View Post
                        I'm sorry for double posting. But can you please elaborate a little bit more about how exactly can I roll out updates?
                        I'll explain what I've done and I want to do.
                        Let's say I have a Main Game Build (MGB). I've generated manifest files and I've put my game into /Win64/bin/. So in total I have this:

                        /Win64/bin/
                        /Win64/LauncherManifest.txt
                        /Win64/LauncherManifest.checksum
                        /Win64/.provides
                        ---------------
                        Win64/bin/Engine
                        Win64/bin/Gamename
                        Win64/bin/Gameversion.txt
                        Win64/bin/Gamename.exe

                        =====================
                        I opened my launcher and downloaded all the files. Game can be launched, etc.

                        Then I made an update. I have a new game build with some new files in it. In Win64/bin/Gameversion.txt I change version of my build to higher. But what do I do with my new update build? Because if I'll generate launchermanifest files and update them on my ftp along with my game build, launcher will simply re-download entire build.
                        What you are doing should be correct - create your updated files, generate a manifest and a checksum for that manifest, upload those to the server. Are you certain the launcher is downloading the files, and not just checking their integrity?
                        Talk to me on qTox: E8FF4A2B55C2C3A8BC7B60F729E8884BF95CEB4FE8906AE76F5941B08E73066AF562A26C280B
                        Stalk me on the IRC: jarl or jargon
                        Need a launcher for your games? Check out Launchpad

                        Comment


                          It says, downloading. But I don't get it. If I make a new update and I generated manifest files for it. I basically replace old manifest files with new ones on ftp and also update my /bin/game files?
                          So an "old" player will be able to update then. But if a new player wants to download game, won't he download only updated files?

                          Comment


                            Interesting idea, but those wondering about comparability you should know that mono is similar to Wine for nix. The user must have mono installed for this to work. That is, unless the launcher bundles mono with it.

                            To launch a game with logon credentials I imagine you would have to pass parameters as you open the game. Or perhaps you could expose data in the launcher and have the game find/call that data. I don't know a whole lot about security though so I couldn't tell you if it would be safer to pass logon credentials as a parameter or to expose functions in the launcher.

                            Unpopular Minion on the Play Store (Released: January 31, 2016)

                            Comment


                              Originally posted by Jargon View Post
                              What you are doing should be correct - create your updated files, generate a manifest and a checksum for that manifest, upload those to the server. Are you certain the launcher is downloading the files, and not just checking their integrity?
                              I haven't looked at your launcher but here's an idea I used to manage updates with a previous program I wrote.

                              Let's say game was version 1.0 and latest was 3.0.

                              A log would be kept providing which files would be needed to go from each version to the next.

                              EG:
                              1.0 -> 2.0: game.exe, windowmode.dll, antihack.dll
                              2.0 -> 3.0: game.exe, windowmode.dll

                              The updater would then compile a list of the needed files over the versions and download the latest ones. I also had the ability to remove files per version as well add lines that didn't exist to for example update configurations without erasing an entire config.
                              In addition there was the Repair option which would replace all files with defaults. The system itself was actually very minimal but highly effective. I'd share the code (C#) but my concept was for a smaller project where only a few files changed at a time, and was not ideal for larger projects.

                              Unpopular Minion on the Play Store (Released: January 31, 2016)

                              Comment


                                Originally posted by Distul View Post
                                Interesting idea, but those wondering about comparability you should know that mono is similar to Wine for nix. The user must have mono installed for this to work. That is, unless the launcher bundles mono with it.

                                To launch a game with logon credentials I imagine you would have to pass parameters as you open the game. Or perhaps you could expose data in the launcher and have the game find/call that data. I don't know a whole lot about security though so I couldn't tell you if it would be safer to pass logon credentials as a parameter or to expose functions in the launcher.
                                Mono really isn't like Wine. Wine is a compatibility layer that reroutes and translates Windows API calls to Unix API calls, while Mono is an implementation of .NET and its virtual machine. Just as much as a Linux user would need to install Mono, so would a Windows user need to install the .NET runtime :P

                                As for logins, you'd preferrably do end-to-end encryptions with a login token that's passed around. I've played with the idea, but it's a little out of scope for this launcher.
                                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