This is a read only copy without any forum functionality of the old Modcraft forum.
If there is anything that you would like to have removed, message me on Discord via Kaev#5208.
Big thanks to Alastor for making this copy!

Menu

Author Topic: [Win][WotLK]WoWMod Launcher 1.1  (Read 3391 times)

Amaroth

  • Contributors
  • Creator of Worlds
  • *****
  • Posts: 1219
    • View Profile
    • Amaroth's Tools
[Win][WotLK]WoWMod Launcher 1.1
« on: October 24, 2016, 05:23:14 pm »






Basically a copy of topic:
http://www.model-changing.net/files/fil ... -launcher/

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

DOWNLOAD LINK HERE:
https://www.dropbox.com/s/bsip16nwimzbb ... e.rar?dl=0
Or in original topic on MC-Net.

REPO ON GITHUB HERE:
https://github.com/Amaroth/WoWMod-Launcher

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/
« Last Edit: November 03, 2016, 10:33:14 am by Admin »
English YT tutorial channel. Check it out if you preffer videos over walls of text.:
https://www.youtube.com/AmarothEng

Want to support me for my releases and/or tutorials? You can send donation via Paypal to:
jantoms@seznam.cz

fandramen

  • Registred Member
  • LUA Script Tinker
  • *****
  • Posts: 47
    • View Profile
Re: [Win][WotLK]Amaroth's Launcher
« Reply #1 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;
            }
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

Amaroth

  • Contributors
  • Creator of Worlds
  • *****
  • Posts: 1219
    • View Profile
    • Amaroth's Tools
Re: [Win][WotLK]Amaroth's Launcher
« Reply #2 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.
« Last Edit: January 01, 1970, 01:00:00 am by Admin »
English YT tutorial channel. Check it out if you preffer videos over walls of text.:
https://www.youtube.com/AmarothEng

Want to support me for my releases and/or tutorials? You can send donation via Paypal to:
jantoms@seznam.cz

Uthil

  • Registred Member
  • Model Change Addict
  • *****
  • Posts: 283
    • View Profile
Re: [Win][WotLK]Amaroth's Launcher
« Reply #3 on: October 25, 2016, 10:25:45 pm »
Wow im amazed. Really neat piece there mate. Congrats.  :)  :)  :P
« Last Edit: January 01, 1970, 01:00:00 am by Admin »
Like my project and you like to support me, you can do it here!

Amaroth

  • Contributors
  • Creator of Worlds
  • *****
  • Posts: 1219
    • View Profile
    • Amaroth's Tools
Re: [Win][WotLK]Amaroth's Launcher
« Reply #4 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.
« Last Edit: January 01, 1970, 01:00:00 am by Admin »
English YT tutorial channel. Check it out if you preffer videos over walls of text.:
https://www.youtube.com/AmarothEng

Want to support me for my releases and/or tutorials? You can send donation via Paypal to:
jantoms@seznam.cz

Amaroth

  • Contributors
  • Creator of Worlds
  • *****
  • Posts: 1219
    • View Profile
    • Amaroth's Tools
Re: [Win][WotLK]WoWMod Launcher 1.1
« Reply #5 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
« Last Edit: January 01, 1970, 01:00:00 am by Admin »
English YT tutorial channel. Check it out if you preffer videos over walls of text.:
https://www.youtube.com/AmarothEng

Want to support me for my releases and/or tutorials? You can send donation via Paypal to:
jantoms@seznam.cz

Barbz

  • Registred Member
  • LUA Script Tinker
  • *****
  • Posts: 48
    • View Profile
    • YHOOL
Re: [Win][WotLK]WoWMod Launcher 1.1
« Reply #6 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 ?

Amaroth

  • Contributors
  • Creator of Worlds
  • *****
  • Posts: 1219
    • View Profile
    • Amaroth's Tools
Re: [Win][WotLK]WoWMod Launcher 1.1
« Reply #7 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>
English YT tutorial channel. Check it out if you preffer videos over walls of text.:
https://www.youtube.com/AmarothEng

Want to support me for my releases and/or tutorials? You can send donation via Paypal to:
jantoms@seznam.cz