Modcraft - The community dedicated to quality WoW modding!

Wrath of the Lich King Modding => Resources and Tools => Topic started by: Amaroth on October 24, 2016, 05:23:14 pm

Title: [Win][WotLK]WoWMod Launcher 1.1
Post by: Amaroth on October 24, 2016, 05:23:14 pm
(http://www.model-changing.net/uploads/monthly_2016_10/01.jpg.a68c2aa8a0b5f0e9df85c44e60d19c1b.jpg)
(http://www.model-changing.net/uploads/monthly_2016_10/02.jpg.7be5b4fc84d6e55372d41769744ff4d4.jpg)
(http://www.model-changing.net/uploads/monthly_2016_10/03.jpg.8bdb2b67b8abd334a5f47c2121b58f83.jpg)
(http://www.model-changing.net/uploads/monthly_2016_10/04.jpg.095a51abfc979cf89c1f3ecb10f977df.jpg)
(http://www.model-changing.net/uploads/monthly_2016_10/05.jpg.5484d4abd0f2fee6c0526248deb57c15.jpg)

Basically a copy of topic:
http://www.model-changing.net/files/fil ... -launcher/ (http://www.model-changing.net/files/file/88-amaroths-launcher/" onclick="window.open(this.href);return false;)

About:


This Launcher's main purpouse is to be easy, fast and convenient to use for both players and admins. Players get their client updated by clicking on one buttons, and admins don't have to spam news with patch releases, links to new versions of patches and so on. Launcher is nearly fully configurable and src is included, so you can do basically whatever you want with it. You can also fully translate your Launcher to your native language (or correct any posible mistakes I made since english ins't my mature language :D). You can also create multiple versions with different languages - all this without actually changing a src. If you happen to need to change src anyway, its written in C# (WinForms) and hopefully not too messy or too badly documented for you.

Please note that this is the first version to ever be released (its actually a configurable remake of already released software, but... well). It is possible there are some unhandled exceptions or even bugs. I have been testing this tool for some time and there shouldn't be any real major issues, but one never really knows for sure. Keep a backup of your game client and don't set KeepBackups in config to 0 unless you are really confident this works correctly.

Launcher is capable of following things:


* Deleting Cache folder.
* Removing (I use different word because optionally the most recent backups are being kept) outdated (or on web's filelist missing) MPQs in Data folder.
* Downloading any files specified in web's filelist into any specified local path in WoW's client folder.
* Unziping zipped folders (sadly, only zip is supported, rar, 7z and others not). Useful for AddOns.
* Dividing files into two categories - optional, and non-optional. User can choose which optional files are to be downloaded.
* All files can be organized into LinkedLists. If a file with a LinkedList is optional, it is an optional group. Player can either keep all files from an optional group, or none of them. Optional group can contain both files and zipped folder (AddOns).
* Self-updating, if a new version is released. Version system is based on one simple double-typed version number.
* Using different filelists. Which means you can have separated filelist (and files) for GMs/Devs and for players.
* Launcher also includes Changelog Browser (changelog entries have name, date, description and optionally a picture).
* There is also a Changelog Editor. To access it, you need to enter FTP login information. This serves for authentization of staff members, and also enables Launcher to upload edited changelog to FTP (so you don't have to put it there by hand).
* File downloading fully asynchronously, so users can browse changelog while files are being downloaded. * Download speed, progress bar, percentage and stuff like that are being shown as well.
* Displaying of "hello image" which can for example be an image with some breaking news and stuff like that.

How to configure:


* Rename your Launcher to whatever you want. Something like MyProjectsLauncher.
* Create a folder on your web where web side files will be kept. You can divide multiple things into multiple paths, but I'd recommend you to just have everything at one place. I'll call this a web's root folder (root folder for launcher stuff, not for web as whole, hopefully you understand me).
* Your web's root folder must contain file with current Launcher's version (I use launcherversion.conf). This file must contain only one double-typed number with . as a separator. Version of Launcher I'm releasing here is 1.0. You can change your Launcher's version in Core/Config.cs. If Launcher finds that value in launcheversion file is higher that its version, it attempts to update itself.
* Your web's root folder also must contain a zip file with a Launcher, its LauncherConfig.conf and optionally with its LauncherIcon.ico. I've named it Launcher.zip, again, you can rename it.
* Your web's root folder also should contain changelog.xml. If it is empty or isn't found, a new one will be created when you'll try to create a changelong in Changelog Editor.
* Add a hello image (in my case hello.jpg) into your web's root folder. This image will be displayed in Launcher's main window and will most likely be used by you for displaying some breaking news.
* Add a realmlist.wtf file into web's root folder, if you want Launcher to change realmlist of players to your server.
* Also add the most important file for Launcher to your web's root folder: a filelist. I've called it filelist.conf. You can have multiple filelists on your web and release multiple Launcher versions which use different filelists. By using this technique you can release a Launcher for developers and a Launcher for players, which use different filelists and thus can download different files.
* Set your filelist. Follow examples in my filelist which you can find in an example web root folder I've added into this release. Read instructions very carefully, as filelist syntax should be strictly followed. Launcher can handle some fooled up entrys, but not all, and if filelist isn't succesfully readen (or if any files mentioned in it are missing/paths to those files in a filelist are incorrect), Launcher will simply refuse to update a game client.
* Open a ChangelogConfig.xml. You'll need to change all data in Paths element - make really sure that those paths are correct. By doing this you'll connect a Launcher to your website. Pay especially high attention to FTP path to a folder where changelog.xml is, what it should look lile-
* You may want to change something in Main element. Its not very likely, but take a look there.
MainWindow element contains WindowName subelement. You'll most likely want to edit this.
* ChangelogEditor element contains DateFormat subelement. If you want to change this, DO SO BEFORE YOU CREATE A CHANGELOG. Otherwise you will end up with incompatible changelog and Launcher.
* The rest of ChangelogConfig.xml contains names for UI elements and various messages Launcher can output.
* Create your own icon in PNG format, google some online PNG to ICO converter.
Done. Test if everything works correctly and release a Launcher. Launcher is to be put into WoW's root directory and thats pretty much all.

 

Making this application took really some time and effort, I had to learn a lot of things to make it work and plan to make more tools and apps for WoW development. If you really like my Launcher and want to give me at least something in return to support me back, my Paypal account is:

Amaroth7@seznam.cz (http://mailto:Amaroth7@seznam.cz)

DOWNLOAD LINK HERE:
https://www.dropbox.com/s/bsip16nwimzbb ... e.rar?dl=0 (https://www.dropbox.com/s/bsip16nwimzbblw/AmarothsLauncherRelease.rar?dl=0" onclick="window.open(this.href);return false;)
Or in original topic on MC-Net.

REPO ON GITHUB HERE:
https://github.com/Amaroth/WoWMod-Launcher (https://github.com/Amaroth/WoWMod-Launcher" onclick="window.open(this.href);return false;)

Changelog


It would be just a waste of effort to write everything on two places. You can always read a changelog here:
http://www.model-changing.net/files/fil ... -launcher/ (http://www.model-changing.net/files/file/88-amaroths-launcher/" onclick="window.open(this.href);return false;)
Title: Re: [Win][WotLK]Amaroth's Launcher
Post by: fandramen on October 25, 2016, 05:46:29 am
it has a bg when you enter into the changelog editor and not work :(

Code: [Select]
try { xmlString = (new AmWebClient(3000)).DownloadString(path); }
            catch (WebException e)
            {
                o.Messagebox(c.SubElText("Messages", "ChangelogNotOpened"), e);
                xml = null;
                return;
            }
Title: Re: [Win][WotLK]Amaroth's Launcher
Post by: Amaroth on October 25, 2016, 10:03:51 am
Most likely incorrect HTTP path to changelog.ftp on web. Contact me o Skype and we can take a look at that together, that editor access is a thing I am most unsure about. I need to know what is "not working" and stuff like that, I can't do anything about it without any information provided.
Title: Re: [Win][WotLK]Amaroth's Launcher
Post by: Uthil on October 25, 2016, 10:25:45 pm
Wow im amazed. Really neat piece there mate. Congrats.  :)  :)  :P
Title: Re: [Win][WotLK]Amaroth's Launcher
Post by: Amaroth on October 26, 2016, 03:27:09 pm
I found a mistake in method which is uploading changelog to FTP, I'm going to fix it in next release. Thanks for the support btw :).

EDIT: 1.1 released.
Title: Re: [Win][WotLK]WoWMod Launcher 1.1
Post by: Amaroth on November 03, 2016, 10:32:44 am
I've got to admit, I completely lack any kind of experience with GitHub system.
So, here's a repo, hopefully in usable shape.
https://github.com/Amaroth/WoWMod-Launcher (https://github.com/Amaroth/WoWMod-Launcher" onclick="window.open(this.href);return false;)
Title: Re: [Win][WotLK]WoWMod Launcher 1.1
Post by: Barbz on May 30, 2017, 01:30:05 am
Bump for this project.

I sent you a message with some questions, I add one or two more here :

How to use the ftp thing with a custom port, using FTPS (with TLS SSL) or with SFTP (ssh ftp) ??

I guess it wasn't planned at all and I doubt it will be added.

However, you could upload a default changelog in the changelog.xml so we can modify it inside any text editor, what do you think ?
Title: Re: [Win][WotLK]WoWMod Launcher 1.1
Post by: Amaroth on May 30, 2017, 08:35:36 am
Sorry, too busy for re-coding this tool :X. And I don't think I'll have time for it in next few months.

Connection settings are hardcoded. XML of changelog is very simple, just one root element with subelement where each has 3 attributes and inner text. Thats all.:

<?xml version="1.0" encoding="utf-8"?>
<releases>
  <release heading="Name" date="DateTime in format defined in LauncherConfig.xml (Config\ChanglogEditor\DateFormat)" pictureURL="URL to picture">Description of release/change/news/whatever this record is about. Supports URLs to external pages.</release>
 <release heading="Example" date="29.5.2017 14:35" pictureURL="http://dotageeks.com/wp-content/uploads/2015/10/World-Of-Warcraft-Logo-5.png">This is an example message about new release of MyProject patches. Some changes are:
- More fluffy clouds
- Cool music
- And more and more and more

You can view galery on our facebook page.:
https://www.facebook.com/</release>
</releases>