2. 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 ;)
2.1. Fehler und Warnungen
- "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 ;)
2.2. 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? *g 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 *g
- "error logging into server: not enough in buffer"
- heisst ganz einfach dass der Server auf den du dich gerade verbinden willst voll ist.
3. Was hat es mit dem 2GB Limit auf sich?
Limit
, sondern ein Bug
.
AJ wurde zu einer Zeit programmiert, wo 64Bit Betriebssysteme noch nicht weit verbreitet waren und auch die Dateigrößen noch relativ klein waren (meist unter 1GB).
Das Problem ist daher die Umsetzung, wie AJ intern mit Zahlen wie bspw. Größenangaben umgeht.
Diese werden an den meisten Stellen noch als Java Datentyp int
behandelt,
was einem Maximum von 2,147,483,647
Bytes entspricht (2GB).
Leider wird nur beim einlesen von Dateien (sharecheck
) der eigentlich benötigte Datentyp long
verwendet was einem Maximum von 9,223,372,036,854,775,807
Bytes
entspricht.
Es reicht jedoch nicht, nur im Core den Datentyp von int
auf long
zu korrigieren.
Die Größenangaben werden ebenfalls an die Server von AJ übermittelt, somit müss(t)en auch diese angepasst werden.
6. 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 .. liegen auch manchmal noch im Temp Ordner wenn es Probleme beim Kopieren in den Incoming Ordner gab. Einfach manuell in den Incoming Ordner kopieren.
7. Warum ist der Core nicht Open Source?
Der Core ist kein Open Source weil sich sonst das Credit-System zu einfach abschalten ließe.
8. Was hat es mit Core 0.32.101.02 auf sich?
Der Core 0.32.101.02
war der letzte Beta-Core von muhviehstar
,
welcher es aber nie an die Öffentlichkeit geschafft hat.
Welche Änderungen es gab oder ob dieser jemals wieder auftaucht ist ungewiss.
9. In welcher Sprache ist der Core geschrieben?
Der appleJuice Core ist in Java geschrieben.
10. Wer hat den appleJuice Core programmiert?
muhviehstarr
11. Wird am Core noch weiter entwickelt?
- Kurz: Nein
- Der original Quellcode liegt leider nur veraltet als auch unvollständig vor
- Der vorliegende Quellcode vom Server ist noch älter, dieser müsste neu Entwickelt werden