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

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:


    [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:


    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:



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 "";
            }
        }


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.

Superb, thank you! I’ve implemented the fixes and pushed them to github.

Fantastic ^.=.^ I’m really glad to hear that. I’ll look it over first thing tomorrow.

, you’re more than welcome to contact me if you’d like help :slight_smile:

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.

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? :smiley:

Of course :stuck_out_tongue: The launcher can be freely altered as you see fit to suit your game.

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 :slight_smile:

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

Hi Michael,

I’m unsure where you got Java from - Launchpad is written in C#. As for where I learnt it, it was a combination of frantic googling and generic interest. I’d suggest searching for some online tutorials and browsing through the source of open programs to learn styles and tricks.

Hey,

Instead of using FTP why don’t you use libtorrent?
http://www.libtorrent.org/
It’s a lot faster than FTP. And takes less resources if your player count is huge.

Hey Azarus,

Thanks for the suggestion! I’ll definitely look into it, although it would involve me learning a new protocol :stuck_out_tongue: P2P downloading has been a hope for me, but I haven’t had the energy to take a closer look.

This is amazing, thank you very, very much for this my kind sir!

I have a possibly silly question: Is this Windows only or is it simple to port over to Linux / Mac?

I am actually in the process of making it cross-compatible at the moment :slight_smile: The build you can download here on the thread sort of runs, since it’s C# (Mono and all that) but it has issues and crashes. The Unix version uses GTK, and is available on the Linux branch on GitHub. It does not yet work, since I decided to take some time to refactor and get some better threading in it for speed and stability.

So in short, Linux and Mac on the way from GitHub, Windows download here.

Excellent! Thank-you! I was hoping to use this with Windows Azure; The only things that’s holding me back is the Linux / Mac stuff. Once you’ve got that covered over; Then I’ll be on happy gamedev!

Thanks so much for doing this; I see we both have similar intentions by doing what we can to help to community; I’d love to add this in one of my tutorial books (In the section of packaging the end project), Are you alright with me linking to this thread / the plugin in one of my books? If not, Just give me a hollar and let me know! :slight_smile:

Edit: This is my 666 post; Bad omen right there! :stuck_out_tongue:

Dun dun dun! Don’t worry, I would be happy to have a link in your book :slight_smile: The setup process should simplify quite a bit in the near future (You can take a look in the Scripts folder on the Linux branch), and there are going to be some changes such as different folders for different builds on the server.

Or at least use HTTP & Compression. I think FTP is too much headache.

Question asked out of curiosity… so this package is meant to be used for players to update their game as updates are released? I was just trying to see if once we had a game built, we could independently add new levels (say someone creates one in UE4) that the game will see and be able to read/use. But I think that might be different than the purpose of this launcher.