FAQ Core


 

 

Core...


Core - Kern des Programms

 

Der Core ist der Kern des Client-Systems und verbindet sich mit anderen Clients (Quellen). Gleichzeitig gibt der Client Informationen an den Serververbund und sucht mittels dieser nach neuen Quellen um sich dann zu diesen zu verbinden. Von den Quellen werden die gewünschten Dateien heruntergeladen. Im Prinzip können sich auch zwei Clients ohne Server verbinden. Dazu müssen aber die Quellen bekannt sein. Genauso verbinden sich andere Clients zum eigenen Core um sich Dateien zu laden. Der Core hat keine grafische Oberfläche und ist nur bedingt bedienbar. Dafür sind die GUIs zuständig. Er läuft jedoch selbstständig ohne das ein GUI laufen muss. Der Core kommuniziert über TCP/IP mit den GUIs (s. XML-Port), wodurch beide Teile nicht auf einem Rechner laufen müssen. Es können sich gleichzeitig mehrere GUIs zum Core verbinden. Der Core wird über einen Interpreten (Bibliothek) gesteuert. Bei Windows über eine ajnetmask.dll und eine TrayIcon12.dll, bei Linux über eine libajnetmask.so, sowie beim Raspberry Pi 3/4 mit einer entsprechenden ARM-Libajnetmask und beim MAC über eine libajnetmask.jnilib.

 

Da der Core lauffähig ist auf 32bit- und 64bit-Systemen, sowohl mit einer 32bit Java, als auch mit einer 64bit Java, benötigt man zur Ausführung dementsprechend auch eine 32- oder 64bit ajnetmask / libajnetmask! Das bitte beachten bei der Installation!!!

 

Wozu dient der Core-Port?


Der Core-Port wird benötigt, damit andere Clients direkt zu deinem Client Kontakt aufnehmen können. Das ist wichtig, damit andere Nutzer deine freigegebenen Dateien laden können, aber auch damit Ergebnisse von Suchen, die du gestartet hast, von den Clients, die Passende Dateien haben, zu dir durchkommen. Es werden nur TCP Verbindungen verwendet.

Ist dieser Port aufgrund von Firewall, Router etc. von "Außen" nicht erreichbar, sind nur indirekte Verbindungen zu dir möglich und du kannst selber nicht zu anderen Clients verbinden, bei denen der Core-Port ebenfalls blockiert ist. Das heißt im Endeffekt hast du dann weniger Leute im Upload (und damit weniger Credits), weniger Quellen für deine Downloads und bekommst weniger Suchergebnisse. Darum sollte der Zugriff von Außen auf diesen Port wenn möglich immer erlaubt werden.

 

Welches ist der Core-Port?


Der Core-Port wird beim ersten Start vom Core zufällig gewählt (>1024) und ist somit bei jedem anders. Danach bleibt er fest, außer er wird von Hand geändert.

Der einfachste Weg festzustellen, auf was dieser Port bei sich eingestellt ist, ist ein Blick in die Optionen der GUI. Unter Extras->Optionen->(Core-)Port kann der Wert abgelesen und auch geändert werden.

 

XML-Port


Der XML-Port (Standardwert: 9851) ist für die Kommunikation zwischen Core und GUI zuständig. Auf diesem Port läuft beim Core ein HTTP-Server, über den sich, unter der Bedingung, dass das richtige Passwort übergeben wird, sowohl Befehle übergeben, als auch Informationen abrufen lassen (mehr in der Dokumentation Core - Gui Schnittstelle).

Sollte das Core-Passwort nicht gesetzt bzw. leer sein, werden Anfragen von anderen Rechnern ignoriert. Andernfalls lässt sich der Core von jedem Rechner steuern, der eine TCP-Verbindung zum XML-Port aufbauen kann und das richtige Passwort übergibt. Darum gilt: entweder überhaupt kein Passwort vergeben, oder ein sicheres.

Wer Router und/oder Firewall hat und nicht plant, den Core von "Außerhalb" zu steuern, muss sich auch nicht die Mühe machen, diesen Port durch zu lassen - das bringt keinerlei Vorteile und kann bei schlecht gewähltem Passwort sogar zur Sicherheitslücke werden.

 

Quellen...


Eine Quelle stellt einen appleJuice-Nutzer dar, welcher aktuell auch gerade zum Netzwerk verbunden ist und Teile für die gewünschte Datei zur Verfügung stellt. Der Core sucht Quellen auf den Servern (jeder Server verfügt über den gleichen Informationsstand aus der "Hashtable") und tauscht diese dann mit den anderen Cores aus.

 

Dateitypen im Temp Verzeichnis


