Server – die neusten Beiträge

Wie muss ein Pingscript zu Fehlererkennung unter Linux aussehen, das bei Systemstart gestartet wird und ein Log schreibt?

Moin an alle,

ich habe da so ein kleines Projekt vor:
Da unser DSL ab und an aussetzt, da wir - so meine Vermutung - zu wenig Netzwerktraffic erzeugen (es scheint sich zumindest teils zu stabilisieren, wenn man dauerhaft sekündich Pings an Google sendet) und diese DSL-Fehler - so zumindest meine Vermutung - dann auf Dauer auch teils die Fritzbox zum Durchdrehen bringen, würde ich gerne zwei Raspberry Pis der ersten Generation mit Ubuntu bespielen und auf jedem ein Skript mit folgenden Anforderungen laufen lassen:

  • Startet automatisch bei Systemstart.
  • Pingt jede Sekunde eine IP-Adresse oder URL an (über eine Variable des Skripts festlegbar).
  • Dokumentierten jeden Pingfehler (Paket verloren, nicht erreichbar, etc.) in eine ".txt"-Datei.
  • Speichert die ".txt"-Datei mindestens einmal täglich zu einer bestimmten End-Uhrzeit, zu der auch das Skript pausiert wird (Zeit über eine Variable im 24h-Format festlegbar oder via Ubuntu regelbar?).
  • Beginnt eine neue ".txt"-Datei täglich zu einer bestimmten Anfangs-Uhrzeit, zu der auch das Skript neu gestartet wird (Zeit über eine Variable im 24h-Format festlegbar oder via Ubuntu regelbar?).
  • Name der ".txt"-Datei bzw. deren Namensschema am besten per Variable festlegbar.

Der eine Raspberry Pi soll an der Fritzbox direkt angeschlossen werden und die Fritzbox und "Google.de" anpingen (je eine eigene Instanz des Skripts mit je eigenen ".txt"-Logs).
Der andere Raspberry Pi soll am entferntesten Punkt im Netzwerk angeschlossen werden und "Google.de" und den ersten Raspberry Pi anpingen (je eine eigene Instanz des Skripts mit je eigenen ".txt"-Logs).

Ich erhoffe mir damit eine Übersicht der Ausfälle der DSL-Verbindung und der Spinnereinen der Fritzbox.
Die Netzwerkaussetzer sollen dann an den Internetanbieter gesendet werden. Der Rest dient als Nachweis ob die DSL-Aussetzer und die Aussetzer der Fritzbox wirklich zusammen hängen, wie ich das vermute.

Die Fritzbox mit samt Switches, Accesspoints, etc. lasse ich zudem ab sofort über Wochen-Zeitschaltuhren einmal täglch komplett rebooten, in der Hoffnung, dass das ein wenig Abhilfe schafft.

Ich hoffe Ihr könnt mir helfen, da ich leider keine Ahnung habe, wie ich das anstellen soll.
Ich habe zwar das hier für Windows gefunden, doch der Blogautor konnte mir bei Linux auch nicht weiterhelfen:
https://www.andysblog.de/windows-dauerping-mit-protokollierung-von-fehlern

Schonmal danke an alle Tipps und Hilfestellungen!

Server, Internet, WLAN, Internetverbindung, Programm, Netzwerk, IT, programmieren, DSL, FRITZ!Box, Informatik, IP-Adresse, LAN, Logik, Netzwerktechnik, Netzwerkverbindung, Programmiersprache, Router, skript, WLAN-Router, Ping, Repeater, LAN-Kabel, WLAN-Repeater, Raspberry Pi, Raspberry, Pinger

Wie behebe ich die Fehlermeldung beim starten des fabric Servers?

Beim starten der Start.bat Datei für den Minecraft Fabric server bekomme ich diese Fehlermeldung:

Uncaught exception in thread "main"

java.lang.RuntimeException: An exception occurred when launching the server!

at net.fabricmc.loader.impl.launch.server.FabricServerLauncher.main(FabricServerLauncher.java:71)

at net.fabricmc.installer.ServerLauncher.main(ServerLauncher.java:69)

Caused by: java.lang.RuntimeException: Error invoking MC server bundler: java.lang.UnsupportedClassVersionError: net/minecraft/bundler/Main has been compiled by a more recent version of the Java Runtime (class file version 65.0), this version of the Java Runtime only recognizes class file versions up to 52.0

at net.fabricmc.loader.impl.game.minecraft.BundlerProcessor.process(BundlerProcessor.java:102)

at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.locateGame(MinecraftGameProvider.java:193)

at net.fabricmc.loader.impl.launch.knot.Knot.createGameProvider(Knot.java:175)

at net.fabricmc.loader.impl.launch.knot.Knot.init(Knot.java:130)

at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:68)

at net.fabricmc.loader.impl.launch.knot.KnotServer.main(KnotServer.java:23)

at net.fabricmc.loader.impl.launch.server.FabricServerLauncher.main(FabricServerLauncher.java:69)

... 1 more

Caused by: java.lang.UnsupportedClassVersionError: net/minecraft/bundler/Main has been compiled by a more recent version of the Java Runtime (class file version 65.0), this version of the Java Runtime only recognizes class file versions up to 52.0

