Jump to content

Recommended Posts

This topic may changes often and is probably incomplete

What is it? Introduction...

Some of you may already know I was working on such project. It was delayed, postponed because of lack of time, it has required more analysis and conception than planned... but, today, here we are.

First, if you're wondering if it's the same tool released yesterday in the dev branch of Poseidon Tools: Yes, it is!

The Community Tools Updater is a very simple application able to check if the supported tools need to be updated/installed. If an update is needed, it downloads the new version from a depot maintained by the tool author(s) and install the newer version without asking a single question.

The main purpose is to provide to the modding community a simple method to install/update the tools they need without being forced to hunt news on all over the web and take the risk to download an outdated version (I saw this many times with Poseidon Tools). More, the risk of installing an outdated version is avoided by a simple fact: It's the tool maker that update the depot with his work, not a random person.

You may recognize some tools made by the community veteran Mikero and some other made by me.

For users...

Usage is very simple, just download it, extract where you want and use it :)

In short-term, the updater will update itself when needed, but for the moment, you just need to take a look at this topic or the depot.

It downloads the depot manifest at startup, then checks for updates. Once it's started, you can:

  • Explore the local depot (place where all downloads are stored, including installers and zip tools)
  • Clear local depot (delete the entire depot, just to be sure to do not have unnecessary files)
  • Populate local depot (this synchronizes your local depot with the server depot)
  • Update / Install (obviously, install or update the tools that need it and are checked)

280_thumb_ah_6c8428c211383885.jpg 280_thumb_ah_8a047f38890bd6d4.jpg 280_thumb_ah_822a3ceb0d8917bd.jpg

* yes, pretty basic UI for now but it's working like a charm!

For tools developers...

For now, only Poseidon Tools and Mikero tools "packages" are included, but I'm looking for more developers to join us. If you're interested, just let me a message here or a PM!

In the best case, your tools need an installer that can take one of the following startup parameters:

/s
-silent
-noUI

And one of the following if there are some configuration to do during the installation:

/d
-default
or way to define the configuration in command line

If your tool supports this kind of options but not these ones, it's just a matter of exception, not a big deal here. By the way, if you don't have an installer, note that NSIS does the job perfectly (used by Mikero Tools) and is very user friendly.

If you have questions

What tools are supported?

  • ArmA3p (1)
  • Rapify (1)
  • SteamToolCheck (2)
  • MoveFolder (1)
  • IsRap (1)
  • DeWss (1)
  • ExtractPbo (1)
  • DeWrp (1)
  • DeRtm (1)
  • MoveObject (1)
  • GetDePboVersion (1)
  • DePew (1)
  • DeRap (1)
  • DeTex (1)
  • LintCheckRapV (2)
  • DeP3d (1)
  • texConverters (2)
  • Poseidon Tools (*)
  • TM4 Indenter (*)
  • MakePbo (1)
  • SetVersion (1)
  • DePbo (1)
  • QueryAddons (1)
  • pboProject (1)
  • Eliteness (1)
  • ConvertWrp (1)
  • DeKey (1)
  • DeOgg (1)
  • DePac (1)

(1) Fully supported (check version, install/update)

(2) Partial support (check version, tool available in the local depot when populated)

(*) Will be supported soon (this tool is supported by the updater but the tool is not yet ready to be used with it)

How it works?

The concept is simple, the updater retrieve a XML file live generated from a depot including what is inside the depot, compares local installations and what's in the depot, then, update if needed. Note that it can install if the tool is missing from your workstation. Advanced and curious users can have a look at the application parameters in the registry: "HKEY_CURRENT_USER\Software\bohemia interactive\Poseidon Tools\Updater"

Get the Community Tools Updater:

Note: I developed this tool to allow the modding community to get tools in the simplest way as possible, it was firstly designed for Poseidon Tools, then, Mikero tools have arrived and there are more to come!

This is an unofficial tool and provided as it is; you bear the risk!

Edited by tom_48_97
Fixed link

Share this post


Link to post
Share on other sites

You're welcome guys :)