Im Temp Ordner sollten nur 3 Dateiarten vorhanden sein:

  • *.data --> Data File eines Files das gerade gesaugt wird, enthält die bereits geladenen Daten
  • *.part --> enthält Informationen für die *.data , wie Dateiname etc, braucht AJ um das File zu saugen
  • *.ready --> eine fertige Datei, bei der ein Fehler beim Umbenennen und Kopieren in den Incoming Ordner aufgetreten ist. Einfach manuell den Dateinamen ändern und in den Incoming Ordner schieben und das File ist fertig ;)
  • *.* --> Fertige Files *g* .. liegen auch manchmal noch im Temp Ordner wenn es Probleme beim Kopieren in den Incoming Ordner gab. Einfach manuell in den Incoming Ordner kopieren.

 

Core - Meldungen


Der Core gibt im laufenden Betrieb ständig Meldungen aus, die man als User eigentlich fast immer ignorieren kann, solange AJ läuft. Hier eine Auflistung wichtiger Core Ausgaben, zur allgemeinen Bildung ;)

 

Fehler-, Warnungen und Statusmeldungen

"Address already in use

Entweder der Port oder der XML-Port des Core ist schon belegt. Passiert z.B., wenn der Core bereits läuft. Beende alle AJ Prozesse und starte dann erneut. Im Taskmanager läuft der Core als java.exe bzw javaw.exe.

"error renaming H:\_aj\_temp\22.data to H:\_aj\_temp\filename

Fehler beim Umbennen des Files, z.B. beim Fertigstellen. Dies kann daran liegen, dass im Filenamen Sonderzeichen verwendet wurden. Das fertige File liegt dann als *.ready datei im Temp-Ordner. Einfach manuell umbenennen und in den Incoming Ordner verschieben ;)

"error copy file from temp to incoming directory

Beim Kopieren des fertigen Files vom Temp in den Incoming Ordner ist ein Fehler aufgetreten. Kann zum Beispiel passieren wenn die Festplatte voll ist. Das File liegt bereits fertig im Temp Ordner, einfach selbst in den Incoming Ordner schieben.

"c:\blub\downloads seems to be temp. sharechecking skipped

Dieser Ordner wurde als Temp Ordner erkannt und wird deshalb nicht gehasht 

"cannot create 'verzeichnis'

Core hat versucht, ein Verzeichnis, das du in Optionen eingestellt hast, welches aber nicht existiert, anzulegen ... hat leider nicht geklappt :/ Danach folgt dann entweder "Temp directory doesn't exist" oder "Incoming directory doesn't exist", der Core verbindet sich nicht mit einem Server. 

"Temp directory doesn't exist

Kein Temp Ordner in den Optionen eingestellt. 

"Incoming directory doesn't exist

Kein Incoming Ordner eingestellt. Ohne eingestellten Incoming/Temp Ordner ist keine Serververbindung möglich. 

"tempdir lies under incomingdir. please change

Der Temp-Ordner liegt unter dem Incoming-Ordner ... und das mag der Core nicht ;) Also die Einstellungen in den Optionen entsprechend korrigieren und zwei voneinanander getrennte Verzeichnisse angeben. Der Core verbindet sich bei dieser Meldung nicht mit einem Server "serverlogin not available." 

"incomingdir lies under tempdir. please change

analog "tempdir lies under incomingdir. please change" ... nur das hier der Incoming- unter dem Temp-Order liegt. 

"Please change your nickname

In den Optionen wurde kein Nickname eingegeben oder er beginnt mit "nonick". Ohne eingestellten Nick ist keine Serververbindung möglich. 

"serverlogin not available.

Core kann sich nicht am Server einloggen ... die Ursache kann unterschiedlich sein und steht eine Zeile über dieser Meldung. 

"failure: incorrect link

Der Download- oder Serverlink, den du gerade übernehmen wolltest, war nicht korrekt ... also überprüfen und nochmal versuchen ;) 

Statusmeldungen 

"found defect part in xx.data" 

Bei Überprüfung des geladenen Chunks hat AJ festgestellt, dass dieser defekt ist und hat ihn verworfen. 

"error while reading file [Pfad]" 

Kommt wenn AJ ein File sucht, welches nicht mehr verfügbar ist (verschoben, gelöscht etc); Shareüberprüfung starten oder Core neustarten, damit der Eintrag aktualisiert wird. 

"close connection cause of inactivity ..." 

Ihr seid grad Zeuge geworden wie eine inaktive Verbindung geschlossen wurde. Toll oder? 😎 das kann z.B. der Fall sein wenn der andere Client offline gegangen ist. Das ist ein ganz natürlicher Vorgang und kein Grund zur Beunruhigung. 

"Error while read: Eine bestehende Verbindung wurde softwaregesteuert durch den Hostcomputer abgebrochen" 

siehe "close connection cause of inactivity" 

"close download/upload

Die Übertragung eines Chunks wurde hiermit abgeschlossen 😏

"you have to wait 30 minutes until reconnect" 

Das ist die integrierte Anti-Server-Hopping-Funktion. Sie verhindert, dass man ständig den Server wechselt. Nach Ablauf der Sperrfrist versucht appleJuice wieder selbstständig zu einem Server zu verbinden. Die Sperre wird nur aktiv, wenn man manuell zum Server connectet. Alternativ kann man auch AJ neustarten um die Sperre zu umgehen 😊

