[Tool] Debug-Build Support-Tool

Luke

Captain
from WCSD Forum (german)

1. Usage

Download WCS Debug-Build Support-Tool (short: DBST) ZIP and unzip it, then start WCS_Debug-Build_Support-Tool.exe and press <Start Debug Build and create Support ZIP>. After DBST ends, you will find the fs2_open_SupportTool.zip at your desktop and this file can directly attached to a posting in the forum.

  • Info: The WCS Debug-Build is included in DBST, there is no need for an additional download of the Debug-Build.

Privacy
dxdiag.log and dotnet.log contains the computer name (network) and fs2_open.log contains the user profile name (Windows).

Screenshots

User interace
PicPick_2015-07-04_11-33-43.png


DXDiag
PicPick_2013-06-21_22_02_03.png


MD5 check
PicPick_2013-06-21_22_30_45.png


Finished
PicPick_2015-07-04_11-33-53.png


With Total Commander and DiskDir Plugin the supporter can navigate in the players list files like real directorys.
PicPick_2015-07-04_10-39-58_.png


2. Background & Functions (primarily interesting for supporters)

2.1 Background

The idea for this tool i had last year. I thought about how the handling for the debug build and the log can be simplified. And i wanted a simple way to give the supporter a system report for the most important windows and hardware values.

2.2 Functions

DBST have the following functions and reduces all needed steps to a minimum:

  1. Copied the officially debug build into the correct WCS folder. If UAC is active, then a thread called "WCS_Debug-Build_Support-Tool_copy.exe" will be started to ask the user for permission to write in the WCS folder. DBST have a version check, so if the local debug build is older then the one in DBST, the local debug build will be replaced. Info: In the properties of the DBST EXE you can find the debug build version under "WCSDBVersion". This info will also shown in the DBST GUI.
  2. Starts the debug build. You can use all commandline parameters from the official debug build in the commandline textbox. Info: You can test this very simple with the parameter -nosound as example. [fs2_open.log]
  3. After the debug build ends, because of normal end or because of a CTD (Crash To Desktop), DBST creates automatically a system report with DXDIAG (if enabled, standard). In this log, the supporter can find the most important Windows and hardware values from the users computer. Info: This log includes information about the Windows version, processor, memory, graphic card type and graphic card driver version. [dxdiag.log]
  4. The possibility to check the WCS installation for errors and add the result to the Support ZIP. (if enabled, not standard). Possible results for the separate files: [MD5 OK ] = File exists and is OK, [MD5 WRONG!] = File exists but is corrupt, [NOT FOUND!] = File is missing. [md5check.log]
  5. The feature to add all WCS game profiles to the Support ZIP. (if enabled, not standard) [profiles]
  6. The feature to detect all installed .NET Framwork versions with their servicepacks. [dotnet.log]
  7. All actions from DBST will logged in a separate log file. [dbst.log]
  8. At last point, DBST creates automatically a ZIP with all logs and the WCS profiles, depending on selection. The user can then find the Support ZIP (fs2_open_SupportTool.zip) on his Desktop very easily.

3. Download

Download from wcsaga.org forum thread
 
Last edited:

Luke

Captain
1.1.1.1 2013/7/6
  • Checks if WCS or Debug Build is running.
  • Checks if another instance of DBST is running.
  • Disables the option "include game profiles" if no profiles exists.
 

Luke

Captain
Main post updated.

1.1.2.0 2013/7/10
  • New: can detect now all installed .NET Framework versions with their servicepacks. For this DBST uses the ".NET Version Detector" from http://www.asoft.be with kindly permission from Nick Asseloos. (Idea: laraan)
  • Some error messages will no longer prevent DBST start. Now simply the dependent features will deactivated so it's possible to create a support ZIP with some basic informations.
  • These error messages are now written in dbst.log with the prefix "ERROR:".
  • More informations like additionally version numbers added to dbst.log. Furthermore the actions from DBST are logged much more detailed than before.
  • One single line no longer contains multiple informations in dbst.log. One line, one information.
  • Added milliseconds to the timestamp in dbst.log and md5check.log.
 

Luke