New version tonight (link in the first post):

Client change log:

  • Fixed: Rapify support
  • Fixed: Registry dll

Server change log:

Share this post


Link to post
Share on other sites

Well done!

A great addition and very useful for the modding community :D

Share this post


Link to post
Share on other sites

Hi,

I'm just having a look at your handy communityUpdater application. Just a quick question, I'm experiencing an "operation timed out" popup titled "Microsoft .NET framework. Below is the exception text.

I have the latest .net framework but could I be missing something else? Thanks for any assistance!

----

See the end of this message for details on invoking

just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************

System.Net.WebException: The operation has timed out

at System.Net.WebClient.DownloadFile(Uri address, String fileName)

at Microsoft.VisualBasic.MyServices.Internal.WebClien tCopy.DownloadFile(Uri address, String destinationFileName)

at Microsoft.VisualBasic.Devices.Network.DownloadFile (Uri address, String destinationFileName, ICredentials networkCredentials, Boolean showUI, Int32 connectionTimeout, Boolean overwrite, UICancelOption onUserCancel)

at Microsoft.VisualBasic.Devices.Network.DownloadFile (String address, String destinationFileName, String userName, String password, Boolean showUI, Int32 connectionTimeout, Boolean overwrite, UICancelOption onUserCancel)

at Microsoft.VisualBasic.Devices.Network.DownloadFile (String address, String destinationFileName, String userName, String password, Boolean showUI, Int32 connectionTimeout, Boolean overwrite)

at communty_updater.checkVersion.local()

at communty_updater.Form1.Form1_Load(Object sender, EventArgs e)

at System.EventHandler.Invoke(Object sender, EventArgs e)

at System.Windows.Forms.Form.OnLoad(EventArgs e)

at System.Windows.Forms.Form.OnCreateControl()

at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)

at System.Windows.Forms.Control.CreateControl()

at System.Windows.Forms.Control.WmShowWindow(Message& m)

at System.Windows.Forms.Control.WndProc(Message& m)

at System.Windows.Forms.ScrollableControl.WndProc(Mes sage& m)

at System.Windows.Forms.ContainerControl.WndProc(Mess age& m)

at System.Windows.Forms.Form.WmShowWindow(Message& m)

at System.Windows.Forms.Form.WndProc(Message& m)

at System.Windows.Forms.Control.ControlNativeWindow.O nMessage(Message& m)

at System.Windows.Forms.Control.ControlNativeWindow.W ndProc(Message& m)

at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Thanks for the help!

Share this post


Link to post
Share on other sites

Thanks Tom, much appreciated, I've been needing a tool like this for a while!

Share this post


Link to post
Share on other sites
Hi,

I'm just having a look at your handy communityUpdater application. Just a quick question, I'm experiencing an "operation timed out" popup titled "Microsoft .NET framework. Below is the exception text.

...

Thanks for the help!

Hello, your .NET is up to date, otherwise, it doesn't even start. The operation (download or ping) has timed out. In the current public version, max timeout is set at 500ms.

To go deeper, there are 3 network operations on startup:

  1. Check if there is an available network interface
  2. Check if Internet is reachable (by pinging the IP of the depot, mainly to switch the depot from the state idle to wait)
  3. Download the manifest

Problem is I cannot tell which step has failed because the current released version does all 3 operations in the same method, it was really written on the fly (quick'n dirty to be honest).

Mikero (who has a wan link that claps on my nerves) and I have spent a lot of time adjusting and tweaking the network behavior. The next iteration should at least help with these issues, mainly with a retry function and a max timeout raised from 0.5k to 3k ms. Finally, third iteration will be able to handle the event and offer pre-defined solution, but to do so, I will need feedback from the second ;)

By the way, if I have the time, the second iteration could be released this week :cool:

Share this post


Link to post
Share on other sites

Thanks Tom, okay thought it might be a more complicated issue on my side. It's probably my firewalls etc. slowing it down then. I'll give it a test. Keep up the awesome work man.