"error logging into server: not enough in buffer" 

heisst ganz einfach dass der Server auf den du dich gerade verbinden willst voll ist. 

 

Core - Befehle


Die Steuerung von AJ findet haupsächlich über das GUI statt. Hier nun die (wenigen) Befehle, die man im Core eingeben kann:

help listet die möglichen Core Befehle auf
chpw mit dieser Funktion kann man das Passwort ändern
ram Anzeige des benutzten/freien RAM
gc Garbagecollector ... entmüllt den RAM ein wenig
sharecheck Startet die Shareüberprüfung
exit selbsterklärend 😁 mit diesem Befehl sollte man seinen AJ immer beenden

 

Wie kann ich appleJuice pausieren sodass er keinen upload/download macht


Zur Zeit hat der Core diese Funktion noch nicht. Ist aber schon eingeplant 😀

Unter linux kann der Prozess selbst "eingefroren" werden. z.B. mit killall -s STOP java und "aufgetaut" wird dann z.B. killall -s CONT java

Ansonsten reichts evtl. auch, alle Downloads zu pausieren und den Upload auf 3 KiB/s (ist der Minimalwert) zu reduzieren. 

Falls man bei jeder neuen Einwahl ins Internet eine dynamische IP zugeteilt bekommt kann man sämtliche Downloads pausieren und in den AJ-Optionen einstellen, dass man nicht automatisch mit einem Server verbunden wird. Danach kurz die Internetverbindung trennen und solange warten, bis aus den Upload-/Download-Queues die User verschwunden sind. Nun kann die Internetverbindung wieder aufgebaut werden und es wird keine Bandbreite von AJ benötigt. Oder man nutzt den "Energiespar-Modus" vom OS.

 

Funktionsweise der Quellenabfrage an den Server


Die Leute die saugen prüfen alle 30 Minuten nur nach neuen Quellen und bekommen dann MAX. 5 Quellen vom Server genannt - vorzugsweise die Quellen, die auf dem Server selbst sind und erst danach werden max. 5 Quellen von anderen Servern geholt. Das heißt, ist es eine Datei die viele haben, ist die Wahrscheinlichkeit recht gering das du schnell wieder gefunden wirst. Ist es eine Datei die nur du hast funktioniert es tadellos. 

 

FAQ Core-Probleme


 

 

Core & GUI


Meine Einstellungen werden nicht gespeichert


Schau nach ob die Datei settings.xml (zu finden oft im Verzeichnis "C:\Dokumente und Einstellungen\Applejuice\ bzw. ~/appleJuice/" ) mit einem Schreibschutz versehen ist und entferne diesen, falls vorhanden.

Ein weiterer Punkt weshalb die Optionseinstellungen verlorengehen können wäre ein fehlerhaftes Beenden des Cores, z. B. bei einem Systemabsturz oder bei einem Rechnerneustart, ohne vorheriges Beenden des Cores. In diesem Fall am besten die settings.xml komplett löschen und den Core neu starten.

Darüberhinaus können Umlaute oder Sonderzeichen im Windows-Benutzernamen Probleme beim Speichern der Optionseinstellungen verursachen. Ab Core 0.30.144.522 konnte man dieses Problem umgehen, indem man einfach " -c" ganz hinten an die Verknüpfung zum Core zu hängt. Dann speichert er die Einstellungen nicht im Home-Verzeichnis, sondern dort, wo der Core selber liegt. Man sollte AJ im Grunde nie nach C:\ bringen, besser ist immer eine andere Partition.

Unter Windows 10 geht das so: Zum Ort eurer Verknüpfung wechseln. Verknüpfung für den "appleJuice Client (Core)" - rechte Maustaste - Eigenschaften - linke Maustaste - Registerkarte Verknüpfung - Ziel:

X:\appleJuice\java\bin\javaw.exe -jar -Xmx4096m "X:\appleJuice\Core\ajcore.jar" -c

In diesem Beispiel habe ich sowohl AJ, als auch Java nicht auf C:\ installiert, sondern alles auf einer anderen Partition im Verzeichnis "appleJuice"!

Core geht beim Starten nicht auf oder das Fenster verschwindet gleich wieder 


Dann hat dein Core beim Start eine Fehlermeldung gebracht und beendet sich sofort wieder. Um die Meldung und damit die Ursache für das Beenden des Cores zu sehen, öffne die Eingabeaufforderung über Start - Ausführen - cmd - Ok, und den Core wie folgt starten (die Eingabe bitte mit der Enter-Taste bestätigen): 

java -jar X:\appleJuice\Core\ajcore.jar --nogui

Jetzt bekommst du auch die Ursache für das Beenden des Cores angezeigt und kannst sie beheben. Wenn du mit der Meldung nichts anzufangen weisst und in der FAQ keine Hilfe findest, kannst du z.B. im Forum oder hier nachfragen/nachsehen.