Captain
1.1.2.5 2013/8/1
  • Fix: If DBST was started more than once, the second instance had deleted the temp files from first instance.
  • The check for single instance starts now at first position instead of last. This prevents unnecessary (double) warnings and error messages.
  • Version from the OpenAL DLL in System directory will determined and written in to dbst.log.
 

Iceblade

Admiral
The debug build just gives me a filename too long extension error when the game attempts to start up the briefing. I really can't see why the extension is such a problem given the director path isn't very long: D:\Games\Wing Commander\WCSaga
 

Luke

Captain
Hi

Give more infos please. What's the cause for using DBST? And, if you start the debug build via DBST you get a support ZIP on your desktop. This ZIP i need, please attach.
 

Luke

Captain
New version 1.2.0.0, big update.

Translation by google. ;)

1.2.0.0 27/06/2015
  • A new feature allows the inventory of the games directory and the profile directory. These lists are created that contain the complete contents of this folder path, name, size, date and time. These lists are generated so that they are compatible with Total Commander Plugin "DiskDir". This plugin allows then, almost to himself in Total Commander virtually move in WCS folder and in the player's profile folder, as if you had TC started directly on the PC of the player. This is comfortable and easy for the supporters who can thus get an idea of this folder.
  • Accordingly, there are two new options: "With directory list of WCS-folder" and "directory list with the profile folder".
  • The test installation has been completely redeveloped. So far, this test could only be carried out when DBST WCS for the existing installation contained a corresponding MD5 file. When an unknown engine version, the test was not performed in accordance with, as it necessary file was missing. Instead, now basically performed independently of the existing engine MD5 checking all provided files and only then checked for associated versions. For this, the calculated MD5 hashes are compared with a new built-in list and issued in accordance the corresponding version. If no match can be found, the calculated hash is output instead. The new test method ensures that the important WCS base (VP files) can always be checked.
  • The Packers switched from ZIP to 7-Zip which just much more efficient working with the contents of the Support Archives, which the archives are smaller by several factors.
  • As DBST has solved a long time in the environment of Freespace and already since the first public version 1.0 provides significantly more than just the fs2_open.log file, the name of the Support Archives has now been changed from "fs2_open_SupportTool" on "WCS_SupportTool_Data" ,
  • The log some Versionsbezeichungen dbst.log named more precisely and to made to the state of the new options monitor more minor changes.
  • More Splash boxes added, so is currently shown on older PCs always what DBST doing.
  • In the Option group of versions of the icons of the respective engines added.
  • Language files German and English updated: revised texts and added new.
 

Luke

Captain
New version 1.3.0.0 online, another big update.

Updated screenshots. Added also a screenshot from Total Commander with DiskDir plugin, shows the feature to navigate in the players list files like real directories.

Translation by google.

1.3.0.0 07/04/2015
  • Fix: The new inventory options could also be selected if the required folder missing.
  • Fix: The installation test could not be selected when the engine "wcsaga_sse2.exe" was missing. Whether this test may be selected, is now only dependent on the existence of the WCS folder.
  • Fix: Has started a second instance of DBST, this overwrote the log dbst.log the first instance. Now only the start attempt is appended to the existing log.
  • Fix: The base files (* .vp) are now assigned to the correct version 1.0.2.7795.
  • Fix: WCS_Debug-Build_Support-Tool_copy.exe 1.0.0.2: If WCS is installed on a 64-bit Windows in an area controlled by the User Account Control folder, failed to update the debug build in this folder WCS_Debug-Build_Support-Tool_copy.exe since the WCS path from the registry could not be read.
  • Extended Installation exam, so in addition to the necessary files and optional files can be checked. Accordingly, the files are now listed separately in md5check.log to Required and Optional. Unlike needed files in optional files no entry is made in the log if they do not exist.
  • New: Can be added New option selected with the all the other options at one time or deselected:
  • New: In note dialog box that appears after creating the archive support, the file size of the archive is now also displayed in a rounded form with the data bytes / KB / MB.
  • The log function changed so that always the English error messages are independent of the loaded language package written in the log file. To follow all the log files are consistently English.
  • WCS_Debug-Build_Support-Tool_copy.exe updated by AI 3.3.8.1 on 3.3.12.0 and EXE created so new. In addition, Icon changed to the new default icon.
  • . NET Version Detector from 3.1.0.5600 to 4.0.0.6000 updated.
  • Further tests incorporated to increase robustness.
  • Further error messages and log entries added.
  • Language German and English updated: revised texts and added new
