Der erste Start vom Clienten


 

 

Das erste mal appleJuice...


Wenn du hier angekommen bist, sollte die Installation von Java, Core und Gui geklappt haben. Falls nicht, beschäftige dich erstmal mit dem Thema Installation:

Installation unter Windows

Installation unter Linux

Weiterhin solltest du den Unterschied von Core und GUI kennen. Das macht den folgenden Abschnitt leichter verständlich. Falls irgendwo Problemen auftreten, hilft oft ein Blick in die FAQ.

 

Vorbereitung zum Start


Bevor es losgeht, sollten noch ein paar Kleinigkeiten überprüft bzw. eingerichtet werden.  Ports müssen eingerichtet und freigegeben werden, sowie Ausnahmen von Programmen in der Firewall definiert werden. Außerdem sollten alle Verknüpfungen (richtige Schreibweise der Pfad-Angaben u. Parameter) auf dem Desktop noch einmal überprüft werden.

Portfreigabe od. Portforwarding - wozu das Ganze?
Um zu Verstehen, warum der Core-Port am Router freigegeben werden sollte, muss man verstehen, was ein Router überhaupt macht. Deshalb hier eine stark vereinfachte Erklärung:
Bei TCP wird eine Verbindung zwischen 2 Punkten (PCs) aufgebaut, wobei jeder dieser Punkte durch eine IP-Adresse und einen Port festgelegt wird. Steht die Verbindung erst einmal, ist der Datenaustausch kein Problem. Das Kritische ist also der Aufbau der Verbindung.

Der Router vermittelt zwischen eurem lokalen Netz und dem Internet. Wenn euer PC eine Verbindung zu einem anderen im Internet aufbauen will, "merkt" sich der Router die letzte IP und den Port, von dem die Verbindung kommt, tauscht den "Absender" durch seine Internet-IP und einen eigenen Port, und schickt das Paket dann ans Internet weiter. Kommt ein Paket an den Port vom Router zurück, weiß dieser dank "Merkzettel", von welchem PC die Verbindung aufgebaut wurde und kann das Paket an dessen lokale IP und ursprünglichen Port weiterleiten (ausliefern).

Will jetzt aber jemand anderes zu eurem PC eine Verbindung aufbauen, kommt diese Anfrage an die Internet-IP von eurem Router. Dieser weiß nichts mit dem Paket anzufangen und wirft es darum im Normalfall einfach weg - es kommt keine Verbindung zustande.

Um dieses Problem zu umgehen, muss man dem Router also vorher "sagen", was er mit dem Paket anstellen soll. So kann man ihm z.B. sagen, dass er Anfragen, die vom Internet auf seinen Port 1234 ankommen, an den PC "AJ-NET" in eurem lokalen Netz auf Port 5678 weiterleiten soll. Und das ist genau das, worum es hier geht.

 

Die Portfreigabe erfolgt in eurem Router. Da jeder mit Sicherheit einen anderen Router hat, kann ich hier nur ein Beispiel beschreiben.
Beispiel-Konfiguration (FritzBox):

portfreigabe1

portfreigabe2

portfreigabe3

Wählt euch in den Router vom Heimnetzwerk ein und geht auf "Internet", dann auf "Freigaben" und weiter auf den Reiter "Portfreigaben". Dort geht ihr auf "Gerät für Freigaben hinzufügen". Im neuen Bild sucht ihr das Gerät aus (z.B. 192.168.178.100). Wie findet man nun die IP seines Routers und PCs?

 

Ip gatewayÖffnet eine Kommandozeile (cmd.exe) und gebt über die Tastatur "ipconfig" ein.

Wie beim Router einstellen?
Üblicherweise hat ein Hardware- oder Software-Router ein Webinterface, d.h. ihr gebt einfach bei euch im Web-Browser (Firefox, Chrome, Edge, etc.) die lokale IP von eurem Router als Adresse ein, gebt Benutzername und Passwort an und landet im Menü. Die IP des Routers könnt ihr unter Windows, Linux od. Mac über ein Kommandozeilen-Interface herausfinden. Dort sollte sie bei eurer Netzwerkkarte als "Standardgateway" stehen (rote Markierung hier im Bild oben). Die Logindaten findet man im Zweifelsfall im Handbuch oder auf der Rückseite vom Router.

 

 

Zum Abschluss kontrollieren wir noch die Freigaben in der Firewall des Betriebssystems und die richtigen Verknüpfungen auf dem Desktop. In unserem Beispiel machen wir das an Windows fest. Im Normalfall reagiert die Firewall selbst beim ersten Start der "java.exe" bzw. der "javaw.exe" und fragt nach der Freigabe. Aber wie geschrieben, im Normallfall. Sollte es doch einmal nicht funktionieren, muss man es händisch selbst machen in der Systemsteuerung.

