Jump to content
Sign in to follow this  
helling3r

Yoma AddonSync: Linux tools (repository maker and client)

Recommended Posts

AddonSync linux client

Download: http://www.silencers.de/arma/yas_client.pl

Latest version: 0.5

Features:

  • Update one or several local mods with an remote AddonSync repository
  • Check local mods against a remote repository (same as "update" but doesn't download files)
  • List infos of an remote repository (served mods, infos from Server.xml)
  • Delta mechanism so only files get downloaded that are new or changed
  • Changes downloaded files automatically to lowercase (disengageable)
  • Optionally deletes orphaned files (those which are obsolete by a new release of an mod)
  • Optionally copies all found keyfiles (*.bikey) into the targets "keys" folder
  • Easily usable in scripts, because of its command line integration
  • Writes to STDOUT, so logfiles can be automatically generated if wished
  • No config in source code, because it's fully parameterized - no hassle with updates, no copies of the script

Installation:

  1. Just download the perl file and put it somewhere suitable, maybe some directory called "yas_tools".
  2. Install external dependencys:
    • the program "7zr" (7zip; debian: "apt-get install p7zip")
    • the perl module XML::Simple (debian: "apt-get install libxml-simple-perl")

Usage:

Usage is very simple and boils down to a shell one liner. To see all available options as well as further information on how to use them, please call:

./yas_client.pl -h

AddonSync linux repository maker

Download: http://www.silencers.de/arma/yas_makeRepo.pl

Latest version: 0.4.2

Features:

  • Creates an AddonSync repository out of any local folder (typically your servers arma folder, but it can build out of any location holding mods)
  • Delta mechanism: when updating a repository, only zipping files that are new or changed, saving alot of time
  • Optionally deletes orphaned files (those, that are present at the repository url, but are not available at the source mod)
  • Self contained, all required yoma files (xsd's) are integrated in the script itself
  • Assists in creating a fresh Server.xml
  • Easily usable in scripts, because of its command line integration
  • Writes to STDOUT, so logfiles can be automatically generated if wished
  • No config in source code, because it's fully parameterized - no hassle with updates, no copies of the script

Installation:

  1. Just download the perl file and put it somewhere suitable, maybe some directory called "yas_tools".
  2. Install external dependencys:
    • the program "7zr" (7zip; debian: "apt-get install p7zip")
    • the program "todos" (tofrodos; debian: "apt-get install tofrodos")

Usage:

Usage is very simple and boils down to a shell one liner. To see all available options as well as further information on how to use them, please call:

./yas_makeRepo.pl -h

If you create a repository for the first time, you can print out an example Server.xml with the "-S" switch.

About

This toolbox consists of two independent command line tools, a simple client and a simple tool to create repositorys.

They are written in perl with linux in mind, but should also work on windows, when perl is available (untested, testers welcome!).

Why should i use this scripts instead of others?

  • Other scripts mostly need to be configured in the script code, creating the need to duplicate code for different configurations
  • Other scripts are sometimes written in languages not available out-of-the-box on a linux machine (the most famous example is the original yoma linux tool itself, which needing mono. I don't wanted to have mono on a internet server)
    Also sometimes there are languages in use that are not the best choice for such a tool (php for example). The tools here are written in perl mostly using standard perl modules which are part of the standard perl distribution.
  • Many of the other scripts i found lacked the feature for deleting obsolete files
  • Often the code was rather sloppy written and not well commented

History

After some research i think the tools i posted to the Yoma AddonSync main thread should be maintained in a separate Post, so they are more easily found and questions can be better answered without bothering the original thread or software.

Those tools emerged out of my need to sync and provide a linux based Arma-II server, and at the time i wrote them, i was not able to find suitable generic purpose utilitys serving my needs. As i think that the tools are well written and well documented, as well as easily usable by a broad user base, they should stand here as an alternative to the other tools already available.

Edited by helling3r
Update of yas_client.pl to 0.5 (bugfix release from sthalik, see thread)

Share this post


Link to post
Share on other sites

Guys... i've got a problem. I can't import my new http://91.223.48.62/382.7z . I've got no idea why, i did everything according to the help of the "repo" script. When i click "Import" button of Yoma Sync, it starts downloading but later it says: "Failed Importing server details! Please check the Url! Cannot import table Server."

I'm not so sure, but i guess it's about my Server.xml

Here it is:

<?xml version="1.0" standalone="yes"?>
<DSServer xmlns="http://tempuri.org/DSServer.xsd">
 <Server>
   <AddonPwd />
   <AddonURL>http://91.223.48.62/382.7z</AddonURL>
   <AddonUserName />
   <AutorunTS>false</AutorunTS>
   <GameIP>91.223.48.62</GameIP>
   <GamePort>2302</GamePort>
   <GamePwd />
   <HomePage>arma2viking.ucoz.ru</HomePage>
   <Name>382OBTGR</Name>
   <TSAnonimous>true</TSAnonimous>
   <TSChannel />
   <TSChannelPwd />
   <TSIp>91.223.48.62</TSIp>
   <TSNickname />
   <TSPort>9987</TSPort>
   <TSPwd />
   <TSUser />
   <TSVersion>TS3</TSVersion>
   <Version />
   <Game>arma2oapc</Game>
   <RequiredAddons></RequiredAddons>
   <OptionalAddons />
   <MessageOfTheDay><MessageOfTheDay/>
 </Server>
</DSServer>

Share this post


Link to post
Share on other sites

Hi,

the error says there are problems with the formatting of Server.xml.

Please try to change the following line in Server.xml:

- <MessageOfTheDay><MessageOfTheDay/>

+ <MessageOfTheDay></MessageOfTheDay>

I think it was caused by the -S parameter which spills out that wrong entry. I fixed that in 0.4.2.

Share this post


Link to post
Share on other sites

Hi helling3r,

Nice tool you have there, though there is a small typo in "yas_client.pl" on line 252.

if ($addon_file->{Path} =~ /^$pat/) {

should be

if ($addon_file->{Path} =~ /^$pat[b][color="Red"]$[/color][/b]/) {

For example:

I wanted to sync "@CBA;@ACE;@ACEX;@ACEX_RU;@ACEX_USNavy" but because of the typo,

when processing @ACE it also processes everything matching @ACE*.

So it also synced @ACEX_SM which I didn't want obviously.

Took some time to find that typo... :D

Anyway, thanks for the tool man!

EDIT: My bad, the change doesn't work properly. :o

EDIT2: The following seems to be working for me.

if ($addon_file->{Path} =~ /^$pat[color="Red"]$|^$pat\\[/color]/) {

Though, I think this will disable the use of wildcards in the mod line, but I don't use that. :)

EDIT3: I've also changed the following on lines 256 and 257

my $local_path  = $addon_file->{Path}."/".$addon_file->{Pbo};
my $local_dir   = $addon_file->{Path};

into

my $local_path  = [color="Red"]lc([/color]$addon_file->{Path}."/".$addon_file->{Pbo}[color="Red"])[/color];
my $local_dir   = [color="Red"]lc([/color]$addon_file->{Path}[color="Red"])[/color];

This is because it's advised to use lowercase in linux. If you don't change these and run the

"./tolower" command, "yas_client.pl" thinks the files don't exist and marks them as NEW.

Edited by Pvt. Lucky

Share this post


Link to post
Share on other sites

Hi, thank you very much for your report; i will fix this in the next version.

Share this post


Link to post
Share on other sites

Hi, i just pushed the new release 0.4 fixing the wildcard issue (as well as a small other one).

I implemented the lowercase thingy as optional parameter (-l) to maintain backwards compatibility and versability (mabye one just wants to use the client to shuffle files via a linux box into a windows network).

Wildcards do work here as intended.

As you can see, if i test it with @st* and @st it gives correct results (the first call expands "@st*" to @sthud, while the second does not, also note the warning at the end of the second call)

army@hellforge:~/modsync/yas/test$ ./yas_client.pl -u http://somemodurl/mods.7z -a test/ -m "@st*;@cba"
analyzing repository metadata
 fetching 'http://somemodurl/mods.7z'... OK
processing @cba
@cba/license.txt                                                  OK      (MD5: remote=480DAFB38A172D78F330CB9C857F950E  local=480DAFB38A172D78F330CB9C857F950E)
@cba/readme.txt                                                   OK      (MD5: remote=18348699F77F4F7B0C3286F91FA79004  local=18348699F77F4F7B0C3286F91FA79004)
@cba/cba_diagnostic_enable_perf_loop.pbo                          OK      (MD5: remote=20B780488D0BFAC128BFE85EF30F540A  local=20B780488D0BFAC128BFE85EF30F540A)
@cba/changelog.txt                                                OK      (MD5: remote=BEE49079937E51F94BA279403A45DD37  local=BEE49079937E51F94BA279403A45DD37)
@cba/cba_diagnostic_enable_logging.pbo                            OK      (MD5: remote=CDB71AD6F2AD69508D547596F13EDF85  local=CDB71AD6F2AD69508D547596F13EDF85)
processing @sthud
@sthud/readme.txt                                                 OK      (MD5: remote=16009D1845C25D0250973C95C437D08D  local=16009D1845C25D0250973C95C437D08D)
@sthud/changelog.txt                                              OK      (MD5: remote=16009D1845C25D0250973C95C437D08D  local=16009D1845C25D0250973C95C437D08D)
@sthud/keys/shacktac.bikey                                        OK      (MD5: remote=01836261AFC589308CEED7E31552F25D  local=01836261AFC589308CEED7E31552F25D)
@sthud/addons/fthud.pbo                                           OK      (MD5: remote=FDB4D5EC341BF1DCC7C1D83AAC6A8B52  local=FDB4D5EC341BF1DCC7C1D83AAC6A8B52)
@sthud/addons/fthud.pbo.shacktac.bisign                           OK      (MD5: remote=91F9AB7348D34CC4769BC8DA489B16BA  local=91F9AB7348D34CC4769BC8DA489B16BA)


army@hellforge:~/modsync/yas/test$ ./yas_client.pl -u http://somemodurl/mods.7z -a test/ -m "@st;@cba"
analyzing repository metadata
 fetching 'http://somemodurl/mods.7z'... OK
processing @cba
@cba/license.txt                                                  OK      (MD5: remote=480DAFB38A172D78F330CB9C857F950E  local=480DAFB38A172D78F330CB9C857F950E)
@cba/readme.txt                                                   OK      (MD5: remote=18348699F77F4F7B0C3286F91FA79004  local=18348699F77F4F7B0C3286F91FA79004)
@cba/cba_diagnostic_enable_perf_loop.pbo                          OK      (MD5: remote=20B780488D0BFAC128BFE85EF30F540A  local=20B780488D0BFAC128BFE85EF30F540A)
@cba/changelog.txt                                                OK      (MD5: remote=BEE49079937E51F94BA279403A45DD37  local=BEE49079937E51F94BA279403A45DD37)
@cba/cba_diagnostic_enable_logging.pbo                            OK      (MD5: remote=CDB71AD6F2AD69508D547596F13EDF85  local=CDB71AD6F2AD69508D547596F13EDF85)
warning: @st did not match any of the repository mods!
army@hellforge:~/modsync/yas/test$ 

Share this post


Link to post
Share on other sites

Awesome, though it still doesn't work as it should.

if ($addon_file->{Path} =~ /^$pat$/) {

Doesn't work as intended, I also had this problem when trying to fix it, as you can see in my previous post.

I think you haven't analyzed the output of the script enough, as it actually skips everything in the @cba\addons\ folder!

if ($addon_file->{Path} =~ /^$pat$|^$pat\\/) {

Seems to be the only regex to be working (but breaks the wildcard).

Share this post


Link to post
Share on other sites

I just found a bug with http://strefa14.pl/COSA/repo.7z

Change the line 283 to:

my $remote_url = $addon_file->{Url} =~ m#^[a-z]+://# ? $addon_file->{Url} : $repo->scheme."://".$repo->host.$repo->path.$addon_file->{Url};

Edit: another bug. Replace all instances of "7zr x" for "7zr -y x" because if the file already exists in the file system, 7zr will hang asking for confirmation.

Edited by sthalik

Share this post


Link to post
Share on other sites

Yas client 0.4.1 released that should fix the issues:

- "7zr x" to "7zr -y x"

- Wildcard issue

- Remote URL construction if URL is absolute

Share this post


Link to post
Share on other sites

Something is seriously b0rked with COSA repo and yoma-linux. It says: 'processing @ACEX_RU' and then goes on with doing the whole repo again and again. Researching.

Edit: Here follows a diff that fixes makes it O(n) from O(n^2) I don't know how this came to be in the first place, must be a large thinko. Also fixes renaming to lowercase.

Also, consider using local globs instead of global ones (open my $foo...) and structured exception handling (see Error.pm) to make it less of spaghetti code.

Also, consider using "local $_;" because the lack of it might bite you some day.

Another thing is mixing stdout and stderr writing which leads to a messed up screen with buffering. Also fixed.

Also fixed removing orphaned directories by using a depth-first search.

This program is seriously broken but I don't have time to rewrite it from scratch so let's work from here:

--- yas_client.pl.old   2011-08-29 09:26:03.000000000 +0200
+++ yas_client.pl       2011-08-29 19:05:34.000000000 +0200
@@ -46,6 +46,8 @@
use XML::Simple;
use Cwd qw(getcwd abs_path);

+BEGIN { $| = 1; };
+
#####################
# Optionsmanagement #
#####################
@@ -266,18 +268,18 @@
my %glob_matches; # to record, which glob pattern did match how many mods, so we can detect if a selected mod isn't serverd
foreach my $mod (@{$data_mod->{Mods}}) {
       foreach my $mod_glob (@selected_mods) {
+               my $real_mod_glob = glob2pat($mod->{Name} . "\\*");
               if (!exists($glob_matches{$mod_glob})) {$glob_matches{$mod_glob} = 0; }
               my $pat = glob2pat($mod_glob);
               if ($mod->{Name} =~ /^$pat$/) {
                       print STDERR "processing ".$mod->{Name}."\n";
                       $glob_matches{$mod_glob} = 1;
-

                       # check files in Addons.xml. I know this introduces obsolete loops, but we
                       # process each mods files sequential this way, which enables nicer output.
                       my %modfiles = []; # empty hash to hold all files, so we may look them up more easily and faster
                       foreach my $addon_file (@{$data_addons->{Addons}}) {
-                               if ($addon_file->{Path} =~ /^$pat$|^$pat\\/) {
+                               if ($addon_file->{Path} =~ /^$pat$|^$pat\\/ && $addon_file->{Path} =~ /^$real_mod_glob$|^$real_mod_glob\\/) {
                                       # Get file state
                                       # The remote URL is either a fully qualified URL or just relative, so we need to constructan URL it then
                                       my $remote_md5 = $addon_file->{Md5};
@@ -286,11 +288,19 @@
                                       my $local_dir  = $addon_file->{Path};
                                       $local_dir  =~ s/\\/\//g; # swap backslashes to linux
                                       $local_path =~ s/\\/\//g; # swap backslashes to linux
+                                       $local_dir = lc $local_dir;
+                                       my $case_local_path = "$local_dir/" . $addon_file->{Pbo};
+                                       $local_path = lc $local_path;

                                       my $local_state = "UNKNOWN";
                                       my $local_md5   = "none";

                                       $modfiles{$local_path} = 1; #record file as "modfile"
+                                       my @path;
+                                       for my $part (split m#/+#, $local_dir) {
+                                               push @path, $part;
+                                               $modfiles{join "/", @path} = 1; # for orphan-checking
+                                       }

                                       if (! -e $local_path && ! -f $local_path) {
                                               # file does not exist locally, state = NEW
@@ -346,8 +356,9 @@
                                               chdir($target_dir);
                                               if ($verbose){print " OK\n";}
                                       }
-
-
+                                       if ($local_path ne $case_local_path && $local_state ne 'OK') {
+                                               rename($case_local_path, $local_path) or warn "rename $case_local_path: $!";
+                                       }
                               } else {
                                       # for debugging purposes: Show files that did not match the file regex above
                                       # produces heavy output under some circumstances.
@@ -363,7 +374,7 @@
                                       if ($verbose) { print STDERR "created not existing keyfile folder '$keyfolder'\n"; }
                                       mkpath($keyfolder);
                               }
-                               find ( sub { #thats the "wanted" callback, inline
+                               find(sub { #thats the "wanted" callback, inline
                                       next unless -f;
                                       my $_file = $_;
                                       my $_path = $File::Find::dir;
@@ -383,36 +394,40 @@
                       # look for orphaned files in this mod
                       chdir($target_dir);

-                       find ( sub { #thats the "wanted" callback, inline
-                                next unless -f; # TODO: this will leave directorys blank...
+                       finddepth ( sub { #thats the "wanted" callback, inline
+                               if ($_ eq '.' || $_ eq '..') {
+                                       next;
+                               }
                                my $_file = $_;
                                my $_path = $File::Find::dir;
                                $_path =~ s/^\.\///; #strip leading "./"
                               my $local_path = "$_path/$_file";

-
                               next if exists $modfiles{$local_path}; # only process files not processed yet

                               my $local_state = "ORPHAN";
                               my $remote_md5  = "none";
-                               my $local_md5   = "";
-                               if (!open(MD5_FILE, "<$_file")) {
-                                       if ($verbose) { print STDERR "  ERROR: [MD5] $!\n"; }
-                                       $local_md5 = "error";
+                               my $local_md5 = "";
+                               if (-d) {
+                                       $local_md5   = "<directory>";
                               } else {
-                                       binmode(MD5_FILE);
-                                       $local_md5 = uc(Digest::MD5->new->addfile(*MD5_FILE)->hexdigest);
+                                       if (!open(MD5_FILE, "<$_file")) {
+                                               if ($verbose) { print STDERR "  ERROR: [MD5] $!\n"; }
+                                               $local_md5 = "error";
+                                       } else {
+                                               binmode(MD5_FILE);
+                                               $local_md5 = uc(Digest::MD5->new->addfile(*MD5_FILE)->hexdigest);
+                                       }
+                                       close(MD5_FILE);
                               }
-                               close(MD5_FILE);
-
                               printf "%-65s %-7s (MD5: remote=%s  local=%s)\n", $local_path, $local_state, $remote_md5, $local_md5;

                               if ($del_orphan) {
                                       if ($verbose) { print STDERR "  unlink($_file)\n"; }
-                                       unlink($_file)
+                                       ((!-l and -d) ? rmdir($_file) : unlink($_file)) or warn "rmdir $_file: $!";
                               }

-                        }, $mod->{Name} );
+                        }, lc $mod->{Name} );
               }
       }
}

Edited by sthalik

Share this post


Link to post
Share on other sites

Hello and thank you for your feedback!

Also, consider using "local $_;" because the lack of it might bite you some day.

I dont like to use implicit variable stuff like "if (-d)" and friends since it isn't good for code clarity. This is why i do things like "my $_file = $_;".

Another thing is mixing stdout and stderr writing which leads to a messed up screen with buffering. Also fixed.

I was not aware of that, thanks!

This program is seriously broken

Well in my cases it worked very well so far. However, it started as a small project and i had mostly the need for the repo generator. I think some of the "broken" is caused by differences in programming style.

[EDIT] published yas_client 0.5 with your patches. Thanks again!

Edited by helling3r

Share this post


Link to post
Share on other sites

Thanks for committing the changes verbatim and for giving credit. Nice working with you.

Not meaning to sound patronizing or anything, but as a long-time Perl programmer (8+ years of experience) I seriously recommend you the book "Higher Order Perl" written by MJD. It can help you express concepts succinctly and elegantly without resorting to writing line noise.

PS if you set up a git repo I can send you diffs correcting non-critical style issues like global globs for file descriptors, which are no-no under modern (5.8) Perl. I also want to add mod-exclusion option and deleting mods no longer hosted by a repo, if that's OK with you.

Edited by sthalik

Share this post


Link to post
Share on other sites

Hi,

well, the inclusion was not fully verbatim, i made little changes here and there ;)

I'm not familiar with git, but im happy to learn about it. Maybe we should go for a project at github?

Im completely fine in that you offer to add to the tools, everyone can benefit from it. That why i made it open source, right? ;)

If i get time, i will dig into git a little and open up a community repo if thats ok for you.

Share this post


Link to post
Share on other sites

I keep wondering why you guys keep working on linux tools for a product that isn't actively developed nor supported anymore,

while also better alternatives are on the market especially in terms of saving bandwidth due to differential updates / delta patching (rSync and zSync),

dependency support, and out of the box availability of a network with multiple mirrors world-wide with 100's of mods, and the same capability as AS to host mods on a custom repos, also with missions support.

While communities are moving away from AS to SU for above reasons and others..

SU does the same as AS and much more, wouldn't it make sense to join hands? I have working linux libs and bins but they sure could use more love.

More details at http://www.six-updater.net/p/about.html

Edited by Sickboy

Share this post


Link to post
Share on other sites

I'm not familiar with git, but im happy to learn about it. Maybe we should go for a project at github?

Yes. If github or other public hosts seem deficient however, I can provide hosting instead.

You could also try subversion if you're using Windows at your workstation, as it has a superior GUI :) Anyway it doesn't have to be git, it can be any SCM, even CVS since it's only 1 file and there won't be a problem with its biggest deficiency - commits on a file-level.

If i get time, i will dig into git a little and open up a community repo if thats ok for you.

Sure :)

I need some time to do my work backlog, and help with `geiser-mode' for Emacs as I promised, though. So it won't be as soon as what I needed ASAP for COSA...

SU does the same as AS and much more, wouldn't it make sense to join hands?

SU is closed-source, that's one thing. It's impossible to extend it, to, say, support STARTTLS authentication over FTP for instance which I needed recently.

It also has a very bloated and unfriendly GUI, even with fancy Ribbon. Also, it's written in Ruby instead of standard C#. That's not just my opinion - COSA shares it. As well as several foreign players I talked to.

I use it regularly and I could even contribute but the closed-source nature is throwing me away.

Not digressing anymore, another feature I need for YAS is caching of md5 sums provided that dev_ino, dev_fs, size, mtime and ctime match. All from stat(2). You could try to implement it with some XML cache if you want it as well -or- I could do it in my spare time, providing that you don't reject this feature. It can be a command-line switch too.

Share this post


Link to post
Share on other sites

Closed Source? All my projects are open source, hosted on dev-heaven.net and some mirrored at Github.

e.g http://dev-heaven.net/projects/six-arma-updater/repository and https://github.com/sickboy/six-updater-gui

All SU (ruby) source code is included with the program, or embedded in dll's (pretty much clear text) for improved manageability.

six-updater, six-rsync, six-zsync and six-updater-web (a (horrible) web interface) gems etc are all available on rubygems.org and usable under linux too. There's also a basic bash implementation by Dr Pulp.

Ruby's opensource and easy to understand, large parts of the Windows GUI are written in C# / .NET WPF, IronRuby can work with Ruby code and C# alike.

Issue tracker (Feedback/Feature suggestions/Bugreports) and support disqus are open any time; http://www.six-updater.net/p/support.html

UI improvements and many other enhancements planned: http://dev-heaven.net/projects/six-arma-updater/roadmap

Assistance would be very much appreciated.

Re: FTP TLS - such features are only a ticket away if you need them :) besides iirc you can enable TLS in .lftprc

In any case, perhaps not to go further off-topic, if you're interested we could continue in the SU thread or PM or elsewhere.

Edited by Sickboy

Share this post


Link to post
Share on other sites

hi

when i try to sync i get this from the client.

7-Zip (A) 9.04 beta Copyright © 1999-2009 Igor Pavlov 2009-05-30

p7zip Version 9.04 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,8 CPUs)

Processing archive: /home/cyzz/arma2oaserver/@ace/addons/ace_sys_a10.pbo.ace_b502.bisign.zip

Error: Can not open file as archive

[code]

all dependencies are solved. have installed both libxml-simple-pel and p7zip as required.

cc

Edited by cyzz

Share this post


Link to post
Share on other sites

The client needs 7zip files, not ordinary zips.

Looks like the repository was not setup with 7zip.

Share this post


Link to post
Share on other sites

Everything worked fine on my linux machine (and server) except for one detail that will not let me use it.

The example is an island that has the server (dual). The folder is called "@ Duala" with its corresponding subfolder called "addons". Everything in "addons" is created fine but when the customer checks the mods, it detects the files as "new" but it disappears instantly.

Clearly I need your help (sorry for my english)

This is my configuration xml:

<?xml version="1.0" standalone="yes"?>

<DSInput xmlns="http://tempuri.org/DSInput.xsd">

<InputFolders>

<FolderPath>/home/arma2/@duala</FolderPath>

</InputFolders>

<InputFolders>

<FolderPath>/home/arma2/@duala/addons</FolderPath>

</InputFolders>

<InputFolders>

<FolderPath>/home/arma2/@panthera</FolderPath>

</InputFolders>

<InputFolders>

<FolderPath>/home/arma2/@panthera/addons</FolderPath>

</InputFolders>

<InputFolders>

<FolderPath>/home/arma2/@fallujah1_2</FolderPath>

</InputFolders>

<InputFolders>

<FolderPath>/home/arma2/@fallujah1_2/addons</FolderPath>

</InputFolders>

<InputFolders>

<FolderPath>/home/arma2/@sap</FolderPath>

</InputFolders>

<InputFolders>

<FolderPath>/home/arma2/@sap/addons</FolderPath>

</InputFolders>

<BaseFolders>

<FolderPath>/home/arma2</FolderPath>

</BaseFolders>

<Server>

<AddonPwd />

<AddonURL>http://46.105.124.58/arma/Arma2NonOrig.7z</AddonURL>

<AddonUserName />

<AutorunTS>false</AutorunTS>

<GameIP>46.105.124.58</GameIP>

<GamePort>2302</GamePort>

<GamePwd />

<HomePage>http://www.rincondesimulacion.com</HomePage>

<Name>RDSislas</Name>

<TSAnonimous>true</TSAnonimous>

<TSChannel />

<TSChannelPwd />

<TSIp>46.105.124.58</TSIp>

<TSNickname />

<TSPort>9987</TSPort>

<TSPwd />

<TSUser />

<Version />

<Game>arma2oapc</Game>

</Server>

<Signing>

<PublicKeysDirectory>c:\MyPublicKeysDir</PublicKeysDirectory>

<PrivateKeyBaseAuthorityName>YomaIsCool</PrivateKeyBaseAuthorityName>

<PrivateKeyPath>c:\MyPrivateKeys\MyKey.txt</PrivateKeyPath>

<doSignFiles>false</doSignFiles>

<doAutoGeneratePrivateKey>false</doAutoGeneratePrivateKey>

<doDeleteOldSignFiles>false</doDeleteOldSignFiles>

</Signing>

<Repository>

<doAutoCompare>false</doAutoCompare>

<doAutoUpload>false</doAutoUpload>

<doCloseApplicationAfterBuild>true</doCloseApplicationAfterBuild>

<doDeleteOutputFolder>true</doDeleteOutputFolder>

<doCompressFiles>true</doCompressFiles>

<FTPHostName />

<FTPUserName />

<FTPPassword />

<FTPEnableSSL>false</FTPEnableSSL>

<FTPUseBinary>true</FTPUseBinary>

<FTPUsePassive>true</FTPUsePassive>

<FTPPort>21</FTPPort>

<FTPDestinationFolder />

<doShowFTPMessages>false</doShowFTPMessages>

<doMailLogFile>false</doMailLogFile>

<MailToAddress />

<MailCCAddresses />

<MailBCCAddresses />

<MailSMTPServer />

<MailSMTPUser />

<MailSMTPPwd />

<MailReplyToAddress />

</Repository>

</DSInput>

Share this post


Link to post
Share on other sites

Hi,

the files look good for me so far. However, do you use the latest version of the repo generator (check first post of this thread)?

The files are generated also and are accessible.

What do you mean exactly when saying "disapears instantly"? Seems like a bug with addonsnyc?

Share this post


Link to post
Share on other sites

I mean:

In the list of files appear 1 second, as "new" and then there are red but on the list but even that up on the left indicates the number of files that exist, correctly.

total files:75 Ok:4

New:71

By not appear on the list does not synchronize the files.

The repository is current, the same as the first post.

Thanks helling3r

I invite you to synchronize so you can see the problem.

http://46.105.124.58/arma/Arma2NonOrig.7z

Edited by jcarrest

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  

×