at java.lang.ClassLoader.defineClass1(Native Method)

at java.lang.ClassLoader.defineClass(Unknown Source)

at java.lang.ClassLoader.defineClass(Unknown Source)

at net.fabricmc.loader.impl.game.minecraft.BundlerProcessor$1.loadClass(BundlerProcessor.java:65)

at java.lang.ClassLoader.loadClass(Unknown Source)

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Unknown Source)

at net.fabricmc.loader.impl.game.minecraft.BundlerProcessor.process(BundlerProcessor.java:85)

... 7 more

kann mir jemand helfen es zu beheben?

Bild zum Beitrag
Server, Mods, Java, Minecraft, Code, Minecraft Server, Serverprobleme, Bukkit, Forge, Spigot, fabric

Wie kann ich eine Dynamische IP Adresse richtig einrichten?

Hallo,

Ich würde gerne einen Minecraft Server erstellen, welcher bei mir zuhause gehostet wird und ich möchte ihn auch über eine Domain erreichbar machen und habe auch schon eine domain erworben bei Cloudflare.

Der Server(Betriebssystem is Linux Debian) ist erreichbar aber nur von meinem Heimnetzwerk und nun möchte ich ihn auch von öffentlich erreichbar machen aber das ist etwas schwieriger da ich eine Dynamische Heimnetzwerk IP Adresse habe und da komme ich nicht mehr weiter denn ich versuche seit Wochen oder sogar Monaten ihn öffentlich Erreichbar zu machen.

Die Dynamische Heimnetzwerk IP Adresse muss ja immer wieder Aktualisiert werden wenn eine sie wechselt und das wollte ich mit ddclient machen.

Ein ddclient file wird bei Dynamic DNS verwendet. DDNS ist ein Dienst mit welchem man einen Domainnamen wie in meinem Fall xevex.net automatisch mit der sich ändernden IP Adresse des Geräts synchronisiert, das nicht über eine statische IP Adresse verfügt, wie es oft bei Heimnetzwerken der Fall ist.

Gut nun habe ich auf Cloudflare so ein Anmeldetoken erstellt damit das Aktualisieren von DNS Einträgen bei dynamischen IPs möglich ist.

Ich habe die Ports 25565 schon freigegeben aber halt das mit Cloudflare funktioniert einfach nicht und da benötige ich Hilfe.

Ich habe auch schon testweise den Befehl ausgeführt (bevor ich ihn in das ddclient file schreibe)

wie finde ich die record ID heraus

Dafür benötige ich die Zone_ID und die Record ID und das API Token was ich erstellt habe für den zugriff auf Cloudflare. Mit diesem Befehl habe ich die record ID herausfinden wollen und scheint eigentlich auch erfolgreich zu sein:

curl -X GET "https://api.cloudflare.com/client/v4/zones/ZONE_ID/dns_records?name=xevex.net" \
-H "Authorization: Bearer MEIN_API_TOKEN" \
-H "Content-Type: application/json"

da kommt dann diese Ausgabe. Mit schwarz habe ich immer die Zonen ID übermalt und ich nehme an das erste ist die Record id?

Oder welches hier ist genau die Record id also welche farbe heissen alle einfach id 😭

Nun wenn ich die record id habe kann ich den Befehl doch testweise in der Konsole von meinem Server ausführen und zwar so oder:
curl -s -X PUT "https://api.cloudflare.com/client/v4/zones/ZONE_ID/dns_records/RECORD_ID" \
 -H "Authorization: Bearer MEIN_API_TOKEN" \
 -H "Content-Type: application/json" \
 --data '{"type": "A", "name": "xevex.net", "content": "192.168.0.5", "ttl": 3600, "proxied": false}' 

ändert sich die Record id eigentlich? Weil ich meinte gestern habe ich eine andere Record ID rausbekommen also die erste ID in der Ausgabe auf Bild 2 war gestern eine andere als ich heute bekommen habe.

Wenn ich den Befehl oben ausführe in meinem Server bekomme ich diese Ausgabe:

Es scheint die Record ID falsch zu sein sehe ich das richtig oder was heisst Record does not exist genau?

Wenn dieser Befehl dann funktionieren sollte muss ich das so in mein ddclient file reinschreiben und ich glaube das sollte so aussehen im file oder was vergessen? (# sind ja nur für Notiz):
 # ddclient.conf für Cloudflare

 

daemon=300                     # Prüft alle 300 Sekunden
syslog=yes                      # Protokollierung aktivieren
ssl=yes                         # HTTPS-Verbindungen verwenden

 

use=web, web=dyndns             # Meine aktuelle öffentliche IP abrufen
protocol=cloudflare             # Cloudflare als DDNS-Anbieter
zone=xevex.net                  # Mein Domainname
login=<Meine Cloudflare-Account-E-Mail> 
password=<Mein Cloudflare-API-Token>  # API-Token von Cloudflare
xevex.net                        
Bild zum Beitrag
Server, Linux, IP, Gaming, Minecraft, Domain, IP-Adresse, Minecraft Server, Konfiguration, DNS FEHLER, cloudflare, Minecraft Java Edition, Minecraft Java Server

Meistgelesene Beiträge zum Thema Server