Jump to content
Sign in to follow this  
Yoma

Yoma's Arma Addon Synchroniser

Recommended Posts

When i click the link to download i get-"web page cannot be found". Any ideas why? Edit=the link goes to-http://www.flashpoint1985.com/cgi-bin/ikonboard311/www.yomatools.be.   It should just be yomatools.be/

you mean the link in my siggy?

I think it's the forum software that does that.

Share this post


Link to post
Share on other sites

you need to add http:// @ Yoma

Share this post


Link to post
Share on other sites

Yoma,

You should probably initialize the text for btnStatus. ;-)

Share this post


Link to post
Share on other sites
Yoma,

You should probably initialize the text for btnStatus. ;-)

yer i know :-)

Share this post


Link to post
Share on other sites

I'm currently working on something some serveradmins might like:

A php script that can take an input folder A (the addons as you would put them on your system) and create an outputfolder B from folder A with all modfolders in it + modfolders.txt + rem_md5sum xmls + compressed files.

The goal would be to be able to create your addon repositry without much thinking at all. The script should of course only be run from commandline for obvious security reasons.

I'm not too far in it yet (the main worry i have atm is compression)

Building modfolders.txt works (but needs a bit more tweaking so you can allso set all parameters needed from the script)

Calculating MD5's seems to work.

I havent gotten to compression and creating the xml yet but it's looking very promising so far.

The goal is that the script can be run under Linux or Windows.

Share this post


Link to post
Share on other sites

I just gotta say great work on this. I've never DL'd or used it but after needing to DL this for Q's OAC Mod I am a fan. It's a great tool.

Share this post


Link to post
Share on other sites

I've continued work on the server side php repositry generator thingy.

I have it working under the latest php4 version under Windows, needs a bit more tweaking but the basic concept is working.

Also i downloaded a copy of Ubuntu and made myself a VMWare for testing purposes. To complicate stuff i installed php5. After about an hour of fiddling around i now also have it working under Ubuntu. The main problem i have now is that there is one slight language change from php4 -> php5 that kind of forces me to have 2 different scripts.

If one makes an object (e.g. $object)in php4 with a string variable (e.g. $var)

in php4 for some reason i need to refrence the $var like

$object->$var

in php5 it only works with

$object->var (which is more logic anyway)

Does anyone know a generic trick to get around this?

*EDIT*

Found a solution, i simply changed it into an array, both versions handle those in the same way :-)

Share this post


Link to post
Share on other sites

Seems like you are referencing objects in PHP4 incorrectly. You should be able to reference them with $object->var in both.

There are differences however on how the object handling works.

See http://mjtsai.com/blog/2004/07/15/php-5-object-references/ and http://www.usenet-forums.com/php-lan....p5.html

I see you got things to work but I'm guessing you might want to switch things back to using objects or go over any object code you might still be using to make sure that it is indeed functioning as you expect.

Share this post


Link to post
Share on other sites
Seems like you are referencing objects in PHP4 incorrectly. You should be able to reference them with $object->var in both.

There are differences however on how the object handling works.

See http://mjtsai.com/blog/2004/07/15/php-5-object-references/ and http://www.usenet-forums.com/php-lan....p5.html

I see you got things to work but I'm guessing you might want to switch things back to using objects or go over any object code you  might still be using to make sure that it is indeed functioning as you expect.

I never left the object approach.

the problem simply is that in php4 if you have a property that's a string you cannot address it with

$object->mystring, but you can using $object->$mystring.

However in php4 if the property is an array you can use $object->mystringArray

So i just changed my simple string to an array containing only my string. Anyway, the problem is fixed, thanks for the references.

Share this post


Link to post
Share on other sites
Seems like you are referencing objects in PHP4 incorrectly. You should be able to reference them with $object->var in both.

There are differences however on how the object handling works.

See http://mjtsai.com/blog/2004/07/15/php-5-object-references/ and http://www.usenet-forums.com/php-lan....p5.html

I see you got things to work but I'm guessing you might want to switch things back to using objects or go over any object code you might still be using to make sure that it is indeed functioning as you expect.

I never left the object approach.

the problem simply is that in php4 if you have a property that's a string you cannot address it with

$object->mystring, but you can using $object->$mystring.

However in php4 if the property is an array you can use $object->mystringArray

So i just changed my simple string to an array containing only my string. Anyway, the problem is fixed, thanks for the references.

Like I said you must be doing something wrong and getting lucky in some way that it is working using the arrays. But I wouldn't leave the code that way as when you attempt to add some functionality down the road I'm sure you'll run into problems.

Accessing object vars with something like $object->var is no different in PHP4 and PHP5.

See yet another reference that shows how to reference objects in PHP4. No different than PHP5:

http://www.php.net/manual/en/language.oop.php

Share this post


Link to post
Share on other sites

You are correct.

Must have been something else. It now works just the way it should.

The script runs on windows/ubuntu but needs some more testing.

It requires 7z, phpCLI on linux and PHP4.x or PHP5.x

One allso needs access to the shell, this is not a script to put on a website.

After a bit more testing i will release it in a separate thread.

Share this post


Link to post
Share on other sites

**New version**

-some minor bugfixes

Share this post


Link to post
Share on other sites

**New version**

-some more minor bugfixes, this again might require reinstall.