Warum dauert das Hashen so lange? 


Wenn neue Dateien in den Share kommen dann werden Sie einmalig gehasht. Da der Hashvorgang eine niedrige Priorität hat, können andere cpu-lastige Programme das Hashen extrem verlangsamen. Schließe deshalb am besten Programme wie SETI, GUI's etc.während des Hashens. 

Wie kann ich neue Server hinzufügen? 


Klicke in der GUI im Server-Tab einfach auf den Button "Mehr Server gibt es hier". Dann sollten automatisch neue Server in der Liste erscheinen.


Wie kann ich die Downloads meines alten AJs übernehmen? 


Einfach in den Optionen die Incoming und Temp-Pfade des alten AJs einstellen. Oder du kopierst die Inhalte deinen alten Temp(es müssen die .part und .data kopiert werden) und Incoming Ordners in die entsprechen verzeichnisse des neuen Applejuice. 


AJ will meinen Incoming Ordner nicht Hashen? 


Möglicherweise hast du für Temp und Incoming Ordner das gleiche Verzeichnis eingetragen, wenn ja erscheint die Meldung "c:\blub\temp seems to be temp. sharechecking skipped" im Core. Ändere den Ordner in den Optionen ab und es sollte nun hashen. 


Mein GUI verbindet sich nicht zum Core? 


Dies kann mehrere Gründe haben:

  • Core ist nicht eingeschalten.
  • Core ist abgeschmiert
  • Password ist falsch (siehe hier)
  • IP-Adresse und/oder XML Port stimmt nicht.
  • In manchen Java-GUI-Versionen ist es notwendig mit der Maus in das Passwortfeld zu klicken, auch wenn kein Passwort gesetzt ist
  • Evtl. wurde die Datei C:\Dokumente und Einstellungen\<USER>\Applejuice\settings.xml beschädigt (z. B. durch einen Absturz). In diesem Fall sollte man die Datei settings.xml löschen. Nach dem nächsten AJ-Start müssen die Optionseinstellungen erneut vorgenommen werden.
  • Bei manchen Usern hatte Steganos Internet Anonym Probleme bereitet und nachdem sie Steganos Internet Anonym deinstalliert hatten war das Problem verschwunden

Verbindungen von anderen PCs aus wie localhost (127.0.0.1) gehen nur, wenn ein Passwort gesetzt wurde.

 


Bekomme beim Starten von AJ "Exception in thread "main""! 


Dieser Fehler tritt auf, wenn der Core falsch gestartet wurde. Du kannst versuchen, den core mit "java -jar ajcore.jar --nogui" zu starten, um evtl. mehr Infos zu bekommen. 


Meine fertig geladenen Files erscheinen nicht im Incoming Ordner? 


  • Wenn deine Festplatte voll ist kann es Probleme beim Verschieben gegeben haben, die Datei liegt dann noch im Temp Ordner.
  • Wenn der Dateiname Sonderzeichen enhält kann es ebenfalls zu Schwierigkeiten kommen. Näheres hierzu auch unter folgendem Link.

 


Ich habe AJ installiert, aber es sind keine Server aufgeführt? 


Siehe: Wie kann ich neue Server hinzufügen? 


Ich komme auf keinen Server / die Verbindung zum Server dauert sehr lange? 


Das kann mehrere Ursachen haben.

Evtl. liegt es an deinem Zugang zum Netz und/oder bist du hinter einem Router, Proxy, Firwall oder etwas ähnlichem.

Oder du hast versucht, selbst auf einen anderen Server zu kommen, obwohl du mit einem verbunden warst. Du erhälst im Core dann folgende Meldung: "you have to wait 30 minutes until relogin". Dann hast du eine 30-Minuten-Sperre. Nach Ablauf dieser Sperre versucht AJ selbstständig zu einem Server zu verbinden.

Wenn im Core "not enough in buffer steht", dann ist der Server, zu dem du dich verbinden willst, voll.

Vielleicht hast du auch sehr viele alte Server in deiner Serverliste stehen, am besten du löschst mal alle Server aus der Liste und klickst dann auf "mehr Server gibt es hier". Es werden dadurch die aktuellen Server hinzugefügt.

Wenn das auch nicht funktioniert dann schau nach, ob im Core eine der folgenden Meldungen steht:

  • "Temp directory doesn't exist"
  • "Incoming directory doesn't exist"
  • "Please change your nick"

In diesem Fall halte dich an das was dort steht und gib den Temp/Incoming Pfad in den Optionen an bzw. ändere dort deinen Nick.

Wenn im Core "Version was blocked" steht, dann benutzt du eine veraltete, gesperrte oder nicht zulässige Version. In diesem Fall sollte ein Update beziehungsweise eine Neuinstallation helfen. 


Ich sitze hinter einem (NAT) - Router / einer Firewall. Welche Ports muß ich freigeben / mappen? 