.
 

Luke

Captain
Translation by google.

1.3.1.0 31.7.2015
  • AI updated by 3.3.12.0 to 3.3.14.1. Support for Windows 10 release. Minimum requirement for the program is now Windows XP SP3.
  • WCS_Debug-Build_Support-Tool_copy.exe updated by AI 3.3.12.0 to 3.3.14.1.
  • . NET Version Detector from 4.0.0.6000 to 4.1.0.7000 updated. Support for .NET 4.6 release.
  • New information in dbst.log: OSLang, Desktop Height, Width Desktop, DesktopDepth, desktop refresh.
  • In dbst.log basic information into categories.
 
Last edited:

Luke

Captain
1.3.2.0 08/08/2015
  • Adjustments for AI 3.3.14.1.
  • Fix: Since AI 3.3.14.1 text files are automatically loaded and saved by default as UTF8. Thus it could happen that the file contained invalid lists special characters that can not be read correctly from the Total Command Plugin "DiskDir" because the plugin ANSI expected. Therefore all text files (logs and lists) now explicitly stored in ANSI format.
  • New: Support Archives can now be encrypted on request with AES256. For this purpose a password with a maximum of 20 characters can be entered. This password is automatically copied by default to the clipboard and can be easily inserted in a private message.
  • WCS_Debug-Build_Support-Tool_copy.exe 1.0.0.4: Adjustments for AI 3.3.14.1.
  • 7-Zip compression of step 5 (Standard) increased to 7.
  • New: In the window that displays the currently running action, also the total number of actions to be executed as well as the serial number of the current action is specified now. This window is now also permanently displayed, also during the installation check (MD5).
  • Language German and English updated: revised texts and / or added new.
 
Last edited:

ChrisReid

Super Soaker Collector / Administrator
  • 7-Zip compression of step 5 (Standard) increased to 7.
Is it necessary to 7zip these? Aren't most apps under a few megabytes? Most modern OSes have unzipping ability built in, but to un.7z, you usually need a third party program. Is it worth it to save a fraction of a second of download time? (If people ever send us .7z files to host at the CIC, I unpack them and rezip them with boring normal .zip compression to save everyone else time after they download)
 
Last edited:

Quarto

Unknown Enemy
I agree with Chris. 7zip is a waste of time in cases like this. The benefits are far outweighed by the inconvenience.
 

Luke

Captain
Hi

Is it necessary to 7zip these? Aren't most apps under a few megabytes?
I agree with Chris. 7zip is a waste of time in cases like this. The benefits are far outweighed by the inconvenience.
Yes, that's true. For the tools 7Z is realy not needed, because 7Z can't compress the tools much better than ZIP in this case, because the tools are compressed already. The cause is simple: in the WCSD project I work only with 7Z during development. At the release the packages will also compressed with 7Z. So it is more like a "simplification" to use only one archiver for all.

Some examples for mod builds (weekly updates) and the engines (updates if needed). This are the archiver data for the current mod and engines:

Mod (real size: 79.392.896 Bytes):
7ZIP: 6.443.008 Bytes
ZIP: 11.362.304 Bytes

Engines (real size: 13.412.352 Bytes):

ZIP: 4.775.936 Bytes
7ZIP: 3.117.056 Bytes

Big difference at the mod and keep in mind, that the mod build get updates every week. So 7Z saves us LOT of webspace and bandwith.

I use also every day ZIP because in my file manager there is no difference between a normal folder and a ZIP archive. I can add, delete and rename files and folders and i can edit directly text files and any other files like in normal folders. But I use ZIP only local, but not for the internet. And btw I use several other packer formats and for me it's no problem to use a half dozen packer types every day because I use a file manager which can add another packer type simply by install a plugin for it. No need to install lot of packer suites if we use a good file manager. ^^

