[{"data":1,"prerenderedAt":985},["ShallowReactive",2],{"\u002Fde\u002Fguides\u002Fnethernet-https-ios-ipados\u002F":3,"guides:de":796,"published-guide-paths":955},{"id":4,"title":5,"author":6,"body":7,"category":755,"date":756,"description":757,"excerpt":758,"extension":759,"faq":760,"featured":770,"featuredOrder":758,"indexOrder":771,"localeGroup":772,"meta":773,"navigation":774,"path":775,"primaryTool":776,"published":774,"related":777,"seo":781,"slug":772,"sources":782,"stem":794,"updated":756,"__hash__":795},"guides\u002Fde\u002Fguides\u002F29.nethernet-https-ios-ipados.md","NetherNet auf iPhone und iPad: HTTPS für BDS und Geyser","setupmc.com Team",{"type":8,"value":9,"toc":737},"minimark",[10,15,43,56,78,82,85,128,131,141,144,152,177,180,184,251,258,262,274,284,287,291,298,306,315,319,330,336,345,353,367,378,382,393,400,406,420,427,433,443,453,457,462,470,473,476,482,485,489,497,506,530,534,546,561,564,568,571,577,599,669,676,680,685],[11,12,14],"h2",{"id":13},"windows-verbindet-sich-aber-iphone-oder-ipad-nicht","Windows verbindet sich, aber iPhone oder iPad nicht",[16,17,18,19,23,24,27,28,31,32,37,38,42],"p",{},"Notiere die vollständige Fehlermeldung, Clientversion, Serverbuild und ob du über WLAN, Mobilfunk oder VPN testest. ",[20,21,22],"code",{},"InitialConnection-13",", ",[20,25,26],{},"Door"," und ",[20,29,30],{},"NetherNet"," allein belegen kein Zertifikatsproblem. Prüfe zuerst die Einrichtung für ",[33,34,36],"a",{"href":35},"\u002Fde\u002Fguides\u002Fnethernet-bedrock-server\u002F","Vanilla-BDS"," oder ",[33,39,41],{"href":40},"\u002Fde\u002Fguides\u002Fnethernet-geyser\u002F","Geyser",".",[16,44,45,49,50,42],{},[46,47,48],"strong",{},"Dokumentiert:"," NetherNet trennt HTTP-\u002FHTTPS-Signaling vom UDP-Spielverkehr. TLS schützt das Signaling; es ersetzt den UDP-Weg nicht. Mojang dokumentiert HTTP-Signaling. Daraus folgt keine allgemeine HTTPS-Pflicht für alle iOS- und iPadOS-Versionen. Siehe die ",[33,51,55],{"href":52,"rel":53},"https:\u002F\u002Fmojang.github.io\u002Fbedrock-protocol-docs\u002Fguides\u002Fnether-net-onboarding-guide\u002F",[54],"nofollow","Protokolldokumentation",[16,57,58,61,62,67,68,73,74,77],{},[46,59,60],{},"Berichteter Workaround:"," In ",[33,63,66],{"href":64,"rel":65},"https:\u002F\u002Fbugs.mojang.com\u002Fbrowse\u002FBDS-23108",[54],"BDS-23108"," scheiterte ein iOS-26.52-Client an BDS 1.26.52.3 über direktes HTTP und konnte über HTTPS bei unverändertem Spielendpunkt beitreten. Der Test änderte auch Signaling-Hostname und Netzwerkpfad und isoliert daher die Ursache nicht. ",[33,69,72],{"href":70,"rel":71},"https:\u002F\u002Fgithub.com\u002Fitzg\u002Fdocker-minecraft-bedrock-server\u002Fissues\u002F680",[54],"itzg #680",", am ",[46,75,76],{},"29. Oktober 2026"," weiterhin offen, meldet TLS-Alert 40 auf ARM64\u002FBox64 mit BDS 1.26.51.1 und iOS 26.51. Diese Berichte belegen nicht denselben Fehler bei jedem 26.60-Client.",[11,79,81],{"id":80},"öffentliche-ip-ohne-gemieteten-server-finden","Öffentliche IP ohne gemieteten Server finden",[16,83,84],{},"Betreibst du Minecraft auf deinem PC oder NAS zu Hause, brauchst du keinen gemieteten Server für eine öffentliche IP: Entscheidend ist dein Internetanschluss. Wenn du nur auf einem fremden Server spielen möchtest, brauchst du dessen Beitrittsadresse vom Betreiber, nicht deine eigene IP.",[86,87,88,102,125],"ol",{},[89,90,91,92,95,96,101],"li",{},"Öffne auf einem Gerät im ",[46,93,94],{},"gleichen Heimnetz wie der Minecraft-Rechner"," die ",[33,97,100],{"href":98,"rel":99},"https:\u002F\u002Fapi.ipify.org",[54],"IPv4-Anzeige von ipify",". Nutze für diesen Vergleich keinen VPN-\u002FProxy-Ausgang und keinen Mobilfunk-Hotspot. Die angezeigte Adresse ist die vom Dienst gesehene Ausgangs-IPv4.",[89,103,104,105,108,109,112,113,116,117,120,121,124],{},"Vergleiche sie mit der ",[46,106,107],{},"WAN-\u002FInternet-IPv4 im Router",". Bei einer FRITZ!Box findest du sie unter ",[46,110,111],{},"Internet → Online-Monitor",", je nach FRITZ!OS unter ",[46,114,115],{},"Verbindungsdetails",". Die LAN-Adresse deines PCs aus ",[20,118,119],{},"ipconfig",", etwa ",[20,122,123],{},"192.168.178.20",", ist nicht diese Adresse.",[89,126,127],{},"Stimmen beide überein und ist die Router-Adresse öffentlich, kannst du sie für die IPv4-Beispiele verwenden. Richte anschließend die passenden TCP-\u002FUDP-Weiterleitungen ein und teste einen vollständigen Beitritt von außerhalb.",[16,129,130],{},"Alternativ auf Linux\u002FmacOS oder in einer Shell mit curl:",[132,133,139],"pre",{"className":134,"code":136,"language":137,"meta":138},[135],"language-bash","curl -4 --fail --max-time 10 https:\u002F\u002Fapi.ipify.org\n","bash","",[20,140,136],{"__ignoreMap":138},[16,142,143],{},"Unter Windows PowerShell funktioniert auch:",[132,145,150],{"className":146,"code":148,"language":149,"meta":138},[147],"language-powershell","Invoke-RestMethod -Uri 'https:\u002F\u002Fapi.ipify.org'\n","powershell",[20,151,148],{"__ignoreMap":138},[16,153,154,157,158,161,162,23,165,27,168,171,172,42],{},[46,155,156],{},"Eine angezeigte IP beweist keine Erreichbarkeit."," Weichen die Adressen ab, können ein weiterer Router, VPN oder Provider-NAT dazwischenliegen. Eine Router-WAN-Adresse aus ",[20,159,160],{},"100.64.0.0–100.127.255.255"," weist auf CGNAT hin; private Bereiche wie ",[20,163,164],{},"10.x.x.x",[20,166,167],{},"172.16.x.x–172.31.x.x",[20,169,170],{},"192.168.x.x"," sind ebenfalls keine öffentliche IPv4. Bei DS-Lite fehlt häufig eine eigene öffentliche IPv4. Kläre beim Anbieter eine eingehend erreichbare Adresse oder nutze einen passenden Tunnel-\u002FIPv6-Weg. Siehe die ",[33,173,176],{"href":174,"rel":175},"https:\u002F\u002Ffritz.com\u002Fapps\u002Fknowledge-base\u002FFRITZ-Box-7490\u002F1089_Adressbereich-der-IPv4-Adresse-der-Internetverbindung-bestimmen",[54],"Router-Diagnose von FRITZ!",[16,178,179],{},"Bei wechselnder öffentlicher IP aktualisierst du DNS beziehungsweise DDNS und die angekündigte UDP-Adresse. Ein Hostname allein aktualisiert keine fest eingetragene IP in der Serverkonfiguration. Die öffentliche IPv6 eines anderen Geräts oder die WAN-IPv6 des Routers ist nicht automatisch die richtige IPv6 des Minecraft-Rechners. Bei Hosting oder Tunneln verwendest du die vom Anbieter zugewiesenen Endpunkte statt der IP deines Heimanschlusses.",[11,181,183],{"id":182},"den-passenden-https-weg-wählen","Den passenden HTTPS-Weg wählen",[185,186,187,203],"table",{},[188,189,190],"thead",{},[191,192,193,197,200],"tr",{},[194,195,196],"th",{},"Einrichtung",[194,198,199],{},"Geeigneter Weg",[194,201,202],{},"Was zusätzlich nötig bleibt",[204,205,206,218,229,240],"tbody",{},[191,207,208,212,215],{},[209,210,211],"td",{},"Geyser mit Zertifikatsdateien",[209,213,214],{},"Eingebautes HTTPS",[209,216,217],{},"Erreichbares Spiel-UDP und Zertifikatserneuerung",[191,219,220,223,226],{},[209,221,222],{},"Selbst betriebenes Geyser oder BDS",[209,224,225],{},"HTTPS-Reverse-Proxy vor dem Signaling",[209,227,228],{},"Richtiges Weiterleitungsziel, Zertifikatsname und separater UDP-Weg",[191,230,231,234,237],{},[209,232,233],{},"Geyser mit Warden",[209,235,236],{},"Externes HTTPS-Signaling",[209,238,239],{},"Funktionierende Spielverbindung; tatsächlichen Beitritt testen",[191,241,242,245,248],{},[209,243,244],{},"Private Tailscale-Gruppe",[209,246,247],{},"Tailnet-Verbindung, optional ts.net-Zertifikat",[209,249,250],{},"Spieler benötigen Zugriff auf Tailnet und angekündigtes Spielziel",[16,252,253,254,257],{},"Die folgenden Beispiele verwenden ein Domain-Zertifikat: Spieler tragen ",[20,255,256],{},"play.example.com"," ein, nicht die Server-IP. Richte deren DNS-Einträge auf den HTTPS-Endpunkt. Veröffentliche einen AAAA-Eintrag nur bei funktionierendem IPv6-Weg.",[11,259,261],{"id":260},"was-caddy-hier-übernimmt","Was Caddy hier übernimmt",[16,263,264,269,270,273],{},[33,265,268],{"href":266,"rel":267},"https:\u002F\u002Fcaddyserver.com\u002Fdocs\u002Fquick-starts\u002Freverse-proxy",[54],"Caddy"," ist ein Webserver, der hier als ",[46,271,272],{},"Reverse Proxy"," arbeitet: Er nimmt die HTTPS-Anfrage des Spiels entgegen und leitet sie intern per HTTP an Geyser oder BDS weiter. Den UDP-Spielverkehr verbinden die Clients weiterhin direkt mit dem Minecraft-Server.",[16,275,276,277,280,281,42],{},"Caddy kann das Zertifikat für deinen Hostnamen automatisch beschaffen und erneuern. Dafür müssen die Domain und die Zertifikatsprüfung wie unten beschrieben eingerichtet sein. Du installierst Caddy als eigenen Dienst auf dem Serverrechner; Spieler installieren nichts zusätzlich. Die ",[46,278,279],{},"Caddyfile"," ist seine Konfigurationsdatei, bei der Linux-Paketinstallation üblicherweise ",[20,282,283],{},"\u002Fetc\u002Fcaddy\u002FCaddyfile",[16,285,286],{},"Wähle einen HTTPS-Weg: Hast du bereits Zertifikatsdateien für Geyser, verwende den nächsten Abschnitt. Soll Caddy die Zertifikate verwalten, folge dem Caddy-Beispiel für Geyser oder BDS. Nutzt du Geyser mit Warden, übernimmt Warden das HTTPS-Signaling; dafür brauchst du Caddy nicht.",[11,288,290],{"id":289},"geyser-zertifikat-direkt-verwenden","Geyser: Zertifikat direkt verwenden",[16,292,293,294,297],{},"Ergänze diese Werte in der vorhandenen ",[20,295,296],{},"bedrock.signaling","-Konfiguration. Behalte NetherNet-Transport und erreichbare UDP-Ankündigung aus dem Hauptguide:",[132,299,304],{"className":300,"code":302,"language":303,"meta":138},[301],"language-yaml","bedrock:\n  signaling:\n    mode: builtin\n    builtin:\n      https:\n        certificate: \u002Fpath\u002Fto\u002Ffullchain.pem\n        private-key: \u002Fpath\u002Fto\u002Fprivkey.pem\n        password: ''\n","yaml",[20,305,302],{"__ignoreMap":138},[16,307,308,309,314],{},"Beschaffe zuerst ein vertrauenswürdiges Zertifikat für den Hostnamen. Der Geyser-Prozess muss Kette und Schlüssel lesen können; Container-Pfade müssen im Container existieren. Schütze den privaten Schlüssel. Starte nach der Einrichtung neu und plane Zertifikatserneuerung samt Neustart oder erneutem Laden des Zertifikats ein. Die ",[33,310,313],{"href":311,"rel":312},"https:\u002F\u002Fgeysermc.org\u002Fwiki\u002Fgeyser\u002Fnethernet-https\u002F",[54],"offizielle Geyser-HTTPS-Anleitung"," erklärt Ausstellung und Plattformdetails.",[11,316,318],{"id":317},"geyser-caddy-vor-das-http-signaling-setzen","Geyser: Caddy vor das HTTP-Signaling setzen",[16,320,321,322,325,326,329],{},"Für Caddy und Geyser auf ",[46,323,324],{},"demselben Host im selben Netzwerk-Namensraum"," nutzt du öffentliches TCP 19132 für Caddy, privates TCP 19133 für Signaling und UDP 19132 für das Spiel. Ersetze ",[20,327,328],{},"DEINE_OEFFENTLICHE_IP"," vor dem Speichern. Übernimm diese Werte in die vorhandene Datei und behalte die Anmeldungseinstellungen:",[132,331,334],{"className":332,"code":333,"language":303,"meta":138},[301],"bedrock:\n  address: 0.0.0.0\n  port: 19133\n  clone-remote-port: false\n  transport: nethernet\n  webrtc-port: 19132\n  signaling:\n    mode: builtin\n    advertise-addresses:\n      - \"DEINE_OEFFENTLICHE_IP:19132\"\nadvanced:\n  bedrock:\n    signaling-trusted-proxies:\n      - 127.0.0.1\n",[20,335,333],{"__ignoreMap":138},[16,337,338,339,344],{},"Verwende nach der ",[33,340,343],{"href":341,"rel":342},"https:\u002F\u002Fcaddyserver.com\u002Fdocs\u002Finstall",[54],"Caddy-Installation"," diese Caddyfile:",[132,346,351],{"className":347,"code":349,"language":350,"meta":138},[348],"language-text","{\n    servers {\n        protocols h1 h2\n    }\n}\n\nplay.example.com:19132 {\n    reverse_proxy 127.0.0.1:19133\n}\n","text",[20,352,349],{"__ignoreMap":138},[16,354,355,356,359,360,363,364,42],{},"Halte TCP 19133 von außen unzugänglich. Lass Geysers Bind-Adresse auf ",[20,357,358],{},"0.0.0.0","; begrenze den Zugriff durch Firewall oder Container-Freigaben. Läuft Caddy in einem anderen Container, zeigt ",[20,361,362],{},"127.0.0.1"," nicht auf Geyser: Nutze dessen Dienstadresse und vertraue nur der tatsächlichen Quelladresse des Proxys. Vertraue nicht jedem Absender von ",[20,365,366],{},"X-Forwarded-For",[16,368,369,370,373,374,377],{},"Prüfe mit ",[20,371,372],{},"caddy validate --config \u002Fetc\u002Fcaddy\u002FCaddyfile",", starte Geyser neu und lade Caddy über deinen Dienstmanager neu. Erlaube öffentlich TCP 19132 und Spiel-UDP 19132. ",[20,375,376],{},"protocols h1 h2"," verhindert, dass HTTP\u002F3 denselben UDP-Port wie das Spiel belegt. Ausstellung und Erneuerung benötigen außerdem eine funktionierende ACME-Prüfung: Mache für die HTTP-Prüfung TCP 80 erreichbar oder konfiguriere eine unterstützte DNS-Prüfung. DNS-Validierung erzeugt keinen Spielweg durch CGNAT.",[11,379,381],{"id":380},"bds-https-proxy-mit-separatem-udp-bereich","BDS: HTTPS-Proxy mit separatem UDP-Bereich",[16,383,384,385,388,389,392],{},"Nutze für BDS die ",[33,386,387],{"href":35},"BDS-Konfiguration"," mit ",[20,390,391],{},"transport=nethernet",", internem Signaling auf TCP 19132 und einem erreichbar angekündigten UDP-Bereich, etwa 19140–19149 für zehn Verbindungen.",[16,394,395,396,399],{},"Für ",[46,397,398],{},"Caddy auf dem Docker-Host"," veröffentlichst du das BDS-Signaling nur auf dessen Loopback-Adresse und behältst die Spielfreigaben im vorhandenen BDS-Compose-Dienst:",[132,401,404],{"className":402,"code":403,"language":303,"meta":138},[301],"ports:\n  - \"127.0.0.1:19132:19132\u002Ftcp\"\n  - \"19140-19149:19140-19149\u002Fudp\"\n",[20,405,403],{"__ignoreMap":138},[16,407,408,409,27,412,415,416,419],{},"Behalte dort ",[20,410,411],{},"SERVER_UDP_PORTS: \"DEINE_OEFFENTLICHE_IP:19140-19149:19140-19149\"",[20,413,414],{},"MAX_PLAYERS: \"10\""," und ersetze die IP. Behalte das Datenvolume. Erstelle den Dienst nach geänderten Freigaben mit ",[20,417,418],{},"docker compose up -d bds"," neu; verwende deinen tatsächlichen Dienstnamen.",[16,421,422,423,426],{},"Nutze diese ",[46,424,425],{},"alternative"," Caddyfile anstelle des vorherigen Geyser-Blocks:",[132,428,431],{"className":429,"code":430,"language":350,"meta":138},[348],"play.example.com:443 {\n    reverse_proxy 127.0.0.1:19132\n}\n",[20,432,430],{"__ignoreMap":138},[16,434,435,436,438,439,442],{},"Spieler tragen ",[20,437,256],{}," mit Port ",[46,440,441],{},"443"," ein. Erlaube beziehungsweise leite TCP 443 zu Caddy und UDP 19140–19149 zu BDS weiter, zusätzlich zum für die Zertifikatserneuerung nötigen Prüfweg. HTTPS- und Spielports müssen nicht gleich sein. Begrenze bei nativem BDS den Zugriff auf dessen internen TCP-Listener durch die Host-Firewall. Läuft Caddy im Container, passe das Zielnetz an, statt Host-Loopback zu verwenden.",[16,444,445,446,27,449,452],{},"Diese Anordnung terminiert HTTPS für Signaling. Sie schreibt keine SDP-\u002FICE-Kandidaten um und leitet keinen Spielverkehr weiter: Kündigt BDS eine unerreichbare Adresse an, korrigiere BDS-Ankündigung und UDP-Zuordnungen. Leite ",[20,447,448],{},"GET \u002Fv1\u002Fjoin",[20,450,451],{},"POST \u002Fv1\u002Fjoin\u002F{networkId}"," samt Inhalten unverändert weiter, ohne Browser-Login, CAPTCHA oder Umleitungen.",[11,454,456],{"id":455},"warden-cloud-playitgg-und-tailscale","Warden Cloud, playit.gg und Tailscale",[458,459,461],"h3",{"id":460},"warden-cloud-https-signaling-für-geyser","Warden Cloud: HTTPS-Signaling für Geyser",[16,463,464,469],{},[33,465,468],{"href":466,"rel":467},"https:\u002F\u002Fwarden.cloud\u002F",[54],"Warden Cloud"," ist ein externer Dienst für die erste Kontaktaufnahme zwischen Bedrock und Geyser. Geyser registriert sich dort; Spieler tragen die zugewiesene Warden-Adresse in Minecraft ein und benötigen keine zusätzliche App. Warden stellt das HTTPS-Zertifikat bereit und erneuert es.",[16,471,472],{},"Der Spielverkehr läuft anschließend direkt zum Geyser-Server. Warden ist kein Tunnel für diesen Verkehr und verbirgt die Server-IP nicht. UDP-Portweiterleitung ist der bevorzugte Weg; ohne sie kann Warden beim direkten Verbindungsaufbau durch NAT helfen („assisted joins“), sofern beide Netze das zulassen. Teste deshalb einen vollständigen Beitritt. Für Vanilla-BDS nutze den HTTPS-Proxy aus dem vorherigen Abschnitt.",[16,474,475],{},"Für Geyser übernimmst du in der vorhandenen Konfiguration:",[132,477,480],{"className":478,"code":479,"language":303,"meta":138},[301],"bedrock:\n  transport: nethernet\n  signaling:\n    mode: nxs\n",[20,481,479],{"__ignoreMap":138},[16,483,484],{},"Behalte deine UDP-Einstellungen. Starte vollständig neu und verwende den in der Konsole angezeigten Warden-Hostnamen samt Port, häufig 443. Eine erfolgreiche Registrierung beweist noch keinen erfolgreichen Spielbeitritt; teste ihn vom tatsächlichen Spielernetz aus.",[458,486,488],{"id":487},"playitgg-öffentlicher-tunnel-zum-heimserver","playit.gg: öffentlicher Tunnel zum Heimserver",[16,490,491,496],{},[33,492,495],{"href":493,"rel":494},"https:\u002F\u002Fplayit.gg\u002F",[54],"playit.gg"," leitet Verbindungen von einer öffentlichen Adresse zu deinem Minecraft-Rechner weiter. Dafür installierst du den playit-Agenten auf dem Serverrechner; Spieler benötigen keine zusätzliche App. Das ist eine Option, wenn du im Router keine Ports weiterleiten kannst.",[16,498,499,500,505],{},"Wähle einen Tunnel, der die benötigten TCP- und UDP-Wege abdeckt. Bei Geyser brauchst du einen UDP-Spielport, bei BDS den konfigurierten UDP-Bereich. Ein reiner TCP-\u002FUDP-Tunnel stellt noch kein HTTPS-Zertifikat bereit. Die ",[33,501,504],{"href":502,"rel":503},"https:\u002F\u002Fplayit.gg\u002Fsupport\u002Fhttps-tunnel\u002F",[54],"HTTPS-Tunnel-Anleitung"," beschreibt lokale TLS-Terminierung durch Caddy und benötigt Premium. Auch NetherNet wird auf der playit-Website derzeit als Premium-Funktion geführt. Prüfe vor der Einrichtung den passenden Tunneltyp und Tarif.",[16,507,508,509,514,515,518,519,522,523,526,527,42],{},"Die ältere ",[33,510,513],{"href":511,"rel":512},"https:\u002F\u002Fplayit.gg\u002Fsupport\u002Fminecraft-bedrock-nethernet\u002F",[54],"Bedrock-Anleitung"," empfiehlt noch den Rückwechsel zu RakNet. Das funktioniert für Clients ab 26.60 nicht. Mit Geyser kannst du Warden für HTTPS-Signaling und einen passenden playit-UDP-Tunnel für den Spielverkehr kombinieren. Trage dafür unter ",[20,516,517],{},"bedrock.signaling.advertise-addresses"," den von playit zugewiesenen öffentlichen UDP-Hostnamen beziehungsweise die IP samt externem Port ein. Das lokale Tunnelziel muss zu Geysers ",[20,520,521],{},"webrtc-port"," passen; bei ",[20,524,525],{},"webrtc-port: 0"," ist das ",[20,528,529],{},"bedrock.port",[458,531,533],{"id":532},"tailscale-privates-netzwerk-für-deine-spielergruppe","Tailscale: privates Netzwerk für deine Spielergruppe",[16,535,536,541,542,545],{},[33,537,540],{"href":538,"rel":539},"https:\u002F\u002Ftailscale.com\u002Fdocs\u002Fconcepts\u002Fwhat-is-tailscale",[54],"Tailscale"," verbindet Geräte über ein privates VPN-Netz, das ",[46,543,544],{},"Tailnet",". In der einfachen Variante installieren sowohl der Serverbetreiber als auch die Spieler Tailscale auf ihren Geräten und erhalten Zugriff auf dieses Netz. Das eignet sich für eine feste Gruppe auf unterstützten Geräten; der Server erhält dadurch keine öffentliche Beitrittsadresse für beliebige Spieler.",[16,547,548,549,556,557,560],{},"Die Spieler verwenden eine erreichbare Tailscale-Adresse des Serverrechners. Auch die von NetherNet angekündigte UDP-Adresse muss über dieses Netz erreichbar sein. Die VPN-Verschlüsselung ersetzt kein HTTPS-Zertifikat: Mit ",[33,550,553],{"href":551,"rel":552},"https:\u002F\u002Ftailscale.com\u002Fdocs\u002Fhow-to\u002Fset-up-https-certificates",[54],[20,554,555],{},"tailscale cert"," kannst du eines für den vollständigen ",[20,558,559],{},"*.ts.net","-Namen des Rechners beziehen. Bindest du die Dateien selbst in Geyser ein, musst du Erneuerung und erneutes Laden einrichten.",[16,562,563],{},"Funktioniert der Beitritt über Tailscale, aber nicht über die öffentliche Adresse, vergleiche beide Netzwerkwege. Der erfolgreiche VPN-Test allein zeigt noch nicht, ob beim öffentlichen Weg TLS oder Routing die Ursache ist.",[11,565,567],{"id":566},"zertifikat-signaling-und-spiel-nacheinander-testen","Zertifikat, Signaling und Spiel nacheinander testen",[16,569,570],{},"Teste von außerhalb mit dem tatsächlichen Spieler-Hostnamen und Port:",[132,572,575],{"className":573,"code":574,"language":137,"meta":138},[135],"curl --fail --max-time 10 https:\u002F\u002Fplay.example.com:443\u002Fv1\u002Fjoin\nopenssl s_client -connect play.example.com:443 -servername play.example.com -verify_hostname play.example.com -verify_return_error \u003C\u002Fdev\u002Fnull\n",[20,576,574],{"__ignoreMap":138},[16,578,579,580,583,584,586,587,589,590,593,594,598],{},"Für Geysers eingebautes HTTPS und das Geyser\u002FCaddy-Beispiel verwendest du ",[20,581,582],{},"19132"," statt ",[20,585,441],{},". Bei Warden verwendest du dessen zugewiesenen Hostnamen und Port; beim BDS\u002FCaddy-Beispiel deinen Hostnamen mit Port ",[20,588,441],{},". Umgehe die Zertifikatsprüfung nicht mit ",[20,591,592],{},"curl -k",", um funktionierendes TLS zu belegen. Nutze danach den ",[33,595,597],{"href":596},"\u002Fde\u002Fbedrock-connection-test\u002F","Verbindungstest"," und teste einen vollständigen Minecraft-Beitritt auf dem betroffenen iPhone oder iPad. Vergleiche denselben Client über Mobilfunk und WLAN, danach eine andere Plattform. Teste bei BDS auch einen zweiten gleichzeitigen Spieler.",[185,600,601,611],{},[188,602,603],{},[191,604,605,608],{},[194,606,607],{},"Symptom",[194,609,610],{},"Nächste Prüfung \u002F Aussagekraft",[204,612,613,621,629,637,645,653,661],{},[191,614,615,618],{},[209,616,617],{},"Zertifikatsname falsch oder Aussteller nicht vertrauenswürdig",[209,619,620],{},"Spieler-Hostname, vollständige Kette, Gültigkeit und DNS-Ziel",[191,622,623,626],{},[209,624,625],{},"HTTP im Browser funktioniert, iOS erreicht das Signaling nicht",[209,627,628],{},"TLS-Logs und verwendeten Hostnamen vergleichen",[191,630,631,634],{},[209,632,633],{},"HTTPS liefert HTML, Umleitung, 404 oder Anmeldeseite",[209,635,636],{},"Proxy-Routing und vorgeschaltete Zugangskontrolle für die Signaling-Pfade",[191,638,639,642],{},[209,640,641],{},"GET funktioniert, Beitritt scheitert",[209,643,644],{},"Beitritts-POST und Serverlogs, dann Spiel-UDP prüfen; GET allein reicht nicht",[191,646,647,650],{},[209,648,649],{},"Server sichtbar, Beitritt läuft in Timeout",[209,651,652],{},"Angekündigte ICE-Adresse, vollständiger UDP-Weg und HTTP\u002F3-Portkonflikt",[191,654,655,658],{},[209,656,657],{},"Erst der zweite BDS-Spieler scheitert",[209,659,660],{},"Größe des UDP-Bereichs und Weiterleitung jedes reservierten Ports",[191,662,663,666],{},[209,664,665],{},"Geyser startet HTTPS nach Erneuerung nicht",[209,667,668],{},"Pfade, Rechte, zusammenpassende Schlüssel\u002FKette, Passwort und erneutes Laden",[16,670,671,672,675],{},"Für Geyser-spezifische HTTP-500-, native Bibliotheks- und Datenkanalfehler nutze die ",[33,673,674],{"href":40},"versionsbezogenen Troubleshooting-Berichte",". Behalte bei der Netzwerkdiagnose Welt- und Identitätsdateien.",[11,677,679],{"id":678},"quellen","Quellen",[16,681,682,683,42],{},"Quellenstand: ",[46,684,76],{},[686,687,688,694,700,706,712,718,724,730],"ul",{},[89,689,690],{},[33,691,693],{"href":311,"rel":692},[54],"Geyser HTTPS setup",[89,695,696],{},[33,697,699],{"href":52,"rel":698},[54],"Mojang signaling protocol",[89,701,702],{},[33,703,705],{"href":64,"rel":704},[54],"BDS-23108: Berichte und HTTPS-Vergleich",[89,707,708],{},[33,709,711],{"href":70,"rel":710},[54],"itzg #680: ARM64\u002FBox64 und iOS-TLS-Bericht",[89,713,714],{},[33,715,717],{"href":466,"rel":716},[54],"Warden integration",[89,719,720],{},[33,721,723],{"href":502,"rel":722},[54],"playit HTTPS tunnel",[89,725,726],{},[33,727,729],{"href":551,"rel":728},[54],"Tailscale certificates",[89,731,732],{},[33,733,736],{"href":734,"rel":735},"https:\u002F\u002Fwww.ipify.org\u002F",[54],"ipify API documentation",{"title":138,"searchDepth":738,"depth":738,"links":739},2,[740,741,742,743,744,745,746,747,753,754],{"id":13,"depth":738,"text":14},{"id":80,"depth":738,"text":81},{"id":182,"depth":738,"text":183},{"id":260,"depth":738,"text":261},{"id":289,"depth":738,"text":290},{"id":317,"depth":738,"text":318},{"id":380,"depth":738,"text":381},{"id":455,"depth":738,"text":456,"children":748},[749,751,752],{"id":460,"depth":750,"text":461},3,{"id":487,"depth":750,"text":488},{"id":532,"depth":750,"text":533},{"id":566,"depth":738,"text":567},{"id":678,"depth":738,"text":679},"networking","2026-10-29","Behebe NetherNet-Probleme auf iOS und iPadOS: HTTPS für BDS oder Geyser einrichten und Warden Cloud, playit.gg und Tailscale passend einsetzen.",null,"md",[761,764,767],{"question":762,"answer":763},"Benötigt NetherNet auf iOS und iPadOS immer HTTPS?","Eine allgemeine Pflicht ist nicht bestätigt. Berichte zu iOS Bedrock 26.51\u002F26.52 beschreiben fehlgeschlagenes Signaling und erfolgreiche HTTPS-Workarounds. Teste deine aktuellen Client- und Serverversionen erneut.",{"question":765,"answer":766},"Stellt Warden ein Zertifikat für Vanilla-BDS bereit?","Warden bietet HTTPS über externes Signaling für die dokumentierte Geyser-Integration. Eine direkt einsetzbare Integration für Vanilla-BDS ist damit nicht dokumentiert.",{"question":768,"answer":769},"Erzeugt Tailscale HTTPS-Zertifikate?","Ja. tailscale cert kann ein Zertifikat für den vollständigen ts.net-Namen des Rechners beziehen. Das allein macht den Server nicht öffentlich erreichbar.",false,8,"nethernet-https-ios-ipados",{},true,"\u002Fde\u002Fguides\u002Fnethernet-https-ios-ipados","bedrock-connection-test",[778,779,780],"nethernet-bedrock-server","nethernet-geyser","geyser-floodgate-crossplay",{"title":5,"description":757},[783,784,785,787,789,791,792],{"title":693,"url":311},{"title":699,"url":52},{"title":786,"url":64},"BDS connection reports",{"title":788,"url":70},"itzg ARM64 and iOS report",{"title":790,"url":466},"Warden",{"title":723,"url":502},{"title":793,"url":551},"Tailscale HTTPS certificates","de\u002Fguides\u002F29.nethernet-https-ios-ipados","OWX9dBga_jCuZDahZTDLcx4cZXLH4hVlOG4NOcHcABw",[797,798,803,807,814,820,825,830,837,843,848,853,858,863,869,874,880,885,890,895,901,907,913,919,925,931,937,943,949],{"path":775,"title":5,"description":757,"excerpt":758,"author":6,"date":756,"category":755,"localeGroup":772},{"path":799,"title":800,"description":801,"excerpt":758,"author":6,"date":802,"category":755,"localeGroup":778},"\u002Fde\u002Fguides\u002Fnethernet-bedrock-server","NetherNet-Verbindungen auf deinem Bedrock-Server reparieren","Freunde können nach einem Update nicht mehr beitreten? Prüfe die neuen Portfreigaben und die erreichbare Serveradresse.","2026-10-13",{"path":804,"title":805,"description":806,"excerpt":758,"author":6,"date":802,"category":755,"localeGroup":779},"\u002Fde\u002Fguides\u002Fnethernet-geyser","NetherNet auf deinem Geyser-Server einrichten","So richtest du die neuere Verbindungsmethode für Bedrock-Spieler ein und findest die Ursache fehlgeschlagener Beitritte.",{"path":808,"title":809,"description":810,"excerpt":758,"author":6,"date":811,"category":812,"localeGroup":813},"\u002Fde\u002Fguides\u002Fvelocity-proxy-docker-compose-itzg-mc-proxy","Velocity und Paper mit Docker Compose einrichten","Verbinde Proxy und Server und halte die Paper-Ports vom Internet getrennt.","2026-08-01","getting-started","velocity-proxy-docker-compose",{"path":815,"title":816,"description":817,"excerpt":758,"author":6,"date":811,"category":818,"localeGroup":819},"\u002Fde\u002Fguides\u002Fvelocity-modern-forwarding-paper-docker","Velocity Modern Forwarding mit Paper konfigurieren","Gleiche die Forwarding-Einstellungen ab, schütze das gemeinsame Secret und sperre direkte Backend-Zugriffe.","security","velocity-modern-forwarding-paper",{"path":821,"title":822,"description":823,"excerpt":758,"author":6,"date":811,"category":755,"localeGroup":824},"\u002Fde\u002Fguides\u002Fvelocity-proxy-cannot-connect-backend-docker","Velocity erreicht Paper nicht: Docker-Verbindung prüfen","Prüfe Containerzustand, gemeinsames Netzwerk, Servicename und Backend-Port.","velocity-backend-unreachable-docker",{"path":826,"title":827,"description":828,"excerpt":758,"author":6,"date":811,"category":755,"localeGroup":829},"\u002Fde\u002Fguides\u002Fgeyser-floodgate-velocity-proxy-docker","Geyser und Floodgate auf Velocity mit Docker einrichten","Installiere Geyser am Proxy, konfiguriere NetherNet und prüfe die Anmeldung der Bedrock-Spieler.","geyser-floodgate-velocity-proxy",{"path":831,"title":832,"description":833,"excerpt":758,"author":6,"date":834,"category":835,"localeGroup":836},"\u002Fde\u002Fguides\u002Fupdate-minecraft-server-docker-compose-rollback","Minecraft mit Docker Compose aktualisieren und zurückrollen","Sichere Konfiguration und Daten vor dem Update und stelle beide bei einem Rollback gemeinsam wieder her.","2026-07-18","docker-operations","docker-minecraft-update-rollback",{"path":838,"title":839,"description":840,"excerpt":758,"author":6,"date":834,"category":841,"localeGroup":842},"\u002Fde\u002Fguides\u002Finstall-paper-plugins-docker-compose","Paper-Plugins mit Docker Compose installieren","Installiere Plugins über ein Quellverzeichnis oder Modrinth und prüfe Updates vor dem Einsatz.","mods-plugins","paper-plugins-docker-compose",{"path":844,"title":845,"description":846,"excerpt":758,"author":6,"date":834,"category":841,"localeGroup":847},"\u002Fde\u002Fguides\u002Fmodrinth-modpack-itzg-minecraft-server-docker","Modrinth-Modpacks mit Docker Compose betreiben","Lege Pack-Version und Java-Laufzeit fest und gleiche Server und Client vor dem ersten Start ab.","modrinth-modpack-docker",{"path":849,"title":850,"description":851,"excerpt":758,"author":6,"date":834,"category":835,"localeGroup":852},"\u002Fde\u002Fguides\u002Fmigrate-existing-minecraft-server-to-docker","Einen bestehenden Minecraft-Server zu Docker umziehen","Übernimm Welt, Konfiguration und Erweiterungen und behalte den ursprünglichen Server für einen Rückwechsel.","migrate-minecraft-server-to-docker",{"path":854,"title":855,"description":856,"excerpt":758,"author":6,"date":834,"category":835,"localeGroup":857},"\u002Fde\u002Fguides\u002Fminecraft-container-keeps-restarting-docker-compose","Minecraft-Container startet ständig neu: Ursache finden","Erfasse Containerzustand und ersten Startfehler, bevor du die Restart-Schleife unterbrichst.","docker-minecraft-restart-loop",{"path":859,"title":860,"description":861,"excerpt":758,"author":6,"date":834,"category":841,"localeGroup":862},"\u002Fde\u002Fguides\u002Fcurseforge-modpack-itzg-minecraft-server-docker","CurseForge-Modpacks mit Docker Compose betreiben","Konfiguriere AUTO_CURSEFORGE, lege die Pack-Datei fest und behandle API-Key und manuelle Downloads.","curseforge-modpack-docker",{"path":864,"title":865,"description":866,"excerpt":758,"author":6,"date":834,"category":867,"localeGroup":868},"\u002Fde\u002Fguides\u002Fminecraft-docker-exit-code-137-oomkilled","Minecraft Exit Code 137: OOMKilled und Speicher prüfen","Exit Code 137 bedeutet SIGKILL. Prüfe OOMKilled, Java-Heap und Containerlimit, um Speichermangel zu erkennen.","performance","minecraft-docker-exit-137-oom",{"path":870,"title":871,"description":872,"excerpt":758,"author":6,"date":834,"category":818,"localeGroup":873},"\u002Fde\u002Fguides\u002Fsecure-minecraft-server-docker-compose","Minecraft-Server in Docker absichern","Konfiguriere Anmeldung, Whitelist, RCON-Zugang, Dateirechte und Portfreigaben.","minecraft-docker-security-hardening",{"path":875,"title":876,"description":877,"excerpt":758,"author":6,"date":834,"category":878,"localeGroup":879},"\u002Fde\u002Fguides\u002Fset-up-automatic-minecraft-backups-docker-mc-backup","Automatische Minecraft-Backups mit itzg\u002Fmc-backup einrichten","Ergänze einen Backup-Container, lege Aufbewahrungsfristen fest und prüfe die erzeugten Archive.","backups","docker-mc-backup-setup",{"path":881,"title":882,"description":883,"excerpt":758,"author":6,"date":834,"category":878,"localeGroup":884},"\u002Fde\u002Fguides\u002Frestore-minecraft-world-backup-docker","Minecraft-Welt aus einem Docker-Backup wiederherstellen","Stoppe den Server, behalte den aktuellen Datenstand und stelle das ausgewählte Backup wieder her.","docker-minecraft-restore-runbook",{"path":886,"title":887,"description":888,"excerpt":758,"author":6,"date":834,"category":878,"localeGroup":889},"\u002Fde\u002Fguides\u002Fhetzner-snapshots-minecraft-world-volumes","Hetzner-Snapshots und Minecraft-Daten auf Volumes","Hetzner-Snapshots enthalten keine angehängten Volumes. Prüfe, wo deine Welt liegt und wie du sie separat sicherst.","hetzner-snapshots-volumes",{"path":891,"title":892,"description":893,"excerpt":758,"author":6,"date":894,"category":755,"localeGroup":780},"\u002Fde\u002Fguides\u002Fminecraft-crossplay-geyser-floodgate","Geyser und Floodgate auf Paper einrichten","Lass Bedrock-Spieler einem Java-Server beitreten: Plugins installieren, NetherNet konfigurieren und Verbindung prüfen.","2026-04-04",{"path":896,"title":897,"description":898,"excerpt":758,"author":6,"date":899,"category":812,"localeGroup":900},"\u002Fde\u002Fguides\u002Fpaper-vs-vanilla-vs-fabric-vs-forge","Paper vs Fabric: Welche Minecraft-Server-Software passt?","Paper für Plugins oder Fabric für Mods? Vergleiche Kompatibilität, Performance und Vanilla-Verhalten und erstelle deine Docker-Konfiguration.","2026-04-03","minecraft-server-software-choice",{"path":902,"title":903,"description":904,"excerpt":758,"author":6,"date":905,"category":867,"localeGroup":906},"\u002Fde\u002Fguides\u002Fpaper-view-distance-vs-simulation-distance","View Distance und Simulation Distance in Paper einstellen","Vergleiche Sichtweite und aktive Simulation und prüfe die Auswirkung auf die Serverlast.","2026-04-02","paper-view-distance-simulation-distance",{"path":908,"title":909,"description":910,"excerpt":758,"author":6,"date":911,"category":867,"localeGroup":912},"\u002Fde\u002Fguides\u002Fspark-profiler-paper-docker","Lag mit dem Spark Profiler in Paper und Docker untersuchen","Zeichne während des Lags ein Profil auf und finde auffällige Plugins, Tasks und Serveraktivitäten.","2026-04-01","spark-profiler-paper-docker",{"path":914,"title":915,"description":916,"excerpt":758,"author":6,"date":917,"category":867,"localeGroup":918},"\u002Fde\u002Fguides\u002Fminecraft-server-lag-tps-mspt-cant-keep-up","Minecraft-Lag untersuchen: TPS, MSPT und „Can’t keep up“","Prüfe Tick-Zeiten und grenze CPU-, Chunk-, Entity- und Plugin-Probleme ein.","2026-03-31","minecraft-lag-tps-mspt",{"path":920,"title":921,"description":922,"excerpt":758,"author":6,"date":923,"category":835,"localeGroup":924},"\u002Fde\u002Fguides\u002Ffix-permission-denied-itzg-docker-minecraft-server","Permission denied: Dateirechte für Minecraft in Docker korrigieren","Gleiche die Besitzrechte deines Datenverzeichnisses mit UID und GID des Containers ab.","2026-03-09","itzg-permission-denied",{"path":926,"title":927,"description":928,"excerpt":758,"author":6,"date":929,"category":835,"localeGroup":930},"\u002Fde\u002Fguides\u002Fadminister-docker-minecraft-server-rcon-console","Minecraft in Docker mit RCON und Konsole verwalten","Führe Serverbefehle aus, verwalte die Whitelist und stoppe den Server, ohne RCON öffentlich freizugeben.","2026-03-08","docker-minecraft-rcon-console",{"path":932,"title":933,"description":934,"excerpt":758,"author":6,"date":935,"category":755,"localeGroup":936},"\u002Fde\u002Fguides\u002Fminecraft-domain-without-port-srv-record","Minecraft-Domain ohne Port: SRV-Eintrag einrichten","Verbinde eine Domain mit deinem Java-Server und prüfe die SRV- und A\u002FAAAA-Einträge.","2026-03-07","minecraft-srv-record-domain",{"path":938,"title":939,"description":940,"excerpt":758,"author":6,"date":941,"category":755,"localeGroup":942},"\u002Fde\u002Fguides\u002Fopen-port-25565-minecraft-server-hetzner-linux","Minecraft-Port 25565 auf Hetzner und Linux öffnen","Prüfe Docker-Portfreigabe und Firewalls, wenn dein Server läuft, aber von außen nicht erreichbar ist.","2026-03-05","open-port-25565-hetzner-linux",{"path":944,"title":945,"description":946,"excerpt":758,"author":6,"date":947,"category":812,"localeGroup":948},"\u002Fde\u002Fguides\u002Fdetermining-correct-java-version-for-operating-minecraft-server","Minecraft Java-Version: Java 25, 21 oder 17 und Class-File-Fehler","Finde die Java-Version für deinen Minecraft-Server. Löse Class-File-Fehler 69.0, 65.0 und 61.0 und wähle das passende itzg-Docker-Image.","2025-01-31","java-version-minecraft-server",{"path":950,"title":951,"description":952,"excerpt":758,"author":6,"date":953,"category":812,"localeGroup":954},"\u002Fde\u002Fguides\u002Fminecraft-server-with-docker-on-hetzner-cloud","Minecraft-Server auf Hetzner mit Docker Compose einrichten","Richte einen Java-Server auf Hetzner Cloud ein: Debian, SSH-Zugang, Docker Compose und erster Serverstart.","2025-01-28","hetzner-docker-setup",[950,914,908,902,896,891,831,838,844,849,854,944,859,864,870,808,815,821,826,799,804,775,938,932,926,920,875,881,886,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984],"\u002Fguides\u002Fminecraft-server-with-docker-on-hetzner-cloud","\u002Fguides\u002Fminecraft-server-lag-tps-mspt-cant-keep-up","\u002Fguides\u002Fspark-profiler-paper-docker","\u002Fguides\u002Fpaper-view-distance-vs-simulation-distance","\u002Fguides\u002Fpaper-vs-vanilla-vs-fabric-vs-forge","\u002Fguides\u002Fminecraft-crossplay-geyser-floodgate","\u002Fguides\u002Fupdate-minecraft-server-docker-compose-rollback","\u002Fguides\u002Finstall-paper-plugins-docker-compose","\u002Fguides\u002Fmodrinth-modpack-itzg-minecraft-server-docker","\u002Fguides\u002Fmigrate-existing-minecraft-server-to-docker","\u002Fguides\u002Fminecraft-container-keeps-restarting-docker-compose","\u002Fguides\u002Fdetermining-correct-java-version-for-operating-minecraft-server","\u002Fguides\u002Fcurseforge-modpack-itzg-minecraft-server-docker","\u002Fguides\u002Fminecraft-docker-exit-code-137-oomkilled","\u002Fguides\u002Fsecure-minecraft-server-docker-compose","\u002Fguides\u002Fvelocity-proxy-docker-compose-itzg-mc-proxy","\u002Fguides\u002Fvelocity-modern-forwarding-paper-docker","\u002Fguides\u002Fvelocity-proxy-cannot-connect-backend-docker","\u002Fguides\u002Fgeyser-floodgate-velocity-proxy-docker","\u002Fguides\u002Fnethernet-bedrock-server","\u002Fguides\u002Fnethernet-geyser","\u002Fguides\u002Fnethernet-https-ios-ipados","\u002Fguides\u002Fopen-port-25565-minecraft-server-hetzner-linux","\u002Fguides\u002Fminecraft-domain-without-port-srv-record","\u002Fguides\u002Fadminister-docker-minecraft-server-rcon-console","\u002Fguides\u002Ffix-permission-denied-itzg-docker-minecraft-server","\u002Fguides\u002Fset-up-automatic-minecraft-backups-docker-mc-backup","\u002Fguides\u002Frestore-minecraft-world-backup-docker","\u002Fguides\u002Fhetzner-snapshots-minecraft-world-volumes",1793280547253]