Unter SystemsteuerungAlle SystemsteuerungselementeWindows Defender FirewallErweiterte Einstellungen, findet man die richtigen Punkte:

java  javaw

Als letztes legen wir uns noch Verknüpfungen auf den Desktop. Dadurch wird die Bedienung von AJ etwas einfacher. Bei dieser Sache gibt es unterschiedliche Herangehensweisen, da das GUI mehr als eine Möglichkeit zulässt. Ich werde jetzt nur auf das javaGUI eingehen (das phpGUI beschreibe ich unter Linux). Man muss sich entscheiden, ob man "AJCoreGUI.jar" oder "AJCoreGUI.exe" benutzen will. Beim Core ist es fast genauso. Da der Core eine JAVA-Anwendung ist, muss man sich entscheiden, ob man die Anwendung mit "java.exe" oder mit "javaw.exe" starten will. Die Unterschiede dieser Verknüpfungen liegen im Startbefehl!

 

 

 desktop

 ajgui exe

 ajgui exe

 ajgui exe

 ajgui exe

Um den Core zu starten gibt es nur 2 Möglichkeiten. Entweder über die "java.exe" oder "javaw.exe". Die Startbefehle sehen etwa so aus: 

 X:\appleJuice\java\bin\javaw.exe -d64 -jar -Xms512m -Xmx4096m "X:\appleJuice\Core\ajcore.jar" -c  (als Verknüpfung auf dem Desktop - Verzeichnispfad muss angepasst werden).

 Oder:

 java -d64 -jar -Xms512m -Xmx4096m ajcore.jar --nogui -c   (mittels einer selbsterstellten BAT-Datei, die im Verzeichnis vom Core liegen muss und als Verknüpfung auf dem Desktop liegt)

 Leerzeichen und Anführungszeichen ("") sind unbedingt zu beachten! Beim Vergrößern der Bilder sieht man die Befehle noch einmal richtig.

 install

 notepad1

taskleisteAJcore und AJCoreGUI erhalten bei Ausführung dann ein Icon in der Taskleiste. Wie bereits im Vorfeld beschrieben ist es nicht ratsam den AJClient in das Stammlaufwerk zu installieren, da es dort mit Sicherheit administrative Probleme geben wird.

 

erst Core, dann GUI


StartZum Starten von appleJuice muss erst der Core und dann das GUI gestartet werden. Das Gui kann nicht den Core starten. Für appleJuice-Nutzer, die die alten Versionen kennen, etwas ungewohnt, sollte aber kein Problem sein.

Unter Windows meldet sich der Core mit einem kleinen Fenster. Keine Angst, wenn die ersten Meldungen gleich nach Fehler aussehen ... es fehlen einfach nur einige Einstellungen, die du in den nächsten Minuten machen solltest.

Unter Windows kannst du den Core (wenn mit "javaw.exe" gestartet wird) mit einem Klick auf das [x] ins Systray (Taskleiste - neben der Uhr) minimieren, damit solltest du aber warten bis alles wie gewollt läuft, da evtl. auftauchende Fehlermeldungen sonst leicht übersehen werden. Für Linux siehe Core im Hintergrund (Linux).

  

Host, Port, Passwort


Host port passWenn der Core läuft, kann das Gui gestartet werden. Es erscheint ein kleines Fenster, in dem Host, Port und Passwort eingegeben werden soll. Host und Port sind voreingestellt ... falls der Core auf dem selben Recher wie das Gui läuft, sollten die Einstellungen so gelassen werden (Host: localhost ; Port: 9851). Falls sich der Core auf einem anderen Rechner befindet, muss die Adresse von diesem Rechner angegeben werden, egal ob IP oder dynip. In diesem Fall muss auch das Passwort vom Core geändert werden.

Beim ersten Start wurde für den Core noch kein Passwort vergeben - das Passwort Feld sollten somit leer bleiben. Das GUI hat im Startdialog einen kleinen Bug, für den Fall, dass man kein Passwort verwenden möchte. Als Workaround einfach einmal ins leere Passwortfeld klicken und erst dann OK betätigen, schon gehts.

Bei Problemen mit dem Passwort kann man auch direkt im Core ein neues festlegen (siehe FAQ), dann könnt ihr mit diesem zum Core verbinden.

Als nächstes erscheint ein Assistent, der zur Eingabe eines Nicks auffordert. Damit wäre dann schon mal die Meldung "please change your nickname" im Core-Fenster Vergangenheit. Der Nick darf nicht mit nonick beginnen, ansonsten verbindet sich dein Core nicht mit einem Server (serverlogin not available).

Dann muss die Sprache ausgewählt werden - auch kein Problem.