Most modern OSes have unzipping ability built in
That's also true. But ZIP is realy outdated and not suited for the internet because of two important characteristics:

  • Compression is poor (7ZIP is much better, dependently to the kind of data)
  • Enryption is weak and easy to break (7ZIP uses AES256 industry standard. The only way to break it (if the password is strong) is "brute force")

Maybe at release i will change the archiver type for the tools to zip, but not during the WCSD development. But the release of WCSD will be 7Z. ZIP is great for local operations because it is very fast and an archive can also be changed very fast, but it is not a good archiver for the internet. 7ZIP is not suited for daily local operations because it is much slower on compression, but it is perfectly suited for the internet and distribution.

The archive DBST produces will allways be a 7Z and i don't will change this, because it can compress the needed data much better than ZIP and it have a strong encryption if the player decide to keep their data private. The support archive produced by DBST are not meant for the player, it is meant for the developers and the supporters. But the player can look in this archive if he want to see what data he give us if he simply install 7ZIP.

but to un.7z, you usually need a third party program. Is it worth it to save a fraction of a second of download time?
7ZIP is very fast to download beacuse its pretty small, it's easy to install without any adware and it's completely free software.

Short: ZIP for internet is absolutely outdated. Nearly all other compressors are better than ZIP. To decide to to use ZIP because the OS have a build in function for unpack it, is no good argument for using a outdated compressor format which is not suited for internet distribution. The better way is for the OS developers to build in unpacker for ALL packer formats, so this kind of discussions are no longer needed. ^^
 

ChrisReid

Super Soaker Collector / Administrator
Some examples for mod builds (weekly updates) and the engines (updates if needed). This are the archiver data for the current mod and engines:

Mod (real size: 79.392.896 Bytes):
7ZIP: 6.443.008 Bytes
ZIP: 11.362.304 Bytes

Big difference at the mod and keep in mind, that the mod build get updates every week. So 7Z saves us LOT of webspace and bandwith.
Just to be clear, that's a 5 megabyte difference, right? So if you got a couple thousand downloads a week that would be 10 gigs of bandwidth? Maybe you're not using the right hosts. :) We have hundreds of gigs of space and 10 terabytes of bandwidth each month to spread across the CIC (if Kris didn't work a deal recently to get us 15?... I forget) and all the Solsector sites, and we never ever come close. I'm sure we can set you up with a Solsector site if needed.

But ZIP is realy outdated and not suited for the internet because of two important characteristics:
  • Compression is poor (7ZIP is much better, dependently to the kind of data)
  • Enryption is weak and easy to break (7ZIP uses AES256 industry standard. The only way to break it (if the password is strong) is "brute force")
If we're still talking about megabytes, we're talking about saving seconds on a download for the end user. In this context, the compression could be zero and simply be a container for multiple files and it would be fine. And we're talking about video game mods, so the encryption doesn't apply here.

7ZIP is very fast to download beacuse its pretty small, it's easy to install without any adware and it's completely free software.

Short: ZIP for internet is absolutely outdated. Nearly all other compressors are better than ZIP. To decide to to use ZIP because the OS have a build in function for unpack it, is no good argument for using a outdated compressor format which is not suited for internet distribution. The better way is for the OS developers to build in unpacker for ALL packer formats, so this kind of discussions are no longer needed.
You're thinking about this from the perspective of a techy dude who knows how to code software. The average end user CIC fan doesn't even play mods because they're more of a hassle to set up than a one-click GOG install. The Wingnuts who have tried downloading stuff from the CIC exist on a spectrum with the coders like you on one end and people on the other end who have some time, but immediately pass and move on to something else when they encounter a hurdle such as not having the right decompressor. If you're doing all of this is a hobby to fill your time and the fact that other people download and use these programs is a bonus, then just keep doing what you're doing. There's a techy niche audience that already has the software and uses your program now, but if you want this group to grow in size, avoiding 7zip will only help.

It ultimately doesn't matter how small, easy or free a 7unzipper is. I often write front page updates from work on my lunch break, and I can't install any third party software whatsoever on my work computer, so if I encounter an oddly zipped file, then that update gets put on the back burner. When I get home, I'd prefer not to put any unnecessary software on my primary Macbook, so then these files get deprioritized further until I can check them out on my Windows machine later when I can un7zip this app, unrar the program from another guy, then figure out what reads the goofy audio codec some that some other Wingnut music person encoded his new song in etc. I've probably looked at more Wing Commander fans' oddly compressed bits and bytes than anyone on the planet - I'm motivated to look at everything everyone creates, and I've got the hardware and software to do it, and that part of it is still a hassle. I'm just saying: blame it on the OS manufacturers or the lazy masses, but no matter what totally rational, logical, thoughtful reason you have for using 7zip, a good chunk of your potential audience simply won't ever bother using it. :)
 
Last edited:

Quarto

Unknown Enemy
To be fair, Chris, as long as the conversation is about modding tools, then probably it doesn't much matter. There are very few takers for modding tools, and for the people that are into modding, 7zip is not going to be a problem - or at least, it will be the very least of the challenges involved. Nonetheless, 5 MB is really not a difference worth worrying about. It's just not a significant download size at all.

Then again, maybe we're wrong. I mean, I always complain about how bloated today's software is, how little attention is paid to memory optimisation and the like, because modern technology allows developers not to worry about such constraints. The fact that Luke does care about optimisation in terms of compression probably also means he worries about optimisation in other aspects of his work. That's worth encouraging, really :).
 

ChrisReid

Super Soaker Collector / Administrator
Yeah, I'm not actually trying to make Luke change his development methods. More, I'm just making the point that in general a lot of people tend to throw a patchwork of codecs and compresses at their stuff to relatively little effect. If it makes them happy, don't stop, but I'm still going to transfer 7zips to normal zip when we host stuff on the CIC server. :) It's not just today I'm trying to protect when I do stuff like that. Is anyone at all going to be using 7zip 15 years from now? Maybe it'll be the dominant compressor, maybe it'll be a distant obscure memory. I'm pretty sure plain vanilla zip will still be around, as it was 15 years ago, but look at .rar. It was the trendy hacker compressor of choice when the CIC was in its infancy, and sure, it still exists, but people have moved on to better things. Will you be able to get an unrarer in 2030? (yeah, from the CIC, to unpack all the .rar files we still haven't converted to .zip...)
 

