Moin,
in diesem Tutorial geht es darum, ein Arma3Sync Repository auf einen anderen, geschützen, FTP Server zu kopieren.
Als kleines Sahnehäubchen zeige ich euch dann noch, wie Ihr die autoconfig verfügbar machen könnt, so dass sie ohne FTP Zugangsdaten heruntergeladen werden kann.
Warum Schwierigkeit 4?
Jenach Systemaufbau, Ordnerstruktur und auch Anbieter unterscheiden sich Pfade, Einstellungen, Befehle und co voneinander.
Wer nicht weiß, was die unten stehenden Pfade für Bedeutungen haben, und wie sie gegebenfalls angepasst werden müssen, sollte dieses Tutorial nicht versuchen umzusetzen.
Jeder ist für sein System selbst verantwortlich. Installiere niemals einfach irgendwelche Programme, nur weil andere es von dir verlangen. Prüfe selbst, was diese Programme machen, ob die Paketnamen richtig sind und mache dich mit dem Programm vertraut.
Zu letzt noch der nervige, aber obligatorische Ausschluss:
Ich übernehme keinerlei Haftung oder sonstiges, wenn durch dieses Tutorial Dateien verloren oder das System anderweitig kaput geht oder Schäden davon trägt.
Was braucht ihr:
- Linux (getestet unter Debian)
- ncFTP (FTP Console mit netten Funktionen, wie z.B. recursives Kopieren)
- (entfernten) FTP Server (zum Hochladen des Repositories)
- Weiteren FTP Zugriff für die Webseite
Was wollen wir erreichen?
Wir werden ein Repository anlegen und dieses auf den entfernten FTP Server syncronisieren. Danach werden wir die autoconfig über den zweiten FTP Zugang auf den Webserver legen, sodass die Datei auch ohne Kenntnis des FTP Servers und dessen Zugangsdaten heruntergeladen werden kann.
In diesem Tutorial verwende ich beispielhaft folgende Zugangsdaten.
1. FTP:
Server: remoteftpserver.tld
Benutzer: remoteftpuser
2. FTP:
Server: mywebhost.tdl
Benutzer: webftpuser
1. ncftp Installieren
ncftp kann, wie fast alle Debian Pakete, über das Programm APT installiert werden. Der Befehl lautet dazu sudo apt-get install ncftp
2. Arma3Sync installieren
Wer ab jetzt noch als ROOT eingeloggt ist, sollte schleunigst einen neuen Benutzer anlegen oder einen bereits bestehenden Benutzer nutzen (z.B. den selben Benutzer, der auch den Arma3 Server startet)
Ladet euch das ZIP Verzeichnis herunter und entpackt es in ein extra Verzeichnis (ftp://www.sonsofexiled.fr/ArmA3/ArmA3Sync/download/)
Wir erstellen ein neues Repository.
Dafür erstellen wir im Hauptverzeichnis ein neues Verzeichnis mit dem Namen "modpack": mkdir ~/modpack
Wechselt in das Arma3Sync Verzeichnis und startet anschließend das Programm mit ./Arma3Sync-console.sh.
Bei Command gebt ihr "new" ein, danach folgt der Name des Repositories. Ihr könnt hier Leerzeichen verwenden, müsst diese aber beim aktualisieren wieder genauso schreiben.
Danach folgt das Protokoll. In unserem Fall wird das Repo später per FTP herunter geladen, deswegen schreiben wir dies auch so hinein.
Es folgen der FTP-Port, Benutzername, Passwort und die Repository URL. Diese enthält den FTP Server, sowie mögliche Subverzeichnisse, z.B. 192.0.0.1/modpack oder ftp.highdrive.strato.de.
Danach folgt das Hauptverzeichnis des Repositories. Hier gebt ihr den gesamten Pfad zum Repository an. Für das Tutorial gilt folgender Pfad: /home/[USERNAME]/modpack, wobei Ihr [USERNAME] bitte durch den aktuellen Benutzernamen ersetzt. Bitte auf Groß- und Kleinschreibung achten!
Jetzt ist das Repository erstellt und kann gebaut werden.
3. Build Repository
Sofern noch nicht geöffnet, startet Arma3Sync mit ./Arma3Sync-console.sh.
Gebt nun build ein und bestätigt per Enter.
Füllt nun aus, wie viele Verbindungen pro Client erlaubt sein sollen (1-10), ob pbo's als ZIP komprimiert sein sollen (yes-no). Falls es Verzeichnisse / Dateien gibt, die nicht gesynct werden sollen, so werden diese in den nächsten zwei Feldern angegeben.
Am Ende baut das Programm das Repository und schickt euch wieder ins Hauptmenu. Mit dem Befehl quit könnt ihr das Programm wieder verlassen, und mit cd ~ kommt ihr ins Hauptverzeichnis zurück.
Nun haben wir ein funktionsfähiges Repository, welches allerdings noch nicht herunterladbar ist. Dafür müssen wir ein kleines Shell Script schreiben, welches wir im Hauptverzeichnis ablegen:
#!/bin/bash
# Liste aller Parameter:
# https://www.ncftp.com/ncftp/doc/ncftpput.html
# Öffnet einen FTP Stream und lädt den Inhalt des Ordners ~/modpack recursiv auf den FTP Server
# ./ steht hierbei für das Hauptverzeichnis des FTP Servers.
ncftpput -v -u remoteftpuser -p mytopsecretpassword -R myftphost.tdl ./ ~/modpack/*
# Öffnet einen weiteren FTP Stream und lädt den Inhalt des Ordners ~/modpack/.a3s recursiv auf den FTP Server
# in das Verzeichnis moddownload
ncftpput -v -u webftpuser -p mytopsecretpassword -R mywebftpserver.tdl ./moddownload ~/modpack/.a3s/*
# Erledigtmeldung ausgeben
echo 'Update fertig'
Alles anzeigen
Datei ausführbar machen mit chmod 0750 ./updateModpack.sh und dann mit ./updateModpack.sh starten, warten und fertig.
Die Autoconfig kann nun von jedem heruntergeladen werden: http//eureWebseite.de/moddownload/autoconfig. und bei Arma3Sync importiert werden. Dieser sucht sich nun automatisch die Einstellungen des FTP Servers raus und lädt von dort aus die Daten herunter.