AJ funktioniert auch hinter einem NAT - Router, wenn man keine Ports mapped. Allerdings gibt es dann Einschränkungen beim Download (kein Download von Leuten, die ebenfalls hinter einem Router sitzen) und die Suchfunktion liefert weniger Ergebnisse. Außerdem wird das Servernetz zusätzlich belastet, wenn der Core-Port von außen nicht erreichbar ist.

AJ benutzt keine festen Ports, der Port ist frei wählbar und wird bei der Installation bzw. beim ersten Start zufällig gewählt. Das verhindert, dass ISPs gezielt den Apfel ausbremsen.

Der Client benutzt nur einen Port. Dieser kann unter Extras->Optionen->Port eingestellt werden. Dieser muss dann auch beim Router gemapped werden bzw. bei der Firewall freigegeben werden, dazu solltest du einen Blick in das Handbuch des Routers werfen (Port Forwarding oder Virtual Server). Das Protokoll TCP reicht, da UDP nicht verwendet wird.

Der XML-Port ist ausschließlich für die Core-GUI Verbindung zuständig, muss also im Normalfall nicht freigeschaltet werden.Wenn du verbindung zu deinem Core von einem anderen Internetanschluss herstellen möchtest muss der XML-Port gemapped/freigeschalten sein. 


Ich habe mein AJ Passwort vergessen? 


Kein Problem, du kannst im Core ein neues Passwort eingeben.

Tippe dazu im Core "chpw" und drücke "enter"

gib nun ein neues Passwort deiner Wahl ein und drücke wieder "enter". 


Warum hat mein Rechner 100% CPU-Auslastung? 


Es kann sein, das AJ gerade die Files hasht. Er liest alle geshared Dateien und erzeugt jeweils eine Prüfsumme über den Inhalt der Dateien. Dies kann etwas Zeit in Anspruch nehmen und ist an calculate checksum-Meldungen im Core zu erkennen.

Sehr viele gleichzeitige Downloads mit vielen Quellen und gleichzeitigem Powerdownload kann ebenfalls die CPU-Belastung überproportional erhöhen. Also einfach mal mit weniger versuchen. 😁

Bitte achtet auch darauf, dass der Wert Max. neue Verbindungen pro 10 Sek. in den Optionen nicht zu hoch eingestellt ist.

Mehrere gleichzeitige Installationen der Java-Runtime-Environment können Probleme hervorrufen. Am besten die aktuellste JRE behalten und die älteren Versionen über Start -> Systemsteuerung -> Software deinstallieren.

Durch das Löschen von Dateien aus dem Share, ohne nachfolgenden Neustart des Cores, kann ebenfalls die CPU-Last stark ansteigen.

Bei einigen hat die Deaktivierung von MS Java geholfen: IE -> Extras -> Internetoption -> erweitert -> Microsoft VM -> Häkchen bei Java JIT Compiler aktivieren raus nehmen.

Manche Grafikkarten-Treiber können eine extrem hohe CPU-Last in Verbindung mit Java-Anwendungen erzeugen. Ein Update der Grafikkarten-Treiber könnte helfen.

Ein weiterer Verursacher für starke CPU-Belastung kann eine Firewall sein, die mit hohen Verbindungszahlen nicht klar kommt, oder ein Virenscanner, der das temporäre Verzeichnis von AJ scannt (Temp-Verzeichnis bitte bei der Überprüfung durch den Virenscanner ausklammern).

Evtl. hilft es unter WinXP/2k den Core im Text-Modus zu starten: Start - ausführen - cmd - ok. In der Eingabeaufforderung folgendes eingeben: java -jar C:\Programme\appleJuice\Core\ajcore.jar --nogui und mit der Enter-Taste bestätigen. Ggf. ist der o.g. Pfad noch anzupassen. 


Mein Gui verursacht 100% Cpu-Last? 


Deaktiviere alle Plugins in dem GUI. Einge Plugins haben verursachen sehr hohe CPU-Last.

Die CPU-Last vom GUI kann durch das deaktivieren der Themes reduziert werden.

Der Up- und Download vom Core funktioniert auch ohne GUI. Falls ihr den "automatischen Powerdownload" nicht benötigt, könnt ihr das GUI einfach schließen und erst bei Bedarf wieder öffnen.

Alternativen zum Java-GUI mit niedrigerer CPU-Belastung wären z.B. das ApplePulp oder das PHP-GUI.

In einigen Versionen kann es zu Problemen kommen, wenn die Suchanfrage zu viele Ergebnisse liefert, wodurch sich das GUI nach einiger Zeit nicht mehr steuern lässt. In diesem Fall sollte man versuchen die Suche abzubrechen und die Ergebnisse zu löschen. In Extremfällen hilft allerdings nur ein Neustart von Core und GUI.
Das Java-GUI 0.71 CVS-Build kann auch mit vielen Suchergebnissen umgehen.