edit: Just thought about this again quick. Could be my connection, checked firewall and its allowed through. My local connection to the rest of civilisation is at 400ms by the time it reaches the UK. Got to love internet connections in Africa.

Edited by brad.inggs

Share this post


Link to post
Share on other sites

Second iteration is out!

We're now in 0.14.9.0, keep in mind we're still in beta, this is not an official tool ; you bear the risk!

Briefly, unlike the first release, this one has passed a quick design phase, result is: it has been rethink and sticks more with the reality of your needs. More, like I wrote yesterday, Mikero and I have spent a lot of time to adjust the network behavior, so, this version should help with poor connections and low bandwidth. Be aware, this won't fix your connection issues.

In addition:

Tom_48_97 (...) has been added as devoloper of depbo on dev heaven. If you have questions / niggles / queries re that auto-updater you can raise a ticket there in the standard manner.

https://dev.withsix.com/projects/mikero-pbodll/issues

This is in addition to any other reporting mechanism Tom may have implemented.

This means you can post your questions / niggles / queries here or/and on Dev Heaven ;)

So, what's the plans now:

  1. With your feedback, handle the network failures and offer pre-defined solutions
  2. Support the installation of tools distributed in archives (like Poseidon Tools, TM4_Indenter)
  3. Add some command line arguments to perform automated tasks
  4. Finalize the UI
  5. Offer the possibility to refine the settings (e.g. user defined max timeout or depot location)
  6. Check dependencies for some tools like depbo.dll

280_thumb_ah_6c8428c211383885.jpg 280_thumb_ah_8a047f38890bd6d4.jpg 280_thumb_ah_822a3ceb0d8917bd.jpg

Change log:

  • Added: UI skin
  • Added: Basic menu with some action like "populate the depot"
  • Added: Splash screen during the initialization
  • Added: dialog with tool info (button "[details]")
  • Added: Ability to force the re-install for up to date tools
  • Added: Logs (CommunityToolsUpdater\Logs)
  • Added: Readme
  • Added: right click on the table for "mass selection"
  • etc...
  • Changed: The updater now restart itself after an update
  • Changed: No more console used, everything is handled by the updater
  • Changed: Security improved
  • Changed: Timeout on network operation raised from 500 ms to 3 000 ms
  • etc...
  • Fixed: Freeze during the initialization
  • Fixed: Potential CTD during installation (missing installer)
  • etc...

Get the Community Tools Updater:

Hot fix

0.14.10.0 @ 19/08/2014 - 15:48

  • Changed: Log level is now "DEBUG"
  • Fixed: communty_updater.tools._Lambda$__9(Object a0, EventArgs a1) error on startup
    If this occurs with this hot fix, once you've clicked continue on the error box, do ATL+F4. The main window should be displayed after some seconds, perform an update, then, error shouldn't occur anymore.

Thanks to ArMaTeC for the quick report ;)

Edited by tom_48_97
hotfix

Share this post


Link to post
Share on other sites

Awesome work! Thank you so much.

It´s the tool i always looking for.

A tool for the tools...:)

Once again, thank you for your work and effort.

Best regards

McLupo

Share this post


Link to post
Share on other sites

I get a malware warning (possibly false positive?)

Infection blocked

URL hxxp://www.armaholic.net/chili/editing/tools/CommuntyToolsUpdater.0.14.10.0.archive.zip|Libs\registry_x86.dll

Infection Win32:Evo-gen [susp]

It corrupts the zip archive though, so it is kind of a nuisance for testing out your tool.

Might want to check it out.

Share this post


Link to post
Share on other sites

Note: After some hours offline, the CTU is finally back at full power :cool:

Share this post


Link to post
Share on other sites

Is the support for poseidon tools still coming ?

Edited by Bumgie

Share this post


Link to post
Share on other sites

Yes, this is still coming. Fact is I don't have enough time for now :(

Share this post


Link to post
Share on other sites

Hi. I can not open the P3D files. I've tried everything but the same error always appears: The 'LZOOperations.LZO' typeboot initiator has thrown an exception. Can anybody help me?

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×