Luke

Captain
The fact that Luke does care about optimisation in terms of compression probably also means he worries about optimisation in other aspects of his work.
Correct. I don't like it to waste resources and I started with computers in the end of the 70's and with programming in the beginning of the 80's. So i learned how to use resources efficiently. And, in my extended savegame profiles in WCS+ I am using bit operations for saving switches. So with only one byte I can save 8 different on/off states. Sounds "old style"? Well, I was born in the 60's. ^^

@Chris

You misunderstood some.

1. Encryption: this is only related to the data the player can send us from DBST, if he have technical problems. The player can (and should) have the decision, if he want to keep their data private or not. So 7Z is the only correct choice here and this will not changed.
2. During the development I don't change my system. The player "can" test the tools prior our release, if he want. But development and release are two completely different parts. What we do at release is another point.
3. I see this as tech dude? Correct. And I am develop programms since more than 30 years. Not only for tech guys, also for paying customers. So at release an installer do the job for unpacking and installing the mod and engine pakets. No need for the player to install 7Z. ^^ But now, if someone interessted to see things before release, he can install 7Z or Winrar.
4. I can also have hundred of Gigs, no problem. It's only a question of money. How many costs you guys have with CIC every month?

Thank you very much for the offer Chris. But wcsaga.org is my own domain and so i have full controll over all technical aspects. ;-)
 

ChrisReid

Super Soaker Collector / Administrator
4. I can also have hundred of Gigs, no problem. It's only a question of money. How many costs you guys have with CIC every month?

Thank you very much for the offer Chris. But wcsaga.org is my own domain and so i have full controll over all technical aspects. ;-)
Ooops, missed this earlier. The CIC costs are spread across several things: server, backup server, domains, forums license, etc. I think it averages out to about $200 a month.

The offer still stands in general to other projects. We're not really trying to host a whole bunch of startups, but if you've developed something that the community should have access to as a permanent resource, and it's hosted at any sort of flighty free webspace or you might ever get tired of paying your hosting bill, we definitely want to preserve that at Solsector.
 
Top