Das GUI kann auch geschlossen werden, während der Core weiterarbeitet (die Uploads/Downloads werden dadurch nicht beeinflusst). Wenn man das GUI wieder benötigen sollte startet man es einfach wieder. 


Immer wenn ich mein Applejuice beende sind meine Credits weg! 


Das ist kein Fehler, sondern beabsichtigt. Die Credits werden nicht gespeichert. Wenn der Core beendet wird sind die Credits weg.

Eine Möglichkeit, die Credits zu behalten, während der Rechner "aus" ist, stellt aber der Ruhezustand von Windows dar. 


Festplatte läuft im Dauerbetrieb durch AJ! 


  • Systemwiederherstellung deaktivieren
  • Temp-Ordner aus dem Scanvorgang des Virenscanners entfernen 


networkinterfacelib defect. Is it in path? 


Mein Core bringt folgende Meldungen und beendet sich dann. 

20:45:12 Start appleJuice Client
20:45:12 Version: 0.31.149.1231
20:45:12 networkinterfacelib defect. Is it in path? C:\WINDOWS\system32;.;C:\WINDOWS\System32;C:\WINDOWS;
C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Programme\Support Tools\
20:45:12 Client stopped.

Der Core kann die networkinterfacelib-datei nicht finden oder sie ist defekt. Je nach Betriebssystem heisst sie anders ... windows ajnetmask.dll, linux libajnetmask.so, mac libajnetmask.jnilib. Wo die Datei gesucht wird steht in der Fehlermeldung. In einem dieser Verzeichnisse muss die Datei liegen. Lade die Datei nochmal von hier und kopiere sie in eins dieser Verzeichnisse. 


Credits werden nicht gutgeschrieben? 


Mögliche Ursachen dafür wären eine deaktivierte UPnP-Funktion im Router oder ein aktivierter NTP-Time Server im Router.

Es muss der Core-Port in Router/Firewall gemapped/freigeschalten sein so das ihr keine Firewalled-meldung bekommt.

Bricht ein Upload ab, werden dafür vergebene Credits wieder abgezogen. Dies kann z.B. passieren, wenn die max. Uploadgeschwindigkeit in den Optionen zu hoch eingestellt ist. Siehe Einstellungen - GUI.

Bitte bedenkt, das ihr auch für Downloads ohne aktivierten Powerdownload Credits bezahlen müsst, sodass es bei einem doppelt so hohen Download wie Upload so aussieht, als ob kaum Credits dazukommen würden.

Bei Windows Vista/Win7 werden keine Credits gutgeschrieben wenn euer PC direkt am DSL-Modem (also ohne Router) oder über einen Surfstick angeschlossen ist und ihr euch mit dem PC ins Internet einwählt. Grund dafür ist die Verwaltung der PPPoE Session unter diesen OS-Systemen.

Momentan einzigste Lösung ist einen Router für die Interneteinwahl zu verwenden. 


Schlechte Uploadauslastung! 


  • Bei stärkeren Internetanbindungen ab ca. 2 MBit sollte dem Core mehr Arbeitsspeicher zugewiesen werden. Siehe RAM-Zuweisung
  • Ist der AJ-Port bei der Firewall freigeschaltet, bzw. beim Router forwardet? Es sollte keine rote Warnmeldung auf der Registerkarte Start (Java-GUI), bzw. Home (Windows-GUI) auftauchen. Siehe Core-Port
  • Besteht eine Verbindung zu einem AJ-Server? Dies kann man in der unteren Statusleiste oder auf der Registerkarte Start, bzw. Home erkennen.
  • Sind die AJ-Optionen richtig konfiguriert? Besonders die Einstellung KByte/sec pro Uploadslot kann hier helfen. Siehe Einstellungen.
  • Hast du gefragte Dateien im Download/Share? Es kann nützlich sein, etwas beliebtes zu laden, da deine geladenen Teile auch sofort anderen zur Verügung stehen.
  • Hast du den aktuellen Snapshot-Core installiert? In neuen Versionen wurden oft Fehler behoben, siehe Wie kann ich AJ auf den neuesten Stand bringen?.
  • Eine zu hohe CPU-Belastung kann den Up- und Download negativ beeinträchtigen. Siehe Warum hat mein Rechner 100% CPU-Auslastung?.
  • Manche Firewalls können Java-Programme beeinträchtigen. Selbst im "ausgeschalteten" Zustand können Firewalls das System noch ausbremsen (z.B. ZoneAlarm).
  • Einige Provider (z.B. Vodafone, Kabel-Deutschland) drosseln bestimmte Ports. In diesem Fall könnte es unter Windows evtl. helfen einen Port unter 1024 einzustellen (das funktioniert mit dem Windows-GUI oder über das editieren der Datei c:\Dokumente und Einstellungen\<USER>\Applejuice\settings.xml ). Bitte nicht den XML-Port ändern!
  • Würmer/Trojaner/Viren können ebenfalls den Upload erheblich beinträchtigen.
  • Beim Einsatz von Win7 mit dem Servicepack 1 sollten auf jeden Fall die halb-offenen Verbindungen gepatcht werden -> WinXP SP2 Verbindungslimit
  • Bestimmte Java-Versionen können Probleme hervorrufen (z.B. veraltete Installationen). Ob mehrere Java Runtime Environments installiert worden sind kann man unter Win7 über Start - Systemsteuerung - Software herausfinden. Die verwendete Java-Version kann man sich unter Win7 wie folgt anzeigen lassen: Start -> Ausführen -> cmd -> ok -> java -version -> mit Eingabetaste bestätigen
  • Durch den Einsatz von Traffic-Shaping kann evtl. ein besserer Upload bei gleichzeitigem Download erreicht werden.
  • Aktuellere Router-Firmware kann in manchen Fällen auch zu einer besseren Uploadauslastung führen, wenn z.B. mit der neueren Firmware mehr gleichzeitige Verbindungen möglich sind.
  • Achtet darauf, dass das Temp-Verzeichnis im Share nicht freigegeben worden ist, weil dies automatisch geshart wird. Sollte es doch freigegeben werden, so bricht die Shareüberprüfung ab, sobald das Temp-Verzeichnis gehasht (Prüfsummen für die Dateien werden gebildet) wird und alle nachfolgenden freigegebenen Verzeichnisse werden nicht mehr überprüft. Das Temp-Verzeichnis darf nur in den Optionseinstellungen angegeben werden.
  • Defekte Dateien in der Download-Queue können den Upload, sowie Download massiv behindern. Siehe: java.net.SocketException: Network is down oder ...Network is unreachable: connect 


