nihlus / launchpad Goto Github PK
View Code? Open in Web Editor NEWAn open-source game launcher for your games
License: GNU General Public License v3.0
An open-source game launcher for your games
License: GNU General Public License v3.0
Due to the location the GUID is stored in (the settings file), the GUID is typically only generated once when the launcher is packaged. The GUID should be stored separately from the configuration file, and should not be packaged along with the release binaries.
In an effort to make the launcher more widely usable, Google Drive should be implemented as a supported protocol.
See the milestone for more information.
when I connect to it using the private IP (192.blah), it works perfectly, everything transfers super fast, BUT when I connect to it using the public IP port forwarded on my router, it connects and can transfer small files but completely fails with anything over 4000Kb
Move/remove web activity before the UI has loaded.
I get the following Error and a 404 but in the browser It works perfect. What did I wrong? (I hope German isn't a problem otherwise I will translate it :))
$exception {System.NotSupportedException: Dieser Stream unterstützt keine Suchvorgänge. bei System.Net.ConnectStream.get_Length() bei Launchpad.Launcher.Handlers.Protocols.HTTPProtocolHandler.ReadRemoteFile(String URL, Boolean useAnonymousLogin) bei Launchpad.Launcher.Handlers.Protocols.HTTPProtocolHandler.GetRemoteLauncherVersion() bei Launchpad.Launcher.Handlers.Protocols.HTTPProtocolHandler.IsLauncherOutdated() bei Launchpad.Launcher.Handlers.ChecksHandler.IsLauncherOutdated() bei Launchpad.Launcher.WindowsUI.MainForm..ctor() bei Launchpad.Launcher.Program.Main()} System.NotSupportedException
Windows 8.1 is detected as "Invalid" by the config handler.
When installing a game on Linux, the launcher does not switch to Launch mode after the game finishes downloading, nor does the progress bar clear out.
Due to deprecated functionality where simple string concatenation was used for create FTP credentials, the launcher will crash if the username contains reserved characters such as the @ symbol.
Move manifest downloading to Game install/repair/update methods.
Clicking a link in the GTK changelog does not open a new window, but instead navigates to the link inside the launcher. This is undesired behaviour, and the launcher should instead open a new window or tab in the user's default browser.
When downloading large files such as .pak files, it is very simple to be interrupted and lose all progress.
Implement resuming in
The launcher's UI should be updated to GTK3, and as part of this it should replace the outdated WinForms UI.
What do you mean by 'root of the launchpad installation' in the in-depth wiki page for the config
All of the launcher's output to stdout and stderr should be redirected to a proper log file and not just discarded.
In an effort to make the launcher more widely usable, Dropbox should be implemented as a supported protocol.
See the milestone for more information.
2017-06-16 20:34:51,904 [Launchpad.Launcher.Program | INFO]: ----------------
2017-06-16 20:34:51,914 [Launchpad.Launcher.Program | INFO]: Launchpad v0.3.2.34468 starting...
2017-06-16 20:34:51,916 [Launchpad.Launcher.Program | INFO]: Current platform: Win64 (x64)
2017-06-16 20:34:51,918 [Launchpad.Launcher.Program | INFO]: Initializing UI...
2017-06-16 20:34:51,931 [Launchpad.Launcher.Program | FATAL]: ----------------
2017-06-16 20:34:51,933 [Launchpad.Launcher.Program | FATAL]: FATAL UNHANDLED EXCEPTION!
2017-06-16 20:34:51,939 [Launchpad.Launcher.Program | FATAL]: Something has gone terribly, terribly wrong during runtime.
2017-06-16 20:34:51,941 [Launchpad.Launcher.Program | FATAL]: The following is what information could be gathered by the program before crashing.
2017-06-16 20:34:51,943 [Launchpad.Launcher.Program | FATAL]: Please report this to [email protected] or via GitHub. Include the full log and a description of what you were doing when it happened.
2017-06-16 20:34:51,946 [Launchpad.Launcher.Program | FATAL]: This exception is typical of instances where the GTK# runtime has not been installed.
If you haven't installed it, download it at 'http://www.mono-project.com/download/#download-win'.
If you have installed it, reboot your computer and try again.
2017-06-16 20:34:51,981 [Launchpad.Launcher.Program | FATAL]: Exception type: System.DllNotFoundException
2017-06-16 20:34:51,984 [Launchpad.Launcher.Program | FATAL]: Exception Message: Impossible de charger la DLL 'libgtk-win32-2.0-0.dll': La procédure spécifiée est introuvable. (Exception de HRESULT : 0x8007007F)
2017-06-16 20:34:51,989 [Launchpad.Launcher.Program | FATAL]: Exception Stacktrace: à Gtk.Application.gtk_init(Int32& argc, IntPtr& argv)
à Gtk.Application.Init()
à Launchpad.Launcher.Program.Main()
2017-06-16 20:34:58,529 [Launchpad.Launcher.Program | INFO]: ----------------
2017-06-16 20:34:58,537 [Launchpad.Launcher.Program | INFO]: Launchpad v0.3.2.34468 starting...
2017-06-16 20:34:58,540 [Launchpad.Launcher.Program | INFO]: Current platform: Win64 (x64)
2017-06-16 20:34:58,543 [Launchpad.Launcher.Program | INFO]: Initializing UI...
2017-06-16 20:34:58,559 [Launchpad.Launcher.Program | FATAL]: ----------------
2017-06-16 20:34:58,561 [Launchpad.Launcher.Program | FATAL]: FATAL UNHANDLED EXCEPTION!
2017-06-16 20:34:58,564 [Launchpad.Launcher.Program | FATAL]: Something has gone terribly, terribly wrong during runtime.
2017-06-16 20:34:58,567 [Launchpad.Launcher.Program | FATAL]: The following is what information could be gathered by the program before crashing.
2017-06-16 20:34:58,569 [Launchpad.Launcher.Program | FATAL]: Please report this to [email protected] or via GitHub. Include the full log and a description of what you were doing when it happened.
2017-06-16 20:34:58,572 [Launchpad.Launcher.Program | FATAL]: This exception is typical of instances where the GTK# runtime has not been installed.
If you haven't installed it, download it at 'http://www.mono-project.com/download/#download-win'.
If you have installed it, reboot your computer and try again.
2017-06-16 20:34:58,602 [Launchpad.Launcher.Program | FATAL]: Exception type: System.DllNotFoundException
2017-06-16 20:34:58,606 [Launchpad.Launcher.Program | FATAL]: Exception Message: Impossible de charger la DLL 'libgtk-win32-2.0-0.dll': La procédure spécifiée est introuvable. (Exception de HRESULT : 0x8007007F)
2017-06-16 20:34:58,610 [Launchpad.Launcher.Program | FATAL]: Exception Stacktrace: à Gtk.Application.gtk_init(Int32& argc, IntPtr& argv)
à Gtk.Application.Init()
à Launchpad.Launcher.Program.Main()
2017-06-17 00:59:13,275 [Launchpad.Launcher.Program | INFO]: ----------------
2017-06-17 00:59:13,284 [Launchpad.Launcher.Program | INFO]: Launchpad v0.3.2.34468 starting...
2017-06-17 00:59:13,287 [Launchpad.Launcher.Program | INFO]: Current platform: Win64 (x64)
2017-06-17 00:59:13,290 [Launchpad.Launcher.Program | INFO]: Initializing UI...
2017-06-17 00:59:13,417 [Launchpad.Launcher.Program | FATAL]: ----------------
2017-06-17 00:59:13,420 [Launchpad.Launcher.Program | FATAL]: FATAL UNHANDLED EXCEPTION!
2017-06-17 00:59:13,422 [Launchpad.Launcher.Program | FATAL]: Something has gone terribly, terribly wrong during runtime.
2017-06-17 00:59:13,425 [Launchpad.Launcher.Program | FATAL]: The following is what information could be gathered by the program before crashing.
2017-06-17 00:59:13,427 [Launchpad.Launcher.Program | FATAL]: Please report this to [email protected] or via GitHub. Include the full log and a description of what you were doing when it happened.
2017-06-17 00:59:13,430 [Launchpad.Launcher.Program | FATAL]: This exception is typical of instances where the GTK# runtime has not been installed.
If you haven't installed it, download it at 'http://www.mono-project.com/download/#download-win'.
If you have installed it, reboot your computer and try again.
2017-06-17 00:59:13,456 [Launchpad.Launcher.Program | FATAL]: Exception type: System.DllNotFoundException
2017-06-17 00:59:13,460 [Launchpad.Launcher.Program | FATAL]: Exception Message: Impossible de charger la DLL 'libgtk-win32-2.0-0.dll': La procédure spécifiée est introuvable. (Exception de HRESULT : 0x8007007F)
2017-06-17 00:59:13,464 [Launchpad.Launcher.Program | FATAL]: Exception Stacktrace: à Gtk.Application.gtk_init(Int32& argc, IntPtr& argv)
à Gtk.Application.Init()
à Launchpad.Launcher.Program.Main()
2017-06-17 01:05:27,821 [Launchpad.Launcher.Program | INFO]: ----------------
2017-06-17 01:05:27,831 [Launchpad.Launcher.Program | INFO]: Launchpad v0.3.2.34468 starting...
2017-06-17 01:05:27,835 [Launchpad.Launcher.Program | INFO]: Current platform: Win64 (x64)
2017-06-17 01:05:27,838 [Launchpad.Launcher.Program | INFO]: Initializing UI...
2017-06-17 01:05:27,858 [Launchpad.Launcher.Program | FATAL]: ----------------
2017-06-17 01:05:27,861 [Launchpad.Launcher.Program | FATAL]: FATAL UNHANDLED EXCEPTION!
2017-06-17 01:05:27,867 [Launchpad.Launcher.Program | FATAL]: Something has gone terribly, terribly wrong during runtime.
2017-06-17 01:05:27,873 [Launchpad.Launcher.Program | FATAL]: The following is what information could be gathered by the program before crashing.
2017-06-17 01:05:27,877 [Launchpad.Launcher.Program | FATAL]: Please report this to [email protected] or via GitHub. Include the full log and a description of what you were doing when it happened.
2017-06-17 01:05:27,880 [Launchpad.Launcher.Program | FATAL]: This exception is typical of instances where the GTK# runtime has not been installed.
If you haven't installed it, download it at 'http://www.mono-project.com/download/#download-win'.
If you have installed it, reboot your computer and try again.
2017-06-17 01:05:27,909 [Launchpad.Launcher.Program | FATAL]: Exception type: System.DllNotFoundException
2017-06-17 01:05:27,913 [Launchpad.Launcher.Program | FATAL]: Exception Message: Impossible de charger la DLL 'libgtk-win32-2.0-0.dll': La procédure spécifiée est introuvable. (Exception de HRESULT : 0x8007007F)
2017-06-17 01:05:27,917 [Launchpad.Launcher.Program | FATAL]: Exception Stacktrace: à Gtk.Application.gtk_init(Int32& argc, IntPtr& argv)
à Gtk.Application.Init()
à Launchpad.Launcher.Program.Main()
Multiple errors go unchecked. If manifest fails to download, you will get a success message for the mere act of downloading the .provides file
Currently, the Windows strings and Unix strings are sourced from two different files. NGetText should be used instead, since it is GNU/GetText and supports both platforms.
Hello,
I tried to run your code to get a better understanding of how it works, and it threw the following exception on line 83 of Program.cs when it tried to run the GTK UI:
Managed Debugging Assistant 'PInvokeStackImbalance' : 'A call to PInvoke function 'GLibSharp!GLib.Marshaller+d_g_malloc::Invoke' has unbalanced the stack. This is likely because the managed PInvoke signature does not match the unmanaged target signature. Check that the calling convention and parameters of the PInvoke signature match the target unmanaged signature.'
I first opened the project in VS 2017, and was prompted to download .NET 4.6.2 by several build errors. Those problems were solved after I downloaded that package, but running the project after I did so is when the exception first started popping up.
I have attached the full output log to this issue. Any advice that you might have for me would be deeply appreciated. :)
Launchpad_OutputLog.txt
Error -
An unhandled exception of type 'System.ArgumentOutOfRangeException' occurred in System.Windows.Forms.dll
Additional information: Value of '10008' is not valid for 'Value'. 'Value' should be between 'minimum' and 'maximum'.
e -
DownloadedBytes - 792447924
DownloadedFiles - 0
FileName - "TC-WindowsNoEditor"
TotalBytes - 791775078
TotalFiles - 0
Cause: Lacks clamping -
if (e.DownloadedBytes > 0 && e.TotalBytes > 0)
{
double fraction = ((double)e.DownloadedBytes / (double)e.TotalBytes) * 10000;
mainProgressBar.Value = (int)fraction;
mainProgressBar.Update();
}
Function -
private void OnGameDownloadProgressChanged(object sender, FileDownloadProgressChangedEventArgs e)
{
this.Invoke((MethodInvoker)delegate
{
if (!String.IsNullOrEmpty(e.FileName))
{
string progressbarText = String.Format(
LocalizationCatalog.GetString("fileDownloadMessage"),
System.IO.Path.GetFileNameWithoutExtension(e.FileName),
e.DownloadedBytes.ToString(),
e.TotalBytes.ToString());
downloadProgressLabel.Text = progressbarText;
mainProgressBar.Minimum = 0;
mainProgressBar.Maximum = 10000;
In an effort to make the launcher more widely usable, ownCloud should be implemented as a supported protocol.
See the milestone for more information.
In an effort to make the launcher more widely usable, Google Cloud Storage should be implemented as a supported protocol.
See the milestone for more information.
Launcher freezes when I am trying to upload banner.png into launcher folder on ftp, seems it cant connect to server.
If I remove banner.png from the ftp folder it starts to work again.
If i change config file to your ftp - it downloads banner and everything looks ok.
Any suggestions?
With much thanks!
I know that you have said that this is under the MIT license with the Gentleman's agreement of not distributing this as a standalone product, but I think you are taking the wrong approach by stating it like that. The MIT license has an expectation with those that know about it as being essentially do what you want to it.
A better approach since you want to modify the license is to use one that allows that sort of thing by design.
Here is a site that gives and easy to use breakdown of different open source licenses.
http://choosealicense.com/licenses/
I would recommend using a license like the No License, which restricts most things, but allows you to specifically unrestrict them at your digression. It is essentially a "Build your own" license.
The No license looks like this by default.
Copyright [year] [fullname]
And you just add the specific things you unrestrict after it.
These are the default rules to No License.
How to apply this license
Simply do nothing, though including a copyright notice is recommended.
Note: This option may be subject to the Terms Of Use of the site where you publish your source code.
Required
License and copyright notice
Permitted
Commercial Use
Private Use
Forbidden
Distribution
Modification
Sublicensing
Downloading and updating is currently broken due to changes in how the manifest is retrieved and handled.
Files in need of a scrubbing:
Add localizationable strings to About box in Windows.
The link is invalid . Please fix .
getting an error saying
D:\folder\Launchpad-master\Launchpad-master\Launchpad.Launcher\Launchpad.Launcher.csproj
: error : The default XML namespace of the project must be the MSBuild XML namespace. If the project is authored in the MSBuild 2003 format, please add xmlns="http://schemas.microsoft.com/developer/msbuild/2003" to the element. If the project has been authored in the old 1.0 or 1.2 format, please convert it to MSBuild 2003 format. D:\folder\Launchpad-master\Launchpad-master\Launchpad.Launcher\Launchpad.Launcher.csproj
D:\folder\Launchpad-master\Launchpad-master\Launchpad.Utilities\Launchpad.Utilities.csproj : error : The default XML namespace of the project must be the MSBuild XML namespace. If the project is authored in the MSBuild 2003 format, please add xmlns="http://schemas.microsoft.com/developer/msbuild/2003" to the element. If the project has been authored in the old 1.0 or 1.2 format, please convert it to MSBuild 2003 format. D:\folder\Launchpad-master\Launchpad-master\Launchpad.Utilities\Launchpad.Utilities.csproj
D:\folder\Launchpad-master\Launchpad-master\Launchpad.Tests\Launchpad.Tests.csproj : error : The default XML namespace of the project must be the MSBuild XML namespace. If the project is authored in the MSBuild 2003 format, please add xmlns="http://schemas.microsoft.com/developer/msbuild/2003" to the element. If the project has been authored in the old 1.0 or 1.2 format, please convert it to MSBuild 2003 format. D:\folder\Launchpad-master\Launchpad-master\Launchpad.Tests\Launchpad.Tests.csproj
D:\folder\Launchpad-master\Launchpad-master\Launchpad.Common\Launchpad.Common.csproj : error : The default XML namespace of the project must be the MSBuild XML namespace. If the project is authored in the MSBuild 2003 format, please add xmlns="http://schemas.microsoft.com/developer/msbuild/2003" to the element. If the project has been authored in the old 1.0 or 1.2 format, please convert it to MSBuild 2003 format. D:\folder\Launchpad-master\Launchpad-master\Launchpad.Common\Launchpad.Common.csproj
this happens upon opening the .sln file in visual studio 2015
Upon attempting to run the pre-compiled Launchpad binaries (and the utilities app) under Windows 10 1809, the app immediately closes silently. There's no output to either the command line or the log.
I suspected that it might be due to missing .net libraries, but when I attempt to install it, I get .NET Framework 4.6.2 or a later update is already installed on this computer.
, with no way to force an install.
So, switching to trying to compile my own version in Visual Studio 2017, I am presented with these errors:
Again, I can't install these libraries for the reason stated above.
I tried installing Mono, as somebody suggested in another thread, but even installing both x64 and x86 libraries made no difference.
The downloading of files from FTP should be away from the UI thread this would allow for simulations downloads instead of 1 file at a time.
the project is saying failed to connect to patch server.
here is my LauncherConfig.ini
[Local]
LauncherVersion = 0.3.0.24157
GameName = MultiTest
SystemTarget = Win64
GUID = 8637b68e-95c3-1941-b34b-7663ea148028
MainExecutableName = MultiTest
[Remote]
ChangelogURL = http://192.168.0.15/launchpad/changelog.html
Protocol = HTTP
FileRetries = 2
Username = anonymous
Password = anonymous
BufferSize = 8192
[FTP]
URL = ftp://192.168.0.15
[HTTP]
URL = http://192.168.0.15/launchpad
[BitTorrent]
Magnet =
[Launchpad]
bOfficialUpdates = true
bAllowAnonymousStats = true
and my vsftpd is set to local_root=/srv/
I also have anonymous_enable=YES
Sorry if im bothering you with this.
Implement events for game quit, game crash and game launch.
Launchpad is not working when grabbing by HTTP on Windows 10 64 Bit.
The window is not created so nothing is shown to user.
Screenshot of Visual Studio (Debug mode) : http://prntscr.com/b4tod8
Exception detail (Visual Studio 2015) : http://pastebin.com/2A9S73UW
In an effort to make the launcher more widely usable, Amazon S3 should be implemented as a supported protocol.
See the milestone for more information.
I am not able to understand how to use it from the source. Also the links are not working.(link from launcher utlis)
When I deleted a file to check if the install verifier worked, instead of letting me click Yes or No it just froze.
In an effort to make the launcher more widely usable, BitTorrent should be implemented as a supported protocol.
See the milestone for more information.
Huge amounts of code is duplicated between Windows and Unix UI. These should be abstracted out to use a common code base.
Is the best method for cross platform to use two unique UI toolkits? Seems repetitive and counter-intuitive
No Install Progress is provided. The progress bar should show the file being downloaded.
Hi!
My suggestion, create a tutorial video series .
-Installation Requirements (Win and Linux)
-Compilation
-Implementation
This tutorial helps popularize the repository.
I would like to create, but my English is bad.
Just updating the launcher binary will not work in the future. An installation package approach is more advisable.
Possible solutions:
I don't believe this feature is implemented, but I think there should be a way to delete the game folder of all files not listed in the manifest. Some games generate config files that can generate user errors (if the user does something wrong). And/or maybe files listed in manifest with a null or 00000000000000000000 as their md5 will signal that this file is flagged for deletion.
The URLs returned by the config are not properly altered based on the DoOfficialUpdates switch.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.