🌐 Netzwerkeinrichtung
Bevor Ihr Server shreds empfangen kann, müssen Sie den richtigen Port öffnen und Ihre OS-Netzwerkpuffer konfigurieren. Das gilt für die UDP-Auslieferung — ob Sie einen eigenen UDP-Receiver oder den Client des Decoded Shred Stream betreiben. Die gRPC-Auslieferung (Decoded Shred Stream) ist eine ausgehende Verbindung: Es ist kein eingehender Port zu öffnen, nur das Buffer-Tuning bleibt hilfreich.
Sie nutzen den Client des Decoded Shred Stream? Der Client konfiguriert den Socket-Empfangspuffer automatisch. Die folgenden Schritte für Firewall und OS-Tuning müssen Sie dennoch durchführen.
🔒 Firewall-Konfiguration
Öffnen Sie den UDP-Port, den Sie bei ShredStream.com konfiguriert haben. Der genaue Befehl hängt von Ihrer Linux-Distribution ab.
🔹 UFW (Ubuntu / Debian)
sudo ufw allow 8001/udp
🔹 iptables
sudo iptables -A INPUT -p udp --dport 8001 -j ACCEPT
Um die Regel über Neustarts hinweg beizubehalten, speichern Sie sie mit iptables-save oder dem Persistenz-Mechanismus Ihrer Distribution (z. B. netfilter-persistent).
🔹 firewalld (CentOS / RHEL / Fedora)
sudo firewall-cmd --permanent --add-port=8001/udpsudo firewall-cmd --reload
Wenn Ihr Server hinter einer Security Group eines Cloud-Anbieters (AWS, GCP, Azure usw.) steht, müssen Sie den eingehenden UDP-Verkehr auf demselben Port auch in der Cloud-Konsole freigeben.
📐 UDP-Buffer-Tuning
Solana-Validatoren erzeugen shreds mit sehr hoher Rate. Der Standard-UDP-Empfangspuffer unter Linux beträgt typischerweise 256 KB -- das ist bei Weitem zu klein und führt unter Last zu Paketverlusten. Setzen Sie den Empfangspuffer auf mindestens 25 MB.
⚡ Sofort anwenden
# Linuxsudo sysctl -w net.core.rmem_max=26214400sudo sysctl -w net.core.rmem_default=26214400# macOSsudo sysctl -w kern.ipc.maxsockbuf=33554432
💾 Über Neustarts hinweg beibehalten
echo 'net.core.rmem_max=26214400' | sudo tee -a /etc/sysctl.confecho 'net.core.rmem_default=26214400' | sudo tee -a /etc/sysctl.conf
Dann überprüfen:
sysctl net.core.rmem_max net.core.rmem_default
Beide Werte sollten 26214400 anzeigen.
Das Auslassen des Buffer-Tunings ist die häufigste Ursache für fehlende shreds. Wenn Ihr Listener Lücken in den Daten meldet, überprüfen Sie zuerst Ihre Buffer-Einstellungen.
✅ Setup überprüfen
Sobald Ihr Listener läuft und Ihr Stream im ShredStream.com-Dashboard aktiv ist, sollten Sie innerhalb von Sekunden Ausgaben sehen.
Checkliste, wenn keine shreds ankommen:
- Dashboard-Status — Bestätigen Sie, dass Ihr Stream Aktiv anzeigt und die Verbindungs-IP sowie der Port mit Ihrem Server übereinstimmen.
- Firewall — Überprüfen Sie, dass der UDP-Port offen ist. Testen Sie von einem anderen Rechner aus mit
nc -u <your-ip> 8001. - Öffentliche IP — Stellen Sie sicher, dass Sie die öffentliche IPv4-Adresse Ihres Servers eingegeben haben, nicht eine private oder interne IP.
- Buffer-Größe — Führen Sie
sysctl net.core.rmem_maxaus, um zu bestätigen, dass der Buffer auf mindestens 26214400 gesetzt ist. - Listener-Binding — Stellen Sie sicher, dass Ihr Listener an
0.0.0.0(alle Interfaces) gebunden ist, nicht an127.0.0.1(nur localhost).
Wenn alles stimmt und Sie dennoch keine Daten empfangen, lesen Sie Fehlerbehebung oder wenden Sie sich an Discord.