2. Core Meldungen
Der Core gibt im laufenden Betrieb ständig Meldungen aus, die man fast immer ignorieren kann, solange alles läuft. Folgende Meldungen sind bekannt:
2.1. Error in shareidx.xml found. Hashing skipped.
- Meldung:
Error in shareidx.xml found. Hashing skipped. - Problem: Kein Upload und/oder kein Download
- Ursache: Die
shareidx.xmlist beschädigt und kann nicht gelesen werden - Lösung:
- beende den Core
- lösche die Datei
shareidx.xml, siehe Punkt 11 - starte den Core erneut
shareidx.xml kann mit einem Texteditor auch manuell korrigiert
werden.
2.2. error starting tcpserver: Address already in use
- Meldung:
error starting tcpserver: Address already in use - Problem: Core startet nicht
- Ursache: Einer oder beide konfigurierten Ports des Cores sind bereits in Verwendung
- Lösung:
- prüfe über einen
TaskManagerob der Core (noch) läuft - starte deinen Computer neu
- lösche die
settings.xmlKonfiguration, siehe Punkt 11
- prüfe über einen
2.3. java.io.IOException: invalid data
- Meldung:
java.io.IOException: invalid data - Ursache: Fehler im Dateisystem (ggf auch im RAM)
- Problem: Core hängt sich dabei im Regelfall auf und lädt nichts mehr.
- Lösung:
- Die Laufwerke auf welchem sich der Share befindet auf Fehler überprüfen lassen
- Arbeitsspeicher überprüfen, z.B. mit Memtest86
2.4. temp seems to be temp. sharechecking skipped.
- Meldung:
temp seems to be temp. sharechecking skipped. - Problem: kein Upload und kein Download
- Ursache: Das
Temp-Verzeichnis wurde zusätzlich als Freigabe hinzugefügt - Lösung: Entferne das
Temp-Verzeichnis aus den Freigaben
2.5. you have to wait 30 minutes until relogin
- Meldung:
you have to wait 30 minutes until relogin - Problem: Serverlogin nicht möglich
- Ursache: zu viele Serverwechsel in kurzer Zeit.
- Lösung: 30 Minuten warten oder den Core neustarten
2.6. found defect part in xx.data
- Meldung:
found defect part in xx.data - Problem: sehr wahrscheinlich keins
- Ursache: Übertragungsproblem
- Lösung: keine. Der Chunk wurde vom Core verworfen und wird neu geladen
2.7. error while reading file XY.xx
- Meldung:
error while reading file XY.xx - Problem: Die Datei wird nicht mehr geshared
- Ursache: Die Datei wurde verschoben oder umbenannt während der Core noch lief
- Lösung: Der Core
mussmit aller Gewissheit neu gestartet werden
2.8. tempdir lies under incomingdir
- Meldung:
tempdir lies under incomingdir. please change - Problem: Kein Upload und kein Download
- Ursache: Das
Temp-Verzeichnis wurde unterhalb des Incoming-Ordners angegeben - Lösung: Konfiguriere das
Temp-Verzeichnis außerhalb desIncoming-Verzeichnisses
2.9. incomingdir lies under tempdir
- Meldung:
incomingdir lies under tempdir. please change - Problem: Kein Upload und kein Download
- Ursache: Das
Incoming-Verzeichnis wurde unterhalb des Temp-Ordners angegeben - Lösung: Konfiguriere das
Incoming-Verzeichnis außerhalb desTemp-Verzeichnisses
2.10. Please change your nickname
- Meldung:
Please change your nickname - Ursache: Dein konfigurierter
Nicknameenthält oder beginnt mitnonick - Lösung: Ändere deinen
Nickname
2.11. serverlogin not available
- Meldung:
serverlogin not available - Ursache: Die Ursache steht immer über dieser Fehlermeldung, zum Beispiel:
Serverversion is too old. |
Der Server ist für deinen Core zu alt. |
Version was blocked. |
Der Server hat deine Core-Version gesperrt. Aktualisiere den Core. |
server is full. |
Der Server ist voll. Der Core versucht einen anderen Server. |
unkown error (N) while serverlogin |
Unbekannter Fehlercode N beim Login. |
2.12. failure: incorrect link
- Meldung:
failure: incorrect link - Problem: Der
ajfsp-Link wird nicht vom Core übernommen - Ursache: Der Link ist defekt
- Lösung: Probiere als Gegentest einen anderen Link
2.13. incoming directory does not exists
- Meldung:
incoming directory does not exists - Ursache: Der eingestellte Incoming-Ordner konnte nicht angelegt werden
- Lösung: Ändere den
Incoming-Ordner oder erstelle ihn manuell
2.14. temporary directory does not exists
- Meldung:
temporary directory does not exists - Ursache: Der eingestellte Temp-Ordner konnte nicht angelegt werden
- Lösung: Ändere den
Temp-Ordner oder erstelle ihn manuell
2.15. cannot create "Ordner"
- Meldung:
cannot create "Ordner" - Ursache: fehlende Berechtigungen
- Lösung: erstelle den erwähnten Ordner manuell oder korrigiere die Berechtigungen
2.16. error logging into server
- Meldung:
error logging into server: … (Stage) - Problem: Der Login bei diesem Server ist fehlgeschlagen
- Ursache: Die Verbindung zum Server wurde während des Logins unterbrochen. Der Text in Klammern nennt den Schritt, bei dem es passiert ist.
- Lösung: Meist keine nötig. Erscheint danach
logged in, ist der Core mit einem Server verbunden.
2.17. error starting httpserver
- Meldung:
error starting httpserver: … - Problem: Die GUI kann sich nicht mit dem Core verbinden
- Ursache: Der konfigurierte
XML-Portdes Cores ist bereits in Verwendung - Lösung:
- prüfe, ob der Core bereits läuft
- wähle einen anderen
XML-Port(settings.xml, siehe Punkt 11)
2.18. error creating file / error while writing
- Meldung:
error creating file …error while writing …
- Problem: Die Datei im Temp-Ordner kann nicht angelegt oder beschrieben werden, der Download kommt nicht voran
- mögliche Ursachen:
- Festplatte voll
- fehlende Schreibrechte im Temp-Ordner
- defekter Datenträger
- Lösung: Schaffe freien Speicherplatz, korrigiere die Berechtigungen oder verschiebe den Temp-Ordner auf einen anderen Datenträger
2.19. error completing download
- Meldung:
error completing download: … - Problem: Der Download kann nicht fertiggestellt werden und wird pausiert
- mögliche Ursachen:
No space left on device: Im Incoming-Ordner fehlt freier Speicherplatz. Beim Fertigstellen wird die Datei kopiert, bevor die Temp-Datei gelöscht wird. Ein Download mit 120 GB braucht daher zusätzlich etwa 120 GB freien Platz im Ziel, auch auf demselben Datenträger.AccessDeniedException: fehlende Zugriffsrechtedownload data size mismatch: Die Größe der Temp-Datei stimmt nicht mit der erwarteten Downloadgröße überein.cannot save completion record: Die Informationen zum Fertigstellen können nicht im Temp-Ordner gespeichert werden.
- Lösung: Prüfe die vollständige Fehlermeldung hinter dem Doppelpunkt. Schaffe ausreichend freien Speicherplatz oder korrigiere die Zugriffsrechte und setze den Download anschließend fort.
2.20. error while replacing … .xml
- Meldung:
error while replacing settings.xml, the new settings stay in settings.xml.new(ebenso fürshareinfo.xml,server.xmlundshareidx.xml) - Problem: Änderungen konnten nicht in die eigentliche Datei gespeichert werden, sie liegen in der Datei mit der Endung
.new - mögliche Ursache: fehlende Schreibrechte im Konfigurationsordner, siehe Punkt 11
- Lösung: Der Benutzer, unter dem der Core läuft, braucht Schreibrechte für den Konfigurationsordner. Korrigiere sie und starte den Core neu.
3. Core Befehle
Die Steuerung von AJ findet hauptsächlich über das GUI statt. Hier nun die (wenigen) Befehle, die man im Core eingeben kann:
help |
listet die möglichen Corebefehle 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 |
stopsharecheck |
Bricht eine laufende Shareüberprüfung ab |
exit |
selbsterklärend ;) mit diesem Befehl wird der Core beendet |
4. Core pausieren
Der Core kann nicht ohne weiteres pausiert werden, es gibt jedoch andere Möglichkeiten:
Allgemein |
alle Downloads pausieren und Upload auf ein Minimum reduzieren |
Windows |
mit dem Process Explorer die javaw.exe des Core auf suspend setzen
|
Linux |
Pausieren: pkill -STOP -f ajcore
∣
Fortsetzen: pkill -CONT -f ajcore
|
macOS |
Pausieren: pkill -STOP -f AJCore
∣
Fortsetzen: pkill -CONT -f AJCore
|
Docker |
Pausieren: docker pause ajcore
∣
Fortsetzen: docker unpause ajcore
|
5. Warum ist der Core nicht Open Source?
Der Core ist nicht Open Source, weil sich sonst das Credit-System zu einfach abschalten ließe.
6. In welcher Sprache ist der Core geschrieben?
Der appleJuice Core ist in Java geschrieben.
7. Wer hat das appleJuice P2P mal programmiert?
Der Urheber war 2002 eine Person mit dem Pseudonym muhviehstar
8. Download wechselt selbstständig auf Pause
- Problem: Download wechselt selbstständig auf Pause
- mögliche Ursachen:
- automatischen Powerdownload im JavaGUI eingeschaltet.
- Credits sind deutlich unter 20 MB
- Festplatte ist voll
- defekter Datenträger
- mögliche Lösung:
- schalte den automatischen
Powerdownloadim JavaGUI ab - Downloads pausieren bis genug Credits angesammelt wurden
incomingVerzeichnis auf Datenträger mit mehr Platz verschieben- vom Betriebssystem den betroffenen Datenträger überprüfen lassen
- schalte den automatischen
9. Datei wird immer wieder gehashed
- Problem: Datei oder Ordner wird immer und immer wieder neu eingelesen
- Mögliche Ursachen:
- versteckte Sonderzeichen wie z. B. Gedankenstrich
—statt Bindestrich- - Core wurde nicht richtig beendet
- fehlende Berechtigungen im Konfigurationsordner
- versteckte Sonderzeichen wie z. B. Gedankenstrich
- Mögliche Lösung:
- Benenne die Datei bzw. den Ordner um und entferne zum Testen etwaige Sonderzeichen
- beende den Core über ein GUI oder mit
exit - der Benutzer, unter dem der Core läuft, muss Schreibrechte für den Konfigurationsordner haben
10. Kann ich den Core beim Hashen beenden?
Ja, sofern der Core ordnungsgemäß mit exit bzw über ein GUI beendet wird.
Das Beenden des Core dauert dann jedoch bis zu 15 Minuten.
11. Wo liegen die Konfigurationen?
Die Konfiguration (siehe Punkt 12) besteht aus .xml Dateien und liegt an folgendem Ort:
Windows |
C:\Benutzer\%USERNAME%\appleJuice\ |
|
Linux |
~/appleJuice/ bzw. /home/$USER/appleJuice/ |
|
macOS |
~/appleJuice/ bzw. /Users/$USER/appleJuice/ |
|
Docker |
im Container Volume /config/ im Unterordner appleJuice/ |
12. Die Core-Konfigurationsdateien
Folgende Core-Konfigurationsdateien befinden sich in dem in Punkt 11 genannten Verzeichnis:
settings.xml |
Einstellungen wie TCP-Port, XML-Port, Up- und Download-Geschwindigkeit und mehr |
shareinfo.xml |
Enthält die Pfade und konfigurierten Prioritäten der freigegebenen Dateien |
shareidx.xml |
Enthält die Hashwerte (Prüfsummen) der Share-Dateien, welche in der shareinfo.xml referenziert sind (kann mehrere GB groß werden!) |
server.xml |
Enthält die Liste der bekannten Server |
13. Welchen Port muss ich im Router freigeben?
Der Core-Port muss vom Typ TCP in deinem Router freigegeben werden.
- Anleitungen:
14. Der Core ist abgestürzt, wo finde ich die hs_err_pid Datei?
Stürzt die Java Laufzeit (JVM) selbst ab, schreibt sie eine Fehlerdatei mit dem Namen
hs_err_pid<PID>.log. <PID> ist die Prozess-ID des abgestürzten Core.
Diese Datei hilft bei der Fehlersuche und sollte jedem Fehlerbericht angehängt werden.
Windows |
C:\Benutzer\%USERNAME%\appleJuice\ |
|
Linux |
~/appleJuice/ bzw. /home/$USER/appleJuice/ |
|
macOS |
~/appleJuice/ bzw. /Users/$USER/appleJuice/ |
|
Docker |
im Container Volume /config/ im Unterordner appleJuice/ |
|
Windows (Portable) |
im Ordner appleJuice\ neben den Ordnern Core und GUI |