Bloody VS2005 keeps crapping up my singleclick certificates...

Share this post


Link to post
Share on other sites

hm tried to update  crazy_o.gif

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">See the end of this message for details on invoking

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

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

System.NullReferenceException: Object reference not set to an instance of an object.

  at System.Deployment.Application.ApplicationTrust.RequestTrust(SubscriptionState subState, Boolean isShellVisible, Boolean isUpdate, ActivationContext actCtx, TrustManagerContext tmc)

  at System.Deployment.Application.DeploymentManager.DetermineTrustCore(Boolean blocking, TrustParams tp)

  at System.Deployment.Application.DeploymentManager.DetermineTrust(TrustParams trustParams)

  at System.Deployment.Application.ApplicationDeployment.CheckForDetailedUpdate()

  at ArmaAddonSynchroniser.YomaCheckUpdate.InstallUpdateSyncWithInfo()

  at ArmaAddonSynchroniser.YomaCheckUpdateWrapper..ctor(ResourceManager m_ResourceManager)

  at ArmaAddonSynchroniser.MainForm.toolStripMenuItem1_Click(Object sender, EventArgs e)

  at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)

  at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)

  at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)

  at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)

  at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)

  at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)

  at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)

  at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)

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

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

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

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

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

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

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

when i click on the update button.

Share this post


Link to post
Share on other sites

That's exactly what i mean with "stupid MS single click certificate"

VS2005 deceided that the certificate i made was expired...

It now has one that should only expire in 2099.

Solution is simple and silly : remove via add/remove programs, download the rar from my site and reinstall. Server setting will be kept, you just have to tell it where your modfolders dir and arma location is.

I know, it's a bitch and i hate it as much as you do.

Btw added in an "about" button so people can tell which version they are using.

The coming month or 2 will be very busy for me so i don't expect to do much updates in the near future.

Let's all hope the company i work at doesn't go bancrupt, on the other hand that would give me loads of time :-)

Share this post


Link to post
Share on other sites

worked thumbs-up.gif

GL for your company and you.

Share this post


Link to post
Share on other sites

I'm currently working on a "repositry builder" function inside the tool.

This may be handy for serveradmins using windows that have direct access to the webserver.

What it essentially does is create a "repositry" to put online.

It creates modfolders.txt, it creates the directories (and subdirectories) to put online, with according checksum xmls. It doesn't take "basic" arma folders.

All you need to do is point it to input folder A and it will generate outputfolder B that can be put online directly.

Currently it needs to be put on a worker thread so it can have a minor progress bar and i may need to find a way to include part of the dta folder.

Again if possible, avoid using the dta folder to store configs for addons. This creates massive problems for automation of  all sorts of synchronising tools.

I also made a php version that does about the same for people that use linux servers. Release of both will probably follow soon.

Share this post


Link to post
Share on other sites

**New version** v1.0.0.255

-Added a means to create a "addon repositry" (with complete modfolders.txt etc) by taking input folder A and storing the repositry in outputfolder B

-If admin adds server webpage url in modfolders.txt users will now see a button and can deceide for themselves if they want to view this webpage.

-Removed auto open webpage setting

I'm thinking about including a "-autorepositry" commandline parameter so admins can have the repositry autogenerate via a batchfile at night.

Share this post


Link to post
Share on other sites

Great thumbs-up.gif Thank you so much for continuous development of YomaTools / YAAS. notworthy.gif

Share this post


Link to post
Share on other sites
Again if possible, avoid using the dta folder to store configs for addons. This creates massive problems for automation of  all sorts of synchronising tools.

I have no problems using your tool and updating dta folder. I do the same thing with the dta folder as the mod folders, the only difference is that I dont upload the zips for the default files. The checksum take them into account though so when the rest of the players compare their dta folder it looks just fine.

edit: btw, thank you so much for your tool! Made it so much easier for me and my friends!!!

(The only thing I miss is an option to have your tool start 'CH profile manager' and load a profile, but I guess that is way to much to ask for? wink_o.gif )

Share this post


Link to post
Share on other sites
I have no problems using your tool and updating dta folder. I do the same thing with the dta folder as the mod folders, the only difference is that I dont upload the zips for the default files. The checksum take them into account though so when the rest of the players compare their dta folder it looks just fine.

There you mention it yourself!

The fact that you need to manually change stuff will keep it from running completely automatically without some nasty checks i'd rather not write.

It would be a great start if everyone used at least SUBFOLDERS in /dta

Stuff like /dta/mymodconfig

The reason i'm so against this whole DTA stuff is that some day some idiot is gonna start synching the default stuff in it...

I just think the reason to use modfolders simply applies to /dta as well (if technically possible): you want to split added content from default content.

Share this post


Link to post
Share on other sites

My standard is

Quote[/b] ].\ArmA\Dta\userconfig

There is already one follower. biggrin_o.gif

Share this post


Link to post
Share on other sites

Autorun functionallity for the repositrygenerator (more batch file friendly) should be there soon.

Share this post


Link to post
Share on other sites

**New version 1.0.0.256**

-added commandline parameters for automatic repositry generation + a batchfile builder function to ease up use.

Share this post


Link to post
Share on other sites

band.gif

Is there an updated documentation available somewhere?

band.gif

THANKS for the update buddy! smile_o.gif

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
Sign in to follow this  

×