Announcement

Collapse
No announcement yet.

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

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

    #16
    Originally posted by Jargon View Post
    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.
    Yea its a balance between risk v reward, I think indie's/hobbyists/small studios would be ok with taking that sort of vendor lock-in/dependency for the reward of mindlessly easy distributions. But its not like setting up an FTP is so difficult either.

    Feel free to run with any of these ideas and let me know if you decide to pursue the Dropbox approach. The folder-per-version I see being helpful once your game is live but right now while I'm doing small tests I'd probably just delete older versions and replace with new so your current approach is probably fine.

    Let me get this up and running and then I'll see how I fair.

    Comment


      #17
      Hey so I followed your instructions on setting up LaunchPad and vsftpd

      I had some issues uploading my game to vsftpd that I resolved by setting:

      anon_mkdir_write_enable=NO in /etc/vsftpd/vsftpd.conf

      I did this because I could not seem to get an account to work to log into, so I just log in anonymously and changed the anon permissions.


      Right now I'm finding that though the ftp's launcherVersion.txt is 0.0.3 and my local LaunchPad config has 'launcherVersion = 0.0.3', LaunchPad is complaining that 'Launcher update is required'

      https://www.dropbox.com/s/fwvgstus8i...Issue.png?dl=0

      The changelog.html is not displaying so I'm not sure if this is actually an issue with permissions on vsftpd.

      Also, I find that if I change the ftp:// in the launcher config to an incorrect address, then LaunchPad will just hang (I assume its continually trying to connect to a bad address). But when I change it to my server's address it will stop hanging.

      I'm going to keep fooling around, but any thoughts on what I may have messed up?

      here's my vsftpd.conf: http://pastebin.com/mcLWthw7
      Last edited by Mentos; 10-06-2014, 03:17 PM.

      Comment


        #18
        Originally posted by Mentos View Post
        Hey so I followed your instructions on setting up LaunchPad and vsftpd

        I had some issues uploading my game to vsftpd that I resolved by setting:

        anon_mkdir_write_enable=NO in /etc/vsftpd/vsftpd.conf

        I did this because I could not seem to get an account to work to log into, so I just log in anonymously and changed the anon permissions.


        Right now I'm finding that though the ftp's launcherVersion.txt is 0.0.3 and my local LaunchPad config has 'launcherVersion = 0.0.3', LaunchPad is complaining that 'Launcher update is required'

        https://www.dropbox.com/s/fwvgstus8i...Issue.png?dl=0

        The changelog.html is not displaying so I'm not sure if this is actually an issue with permissions on vsftpd.

        Also, I find that if I change the ftp:// in the launcher config to an incorrect address, then LaunchPad will just hang (I assume its continually trying to connect to a bad address). But when I change it to my server's address it will stop hanging.

        I'm going to keep fooling around, but any thoughts on what I may have messed up?

        here's my vsftpd.conf

        -snip-

        Okay, here's my conf so you can compare: http://pastebin.com/BpYfP1VH

        I think the issue is that the files in your FTP folder are not readable to anonymous accounts (o for chmod). You should also disable anonymous write permissions for safety reasons.
        Talk to me on qTox: E8FF4A2B55C2C3A8BC7B60F729E8884BF95CEB4FE8906AE76F5941B08E73066AF562A26C280B
        Stalk me on the IRC: jarl or jargon
        Need a launcher for your games? Check out Launchpad

        Comment


          #19
          Originally posted by Jargon View Post
          Okay, here's my conf so you can compare: http://pastebin.com/BpYfP1VH

          I think the issue is that the files in your FTP folder are not readable to anonymous accounts (o for chmod). You should also disable anonymous write permissions for safety reasons.
          I started with a fresh build of ubuntu 12.04 and followed your instructions verbatim but still ran into a 'Login incorrect' issue after step 9 (using FileZilla on windows)

          I searched google and found a solution here: http://www.jackenhack.com/vsftpd-ubu...t-error-fixed/

          Now I'm able to login to the ftp with FileZilla and upload files and LaunchPad is showing the changelog.html but unfortunately it is still complaining that 'Launcher update is required Checking launcher version...' what is weird is changes to the changelog.html in nano are not showing in the LaunchPad client (and i did do a 'sudo service vsftpd restart' after making the changes)

          I'll keep at it, thanks for the help
          Last edited by Mentos; 10-06-2014, 04:13 PM.

          Comment


            #20
            I found that my issue with LaunchPad always saying that it needed to be updated was due to the fact that my remote version had a trailing space character and was therefore not equal to the launcherVersion.

            The following modification to DoLauncherUpdateCheck() in the source I believe fixes the issue

            Code:
                    private void DoLauncherUpdateCheck()
                    {
                        try
                        {
                            string remoteLauncherVersion = FTP.ReadFTPFile(Config.GetFTPUsername(), Config.GetFTPPassword(), String.Format("{0}/launcher/launcherVersion.txt", Config.GetFTPUrl())).Replace("\0", string.Empty);
                            string launcherVersion = Config.GetLauncherVersion();
            
                            System.Version RemoteVersion = new System.Version(remoteLauncherVersion);
                            System.Version LauncherVersion = new System.Version(launcherVersion);
            
                            progress_label.Text = "Checking launcher version...";
                            progress_label.Refresh();
            
                            if (Config.GetLauncherVersion() == "")
                            {
                                //this should never happen - if it did, something is SERIOUSLY wrong
                                bLauncherVersionCheckFailed = true;
                                Console.WriteLine("LauncherUpdateCheck: Local version is NULL!");
                                warning_label.ForeColor = Color.Red;
                                warning_label.Text = "Could not retrieve local launcher version!";
                                warning_label.Refresh();
            
                                UpdateMainWindow();
                            }
                            else if (RemoteVersion.Equals(LauncherVersion))
                            {
                                //launcher does not need to be updated
                                bLauncherNeedsUpdate = false;
                                if (File.Exists(String.Format(@"{0}\update.bat", Config.GetLocalDir())))
                                {
                                    File.Delete(String.Format(@"{0}\update.bat", Config.GetLocalDir()));
                                }                    
                                Console.WriteLine("SYSMSG: Launcher version is OK");                                        
            
                                UpdateMainWindow();
                            }
                            else
                            {
                                bLauncherNeedsUpdate = true;
            
                                UpdateMainWindow();
                            }
                            bLauncherVersionCheckFailed = false;
                        }
                        catch (WebException ex)
                        {
                            Console.WriteLine(ex.Status);                
                            bLauncherVersionCheckFailed = true;
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine(ex.StackTrace);
                            bLauncherVersionCheckFailed = true;
                        }
                    }
            But I still need to work out why my game is not downloading. Hopefully be able to put more time into this tomorrow.
            Last edited by Mentos; 10-07-2014, 07:45 AM.

            Comment


              #21
              The changelog system is broken. The webbrowser control automatically caches the changelog. It's why I hate the silly IE control.

              Add this to the DLL Imports:
              Code:
                  [DllImport("wininet.dll", SetLastError = true)]
                  private static extern long DeleteUrlCacheEntry(string lpszUrlName);
              And where you load the page (Form1_OnLoad) change the function body to this:
              Code:
                  DeleteUrlCacheEntry(Config.GetChangelogURL());
                  webBrowser1.Navigate(Config.GetChangelogURL());
              Also another quick tweak:
              The control also sometimes hangs when it prompts for login details. It's such a simple fix as well!
              In ConfigHandler.cs, change the GetFTPUrl function to:
              Code:
              public string GetFTPUrl()
                      {
                          try
                          {
                              FileIniDataParser Parser = new FileIniDataParser();
                              IniData data = Parser.ReadFile(GetConfigPath());
              
                              string FTPUrl = data["Remote"]["FTPUrl"];
                              string FTPAuthUrl = FTPUrl.Substring(0, 6); // Gets ftp://
                              FTPAuthUrl += data["Remote"]["FTPUsername"]; // Add the username
                              FTPAuthUrl += ":";
                              FTPAuthUrl += data["Remote"]["FTPPassword"]; // Add the password
                              FTPAuthUrl += "@";
                              FTPAuthUrl += FTPUrl.Substring(6);
              
                              return FTPAuthUrl;
                          }
                          catch (Exception ex)
                          {
                              Console.Write("GetFTPUrl: ");
                              Console.WriteLine(ex.StackTrace);
                              return "";
                          }
                      }
              Last edited by Cpt.Kittens; 10-08-2014, 09:34 AM.

              Comment


                #22
                Ah nice changes Neur0t1c, I put about 6 hours into this today and just made a pull request. I think the changes I've made are good but I am not a .NET developer (only did about 2 years iOS) so I'm open to your guys' feedback.

                Comment


                  #23
                  Originally posted by Neur0t1c View Post
                  -snip-
                  Superb, thank you! I've implemented the fixes and pushed them to github.
                  Talk to me on qTox: E8FF4A2B55C2C3A8BC7B60F729E8884BF95CEB4FE8906AE76F5941B08E73066AF562A26C280B
                  Stalk me on the IRC: jarl or jargon
                  Need a launcher for your games? Check out Launchpad

                  Comment


                    #24
                    Originally posted by Mentos View Post
                    Ah nice changes Neur0t1c, I put about 6 hours into this today and just made a pull request. I think the changes I've made are good but I am not a .NET developer (only did about 2 years iOS) so I'm open to your guys' feedback.
                    Fantastic ^.=.^ I'm really glad to hear that. I'll look it over first thing tomorrow.
                    Talk to me on qTox: E8FF4A2B55C2C3A8BC7B60F729E8884BF95CEB4FE8906AE76F5941B08E73066AF562A26C280B
                    Stalk me on the IRC: jarl or jargon
                    Need a launcher for your games? Check out Launchpad

                    Comment


                      #25
                      Originally posted by Jargon View Post
                      Fantastic ^.=.^ I'm really glad to hear that. I'll look it over first thing tomorrow.
                      Jargon, you're more than welcome to contact me if you'd like help

                      Edit:
                      I'll also pull down and have a quick look over the code, and see if I can tidy things up a bit.
                      Last edited by Cpt.Kittens; 10-09-2014, 12:07 AM.

                      Comment


                        #26
                        Originally posted by Neur0t1c View Post
                        Jargon, you're more than welcome to contact me if you'd like help

                        Edit:
                        I'll also pull down and have a quick look over the code, and see if I can tidy things up a bit.
                        I'll keep that in mind! Thanks a lot for the offer.
                        Talk to me on qTox: E8FF4A2B55C2C3A8BC7B60F729E8884BF95CEB4FE8906AE76F5941B08E73066AF562A26C280B
                        Stalk me on the IRC: jarl or jargon
                        Need a launcher for your games? Check out Launchpad

                        Comment


                          #27
                          this is amazing! thanks! I imagine we are able to use other libraries (specifically graphic libraries) to make the launcher look a little more.... appealing?

                          Comment


                            #28
                            Originally posted by Tubbly View Post
                            this is amazing! thanks! I imagine we are able to use other libraries (specifically graphic libraries) to make the launcher look a little more.... appealing?
                            Of course The launcher can be freely altered as you see fit to suit your game.
                            Talk to me on qTox: E8FF4A2B55C2C3A8BC7B60F729E8884BF95CEB4FE8906AE76F5941B08E73066AF562A26C280B
                            Stalk me on the IRC: jarl or jargon
                            Need a launcher for your games? Check out Launchpad

                            Comment


                              #29
                              Hi everyone! I'm currently working on porting the launcher over to GTK+ for some cross-compatible linux action! At the moment, the launcher will still use WinForms on Windows, at least until I'm confident that the GTK UI works as well as the forms UI does.

                              There should hopefully also be an automated install script for the serverside content soon
                              Talk to me on qTox: E8FF4A2B55C2C3A8BC7B60F729E8884BF95CEB4FE8906AE76F5941B08E73066AF562A26C280B
                              Stalk me on the IRC: jarl or jargon
                              Need a launcher for your games? Check out Launchpad

                              Comment


                                #30
                                Hello,
                                I'm curious how u learning the Java, I'm looking forward to learn it, but I'm looking for free programs to help me learn Java language. Any links/tips please.

                                Thanks,
                                Michael

                                Comment

                                Working...
                                X