Schlechte Downloadgeschwindigkeit!? 


Die Downloadgeschwindigkeit von AJ kann von sehr vielen verschiedenen Faktoren abhängen. Zusätzlich zu den Punkten unter Schlechte Uploadauslastung spielen folgende Faktoren eine Rolle:

  • Verteilung der gewünschten Datei (Quellenanzahl)
  • Auslastung der Quellen
  • Uploadbandbreite der Quellen
  • Anzahl der Uploadslots der Quellen
  • deinem Creditstand
  • der eingestellten Powerdownload-Ratio
  • bei der Core-Version 0.30.146.1203 muss in den AJ-Optionen die tatsächliche Downloadgeschwindigkeit eingetragen werden. Mit der Einstellung max. Downloadgeschwindigkeit=0 wird kein Download zustandekommen. 


Aus der Download-Queue verschwinden nicht abgeschlossene Downloads!? 


Entweder ist dies ein Anzeigefehler im GUI (GUI schliessen und nochmals öffnen) oder dieses Problem kann auftreten, wenn während eines Systemabsturzes der Core Daten in eine Datei aus dem Temp-Ordner geschrieben hat oder wenn der Core während eines Schreibvorgangs fehlerhaft beendet wurde.

Die durch den Core-Absturz defekten Downloads können nicht mehr in Applejuice eingebunden werden. Die einzige Möglichkeit um den Download beenden zu können wäre ein Tool wie RemoteFileSync. Mit diesem Programm ist es möglich, fehlende Dateiteile mit einem User auszutauschen, der die Datei bereits vollständig hat. Voraussetzung dafür ist natürlich, dass ihr mit diesem User Kontakt aufnehmen könnt. 


Firewalled-Meldung von AJ kommt trotz Freigabe des AJ-Ports!? 


Dies kann entweder passieren, wenn der AJ-Server überlastet oder fehlerhaft konfiguriert worden ist (passiert relativ selten), oder wenn nicht ausreichend Verbindungen aufgebaut werden können. Genauso verhält es sich bei DS-Lite Verträgen von bestimmten Providern, die leider nicht immer vorher richtig gelesen werden.


Probleme mit AJ Linkübernahme!? 


Siehe: URL-Handler

Bitte beachtet, dass AJ derzeit nur Dateien mit einer Grösse von max. 2,4 GB verwalten kann. Sonderzeichen und Umlaute werden seit Ende 2019 berücksichtigt.


System friert nach Beenden des Cores ein! 


Lösung: Deinstallation von bestimmten AV-Programmen oder VPN-Programmen. 


Verbindung zwischen Core + GUI wird getrennt!? 


Mögliche Ursachen:

  • Schlechte Firewall (manche Firewalls haben Probleme mit vielen gleichzeitigen Verbindungen)
  • Java-Version kann Probleme hervorrufen (veraltet/mehrere gleichzeitige Installationen)
  • Zu hoch eingestellte Verbindungsanzahl (insbesondere bei manchen Routern)
  • Das Servicepack 2 von Win7 kann den Verbindungsaufbau von AJ behindern. Lösung: Win7 SP1/Win8-Verbindungslimit erhöhen.
  • Zu hohe CPU-Auslastung. Siehe "Warum hat mein Rechner 100% CPU-Auslastung?"
  • Der Einsatz einer aktuellen GUI-Version kann die Wahrscheinlichkeit einer Core-Trennung minimieren. 