So, Core und Gui laufen jetzt schon mal 😁

Optionen


 

Standard

Gui einstellung pfadJetzt solltest du dich mal durch die Optionen klicken, zu finden links oben in der Gui unter Extras.

Das erste wäre die Registerkarte Standard. Hier kannst du die Verzeichnisse von Temp- und Incoming-Ordner verändern. Bitte achte darauf, dass temp und incoming unterschiedliche Ordner sind! Weder darf temp ein Unterverzeichnis von incoming sein, noch umgekehrt.

Der Port ist frei wählbar. Er sollte jedoch nicht von einer anderen Anwendung verwendet werden und muss bei Vorhandensein von Firewall und/oder Router entsprechend freigegeben/weitergeleitet werden (Portforwarding).

Der XML-Port ist die Schnittstelle zwischen Core und Gui, sollte auf 9851 bleiben, wenn nicht gerade eine andere Anwendung ausgerechnet diesen Port verwendet.

 

Verbindung

Pic 22Weiter gehts mit der Registerkarte Verbindung. Die Einstellungen sind auf ADSL[1] (Asymmetric Digital Subscriber Line) voreingestellt, da noch viele Nutzer diese Anbindung haben. Falls du eine andere Anbindung hast, solltest du Upload und Download entsprechend anpassen. Ebenso, wenn du noch andere Anwendungen laufen hast, die einen hohen Upload und/oder Download verursachen.

 

Der Wert "max. Verbindungen" sollte auch bei den meisten Usern voll ausreichen, und sollte nur geändert werden, wenn wirklich mehr benötigt werden. Die Anzahl der momentan vom Core verwendeten Verbindungen steht in der GUI unter Start.

 

"kb per Uploadslot" ist Grundlage zur Berechnung der Anzahl der aktiven Upload-Slots und der Länge der Upload-Warteschlange.
Erfahrungsgemäß ist bei 16 kb/s Upload ein Wert von 2 oder 3 am Besten. Mehr Infos

 

max. neue Verbindungen pro 10 Sek" regelt, wie schnell der Core neue Verbindungen aufbaut. Je höher der Wert, desto mehr CPU-Last wird verursacht. Für den Anfang ist 50 ein guter Wert, mehr sind selten notwendig.

 

Der Haken "automatisch Verbinden" bewirkt, das dein appleJuice nach dem Start automatisch versucht, zu einem Server zu verbinden. Das ist in den meisten Fällen ganz praktisch, allerdings solltest du dann nicht versuchen, "von Hand" zu verbinden.

[1](Das "Asymmetrisch" bedeutet, dass die Upload- und die Downloadgeschwindigkeit in einem asymmetrischen Verhältnis zueinander stehen. Die Downloadgeschwindigkeit ist hier immer höher als die des Uploads.)

 

Server-Verbindung


 

0.71.6 1

 

Falls der Core am Anfang keine Verbindung zu einem Server aufbauen kann, klicke in der AJCoreGUI auf den "Server"-Reiter und über der Liste (in der dann wahrscheinlich nur ein einziger Server steht) auf den "Mehr Server gibt es hier"-Button.
Dann sollten einige neue Server in der Liste erscheinen. Wie viele Server letztendlich in der Liste stehen spielt keine Rolle, es ist nur wichtig, dass zu einem einzigen davon eine Verbindung besteht, zu erkennen an demOkgrünen Punkt vor diesem Server.

Servermangel nach Neuinstallation

Falls Ihr AJ neu installiert, bekommt Ihr nur den fest-programmierten Server "Knastbruder" zugewiesen (server|knastbruder.applejuicenet.de|9855), der jetzt wieder funktioniert, obwohl "applejuicenet.de" umziehen musste.

Kopiert euch eine oder alle Server-Adressen aus der applejuice-Serverliste und fügt sie wie einen normalen aj-Link mit Copy/Paste in die obere Zeile des GUI ein (es muss mit STRG+C kopiert werden und mit STRG+V eingefügt werden!).

Achtet unbedingt darauf das GUI mit Admin-Rechten zu starten und am Zeilenende kein Leerzeichen beim Einfügen der Serveradresse zu haben!

Danach werdet Ihr wieder Server bekommen und auch die Schaltfläche "Mehr Server gibts hier" sollte wieder funktionieren.
Das manuelle Kopieren von Servern muss seit dem Dezember'19 nicht mehr erfolgen. Es gibt jetzt dafür wieder unsere altbewerte Serverliste. Dort werden alle aktiven Server angezeigt. AJ-Server werden jetzt wieder automatisch im GUI aktualisiert, dank einer Umstellung im Server-Aufruf.

 

 

Und nun ... viel Spass mit appleJuice