Xycaleth Posted February 10, 2015 Posted February 10, 2015 Good idea, yay, nay? I imagine something that would act as an installer, a launcher and an updater to keep OpenJK up to date, and to let you launch into the correct mod straight away without needing to mess about with command line arguments and stuff. In addition, making it easier to manage your mods - maybe a 'mod package' kind of thing that let's the installer know how to install your mod to the correct place? EDIT: What are people's thoughts on this? What would you like to see in such a launcher, and what you would rather not see in the launcher? Sentra, hleV, Omicron and 1 other like this
Raz0r Posted February 10, 2015 Posted February 10, 2015 The world needs more package managers. I think the most important thing is automatic updater (with option to not check for updates/manually)
Xycaleth Posted February 10, 2015 Author Posted February 10, 2015 I guess I forgot to add: does anyone have suggestions for what could be in the launcher, and what you would rather not see in the launcher?
Tempust85 Posted February 10, 2015 Posted February 10, 2015 Updater, link to website/forums, patch notes, contact info of devs & list of popular mods that use OpenJK.
Exmirai Posted February 10, 2015 Posted February 10, 2015 my launcher already have simple cabinet ( auth from ipb forum ), game loader (jamp, openjk ), auto connect,server list from which you can connect and pk3 manager but its abandoned
Syko Posted February 10, 2015 Posted February 10, 2015 It would be cool if you could add some way for you to be able to automatically download and update mods from JKHub right from the launcher, kind of how Steam workshop works with Skyrim's launcher.
hleV Posted February 10, 2015 Posted February 10, 2015 It's not a bad idea. Also since with OpenJK you're trying to "stay true" to the original game and are not altering anything too much, how about making the launcher look like JA installer/launcher?
Scorpion Posted February 10, 2015 Posted February 10, 2015 If it still has the purple staff Kel'Dorian i'm happy.
ensiform Posted February 10, 2015 Posted February 10, 2015 It would be cool if you could add some way for you to be able to automatically download and update mods from JKHub right from the launcher, kind of how Steam workshop works with Skyrim's launcher. While that would be nice, its not really practical. We don't exactly have huge content data networks around the world that Steam does. Also Nexus is way better than using workshop. Not to mention most mods are a culmination of pk3s etc, there isn't exactly a locally stored hash or anything of what mods are what or what are installed.
Futuza Posted February 10, 2015 Posted February 10, 2015 So my question is how are we going to pay for bandwidth for updates via launcher. If JKHub is willing to host the necessary bandwidth that'd be great, but we may use up more than you guys think. OpenJK is about 5-6MB per download - which is probably manageable, but if you add on mods you'd easily be using upwards of 500MB - 4GB per mod depending. Just as a lesson JKGalaxies launcher never really worked out that well because we could max out our bandwidth in just 15 days and then not be able to use it anymore; if JKHUB hosts it via dropbox it might work out though. My suggestions: Use Qt to build cross compatible simple desktop app. Have some fancy graphic artist make the screen and the programmers use some derpy screen until they finish it. Programmers will need to specify size of pixel artwork for launcher so they can easily just replace temp images with permanent one without any hassle. Launcher should upon opening first check for updates to itself (use simple version system hosted on OpenJK website), and then ask user whether they wish to update the launcher. Updates will grab a Inno Setup package of the launcher and run it after downloading it. Inno setup relaunches the updated version of the Launcher. Then you have a couple of buttons on the launcher:Play (After pressing ask users what they want to launch, multiplayer or singleplayer) will then execute appropriate .exe along with path parameters and args (that can be setup in the launcher's options)Options Here the user can: uninstall OpenJK, set arg parameters to launch when running the game (example: r_screen -2, com_MAXfps, sv_fps, r_mode, fs_cdpath, fs_homepath, r_fullscreen, fs_basepath, etc...), option to edit .cfg's, open fs_homepath location (to view screenshots, demo's etc...). This place is basically where all the advanced setup stuff can be done via a gui instead of using a batch script. Might also want to allow a script runner here, so the user can copy and paste old batch scripts into a string field and have it just run that if they still don't want to use a gui to set stuff up. All of this stuff is stored in .ini files. Each .exe arg path options is separated from the others. This way a user can launch a server with all the appropriate parameters and have different parameters setup for when they run a client.Check for Updates (check's for the latest build package from builds.openjk.org and then downloads the zip/tar.gz/dmg appropriate for your OS, it will also select 64/32 bit client depending on your selection when you first install. After grabbing update package, it will unpack and install to the current install location (indicated by .ini file) and overwrite files from old install. Launcher will run all of this in the background, but alter the button to show % of update and the current task being performed as it goes. Play button is disabled while this in progress. You can change whether or not this runs automatically in the options menu.Button that opens up browser to either openjk or jkhubRSS feed or something similar that displays latest openjk news or maybe latest jkhub articleView patch notes button (displays the latest patch notes for openjk), pulls this off of openk.org Additional features that are unnecessary, but might be nice:Create separate profiles for multiple users or even profiles per mod so that user1 can use different args from user2 or so that when you run x mod, it launches with appropriate fs_game path and args from when you want to run y mod. This would all be stored in a list like format so that when you press play it first asks what you want: dedicated server, undedicated server, multiplayer client, or singleplayer it then asks which profile/list of args you want to run and you pick this from a drop down menu. Allow users to also set a default one so that just pressing the big part of the play button (instead of drop down arrow) just runs the default one.Bug reporter that uses crash reports generated from openjk and some fields to send github openjk a bug report (potential for abuse here) Things to consider:Should latest update for openjk be latest build or latest stable build (or give user the option to decide)?Just exactly how many options should there be, jka has always had a lot of options you can set using the console and most if not all can be run as an arg, but we don't want to overwhelm a user with options (even if it is hidden away in an 'advanced' menu somewhere). Sometimes it is just simpler in this case to just allow the user to create an arg screen, so they can be as complex or simple as they want if the gui options aren't enough for themSince the source code will likely have to be opensource, make sure we don't do something stupid to make openjk site vulnerable to ddos/abuseGenerating the rss feed/patch notes/and updates for the launcher/openjk builds should be easy and possibly automatic - let's not involve humans if we have to. Once a code commit is done, have it compiled automatically and a build created and version numbers updated. The only human we want to have to dinker around is: actually updating the source code, and writing the rss feed news and patch notes.
Circa Posted February 10, 2015 Posted February 10, 2015 So my question is how are we going to pay for bandwidth for updates via launcher. If JKHub is willing to host the necessary bandwidth that'd be great, but we may use up more than you guys think. OpenJK is about 5-6MB per download - which is probably manageable, but if you add on mods you'd easily be using upwards of 500MB - 4GB per mod depending. Just as a lesson JKGalaxies launcher never really worked out that well because we could max out our bandwidth in just 15 days and then not be able to use it anymore; if JKHUB hosts it via dropbox it might work out though.I stopped reading after this paragraph, but just like to say that the Dropbox bandwidth limit is probably not enough either. Maybe with @@Caelum's hosting but that might be up to him to allow such things.
Futuza Posted February 10, 2015 Posted February 10, 2015 I stopped reading after this paragraph, but just like to say that the Dropbox bandwidth limit is probably not enough either. Maybe with @@Caelum's hosting but that might be up to him to allow such things.I cleaned my post up a bit so its a bit more readable. As long as openjk itself is less than 10mb when it comes to downloads, I think it'll probably be okay (of course if it gets popular we're screwed regardless of what we do without some sort of sponsor to pay for bandwidth).
Xycaleth Posted February 10, 2015 Author Posted February 10, 2015 Great ideas so far everyone Thanks Perhaps being able to download and update mods through the launcher isn't such a great idea then What I originally had in mind was for mods, that the user has already downloaded themselves, to provide an extra file (e.g. a .mod file) which tells the launcher how to install and remove the mod. It might not even need that if the zipped up mod is laid out in a predictable way (I haven't looked into it). Checking for OpenJK would go through the OpenJK website, though I'm not exactly sure who hosts the OpenJK website... each signal "back to home" is only going to be a few hundreds of bytes so no big deal I don't think. Use Qt to build cross compatible simple desktop app. [...]I want to see the launcher written in some higher level language like C# or Python if that's suitable. No need for the low level control that C++ gives. I like the idea of having separate user profiles. I'm not sure how many people actually share their computer with anyone else these days though (it seems to be becoming increasingly rare).
Xycaleth Posted February 10, 2015 Author Posted February 10, 2015 That's not a bad idea I have no idea how you would make such a thing though!
Futuza Posted February 10, 2015 Posted February 10, 2015 Great ideas so far everyone Thanks Perhaps being able to download and update mods through the launcher isn't such a great idea then What I originally had in mind was for mods, that the user has already downloaded themselves, to provide an extra file (e.g. a .mod file) which tells the launcher how to install and remove the mod. It might not even need that if the zipped up mod is laid out in a predictable way (I haven't looked into it). Checking for OpenJK would go through the OpenJK website, though I'm not exactly sure who hosts the OpenJK website... each signal "back to home" is only going to be a few hundreds of bytes so no big deal I don't think. I want to see the launcher written in some higher level language like C# or Python if that's suitable. No need for the low level control that C++ gives. I like the idea of having separate user profiles. I'm not sure how many people actually share their computer with anyone else these days though (it seems to be becoming increasingly rare).I wouldn't mind the launcher being written in something like Python, but if you write it in C# it won't be cross compatible. But Qt kind of makes C++ a lot higher level...plus I already have a lot of source code done for most of this if you want me to share/participate in it. The separate user profiles could simply be used as separate 'mod' profiles even if we find the user profiles aren't all that useful/common. Torrenting isn't something I've ever tried programming before, but it would probably solve the bandwidth issue for mods if I knew how to do it. Exmirai likes this
Xycaleth Posted February 10, 2015 Author Posted February 10, 2015 I wouldn't mind the launcher being written in something like Python, but if you write it in C# it won't be cross compatible.C# is completely cross-platform these days Mono project supports the vast majority of Microsoft's .NET framework implementation so it should be a matter of recompiling for Linux and OS X. Futuza likes this
Didz Posted February 10, 2015 Posted February 10, 2015 A launcher sounds good, but as said before in the thread it shouldn't be cluttered with too many options. The main thing it'd need to cover would probably be cvars that can only be set before launching (like fs_game, and the fs_*paths). Profile support could also be awesome, but I usually just exec a cfg file while the game's running if I need to change stuff. Update checking sounds great, they should never get in your way though. (No dialogue boxes for errors checking updates, interface slowness, etc.) C# with Gtk# would be a good cross-platform solution to use as it's not too low-level. I'm guessing it'll be skinned to hell, so there won't be any gripes with things not looking "native" to the OS. There doesn't need to be any question about how releases can be managed and distributed https://help.github.com/articles/creating-releases/No cost, no limits, and it ties in great with source control. Releases are also served over HTTPS. The launcher can use the GitHub Releases API to check if there's a new release. though I'm not exactly sure who hosts the OpenJK website... That would be me Futuza, Xycaleth and Stoiss like this
Xycaleth Posted February 10, 2015 Author Posted February 10, 2015 C# with WinForms would even work with Mono. But yeah, everything will be themed anyway so it doesn't really matter which we go for I don't think. EDIT: Also @@Didz, how do releases work on GitHub? How does it know how to compile and package up the source code? EDIT2: Nevermind! I figured it out now. This seems awesome and we should definitely use it Well that solves our updating problems then! Futuza likes this
Futuza Posted February 11, 2015 Posted February 11, 2015 I haven't been keeping up with C# lately, but if its good for cross compatibility then go for it. So do the GitHub source releases, allow us to host any .exe size we want and not cap our bandwidth? A launcher sounds good, but as said before in the thread it shouldn't be cluttered with too many options. The main thing it'd need to cover would probably be cvars that can only be set before launching (like fs_game, and the fs_*paths). Profile support could also be awesome, but I usually just exec a cfg file while the game's running if I need to change stuff.This would be pretty simple to make, just have a basic 'wizard' cfg creating option and then save these files in a profiles directory and create a list of Profile Names that it associates each file with (based on file name) that is populated in the launcher. If users want more 'advanced' options from what the wizard offers, they can just manually open the cfg file and edit it like normal and then save it. Then just have the launcher exec the selected profile when launching the game (they can be put in as args right?)
hleV Posted February 11, 2015 Posted February 11, 2015 We need this kind of launcher, just with altered options. I prefer JK2's design. OpenJK's could be improved/HD'd, but definitely based on this. Jango40 likes this
Futuza Posted February 11, 2015 Posted February 11, 2015 We need this kind of launcher, just with altered options. I prefer JK2's design. OpenJK's could be improved/HD'd, but definitely based on this. That's so fugly 90's though, what's wrong with making it more up to date looking? Omicron and Stoiss like this
Raz0r Posted February 11, 2015 Posted February 11, 2015 Ugh. KISS - Keep It Simple, Stupid. Play SP / MP - Automatically load mod - Set custom resolution - ??? Check for updates Visit site/forums Exit Circa and Omicron like this
gerbilOFdoom Posted February 11, 2015 Posted February 11, 2015 +1 for torrenting I have a seedbox that I would gladly set up to be a seed for this. Perhaps BTSync would be the best style of torrenting to use for this?
hleV Posted February 11, 2015 Posted February 11, 2015 That's so fugly 90's though, what's wrong with making it more up to date looking?For the same reason OpenJK doesn't "improve" JK's gameplay among other things. You're sticking to the roots, aren't you? Like I said, an HD version based on the already existing JK launchers. No problem with alterations (JK2 and JKA's launchers aren't identical neither), but it shouldn't be too different.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now