error logging into server: socket is not connected: connect (0)? 


Wird diese Meldung angezeigt, blockiert wahrscheinlich eine Firewall die Verbindung zum Server.
Lösung: Sicherheitsstufe der Firewall herabsetzen oder dem Core (java.exe oder javaw.exe) die Berechtigung zum Verbindungsaufbau in der Firewall erteilen. 


error logging into server: Socket operation on nonsocket: connect (0)? 


Wenn diese Meldung angezeigt wird, blockiert eine Firewall die Verbindung zum Server.
Lösung: Sicherheitsstufe der Firewall herabsetzen oder dem Core (java.exe oder javaw.exe) die Berechtigung zum Verbindungsaufbau in der Firewall erteilen. 


EXCEPTION_ACCESS_VIOLATION (0xc0000005) !? 


Wenn diese Meldung vom Core angezeigt wird, bzw. in der Log-Datei auftaucht, könnte dies möglicherweise auf defekten Speicher (mit Memtest86 testen) oder auf einen übertakteten Rechner hinweisen. Weitere Ursachen könnten eine zu stark fragmentierte Festplatte sein (Festplatte defragmentieren) oder eine defekte Festplatte. Einige User konnten dieses Problem mit dem deinstallieren der Java-Runtime-Environment und einer anschliessenden Neuinstallation beheben (in diesem Fall wurden wahrscheinlich zuvor Systemdateien von Java durch einen Absturz beschädigt). 


java.net.SocketException: Network is down oder ...Network is unreachable: connect !? 


Wenn diese Meldung angezeigt wird existieren vermutlich fehlerhafte Downloads in der Download-Queue. Symptome: Uploads und Downloads werden massiv gestört und beim Core-Start wird im Core-Fenster eine Core-Meldung mit Hinweis auf die beschädigte Datei gebracht.
Lösung: Fehlerhafte Downloads pausieren oder wenn dies nicht helfen sollte den fehlerhaften Download komplett aus dem Temp-Verzeichnis entfernen. 


java.net.SocketException: No buffer space available (maximum connections reached?) 


Diese Meldung deutet auf einen zu geringen Verbindungsaufbau hin. Ursache dafür kann der Einsatz eines veralteten Betriebssystems sein (z. B. WinXP/7/8) - in diesem Fall hilft ein aktuelleres Betriebssystem (empfohlen) oder man muss die max. Verbindungsanzahl in den AJ-Optionen auf 60 oder 75 reduzieren. 

 

 

 


RAM-Zuweisung 



Windows 


Zum Erhöhen der Speicherzuweisung geht man wie folgt vor:

Start - Alle Programme - Applejuice - Applejuice Client (Core) - rechte Maustaste - Eigenschaften - linke Maustaste - Ziel:....

Hier muss für 1024MB (default Wert) folgendes eingetragen werden:
javaw.exe -Xms512m -Xmx4g -jar "C:\Programme\appleJuice\Core\ajcore.jar"

 Speichererhoehung

Evtl. muss die Pfadangabe zum Core angepasst werden, wenn AJ in ein anderes Verzeichnis installiert wurde. Die Zahl hinter -Xmx gibt die maximale RAM-Größe für den Core an und kann bei Bedarf entsprechend verändert werden. Wichtig ist auch die Einheit hinter der Zahl (hier das m für MB od. g für GB), ohne die die Angabe als Wert in Bytes interpretiert wird. Bei einer 100MBit Anbindung ans Internet kann z.B. auch 4096MB (-Xmx4096m od. -Xmx4g) oder mehr sinnvoll sein.

Natürlich muss der zugewiesene Arbeitsspeicher auch im Rechner vorhanden sein, und für das Betriebssystem und andere Programme sollte auch noch etwas übrig bleiben. Bei der Schreibweise der Parameter ist es vollkommen egal, ob der Java-Parameter oder die Speicherzuweisung (Flag) als erstes geschrieben wird. Wichtig ist das setzen des Parameters. Es reicht vollkommen aus, wenn man nur den Maximalwert des Heap setzt. Wenn man aber nicht möchte, dass der Heap (dynamische Auslastung) unter einen bestimmten Wert fällt, sollte man dies begrenzen durch -Xms als minimale Heap-Größe.


Andere Betriebssystem 


Unter anderen Systemen wird der Core meistens sowieso direkt über java -jar ajcore.jar gestartet. Hier kann einfach der -Xmx Parameter eingefügt werden, wobei die gleichen Regeln wie unter Windows gelten.

also z.B: java -Xms512m -Xmx4096m -jar ajcore.jar

Falls der Core mit einem Startscript (z.B. /usr/local/bin/ajcore  oder  ~/bin/ajcore) gestartet wird, kann man dieses einfach mit einem Texteditor öffnen und den -Xmx Parameter an der entsprechenden Stelle einfügen und abspeichern.