[{"data":1,"prerenderedAt":712},["ShallowReactive",2],{"\u002Fguides\u002Fnethernet-bedrock-server\u002F":3,"guides:en":529,"published-guide-paths":683},{"id":4,"title":5,"author":6,"body":7,"category":504,"date":505,"description":506,"excerpt":507,"extension":508,"faq":509,"featured":510,"featuredOrder":507,"indexOrder":511,"localeGroup":512,"meta":513,"navigation":514,"path":515,"primaryTool":516,"published":514,"related":517,"seo":520,"slug":512,"sources":521,"stem":527,"updated":505,"__hash__":528},"guides\u002Fguides\u002F27.nethernet-bedrock-server.md","Fix NetherNet connections on your Bedrock server","setupmc.com Team",{"type":8,"value":9,"toc":490},"minimark",[10,15,24,33,67,71,94,97,111,130,140,147,150,165,172,177,183,191,197,203,209,212,216,228,236,239,242,250,257,261,283,289,292,298,302,310,318,321,327,330,385,392,398,401,405,417,424,427,442,446,452],[11,12,14],"h2",{"id":13},"your-bedrock-server-runs-but-friends-cannot-join","Your Bedrock server runs, but friends cannot join",[16,17,18,19,23],"p",{},"After an update, friends may get “Multiplayer Connection Failed” while your server runs. ",[20,21,22],"strong",{},"RakNet is the older connection method; NetherNet is the newer one."," Official Bedrock Dedicated Server (BDS) changed its default to NetherNet in 26.50. Old UDP-only port rules can therefore stop working.",[16,25,26,27,32],{},"For your Java crossplay installation, use the ",[28,29,31],"a",{"href":30},"\u002Fguides\u002Fnethernet-geyser\u002F","Geyser NetherNet guide",".",[16,34,35,36,39,40,43,44,47,48,51,52,56,57,63,64,66],{},"Checked on ",[20,37,38],{},"12 October 2026",": the official BDS download is ",[20,41,42],{},"1.26.52.3",". For ",[20,45,46],{},"NetherNet",", ",[20,49,50],{},"Door"," or details such as ",[53,54,55],"code",{},"InitialConnection-83",", record the full message and client\u002Fserver versions. Check TCP signaling first, then gameplay UDP and the allowlist. Follow those checks for ",[28,58,62],{"href":59,"rel":60},"https:\u002F\u002Fwww.reddit.com\u002Fr\u002Fadmincraft\u002Fcomments\u002F1wuapqe\u002Finitialconnection83_door_error_on_vanilla_bedrock\u002F",[61],"nofollow","similar failed joins",". ",[20,65,46],{}," is also a named multiplayer error.",[11,68,70],{"id":69},"configure-the-server-and-its-ports","Configure the server and its ports",[16,72,73,74,77,78,81,82,85,86,89,90,93],{},"An IP address identifies a network destination. Your server's ",[20,75,76],{},"LAN address"," works inside your home network, often starting with ",[53,79,80],{},"192.168."," or ",[53,83,84],{},"10.",". Its ",[20,87,88],{},"public address"," is what friends outside that network must reach. A ",[20,91,92],{},"port"," is a numbered connection endpoint. TCP and UDP are different traffic types: allowing one does not allow the other.",[16,95,96],{},"NetherNet joining has two steps:",[98,99,100,108],"ol",{},[101,102,103,104,107],"li",{},"The game contacts TCP 19132 for the introduction, called ",[20,105,106],{},"signaling",". The server tells it an address and UDP port for gameplay.",[101,109,110],{},"The game connects to that UDP destination. This second path must work too. An open TCP port only helps with step one.",[16,112,113,114,117,118,121,122,125,126,129],{},"Back up your world and settings. Enter ",[53,115,116],{},"stop"," and wait for native BDS to exit ",[20,119,120],{},"before editing"," ",[53,123,124],{},"server.properties",". Replace ",[53,127,128],{},"YOUR_PUBLIC_IP"," with your reachable public IP before saving; BDS does not fill this placeholder automatically:",[131,132,138],"pre",{"className":133,"code":135,"language":136,"meta":137},[134],"language-properties","transport=nethernet\nserver-port=19132\nserver-ip=\nserver-udp-ports=YOUR_PUBLIC_IP:19140-19149:19140-19149\nmax-players=10\n","properties","",[53,139,135],{"__ignoreMap":137},[16,141,142,143,146],{},"Reserve ",[20,144,145],{},"one UDP port per simultaneous client connection",", here ten for ten players.",[16,148,149],{},"On your router, forward TCP 19132 and UDP 19140-19149 to the server's LAN address. Also allow them in the host firewall. A router connects your home network to the internet; forwarding tells it where incoming traffic should go. On cloud hosting, check the provider firewall too.",[16,151,152,153,156,157,160,161,164],{},"The ",[20,154,155],{},"advertised address"," is the address the server tells players to use. The ",[20,158,159],{},"bind address"," is a local IP where the server listens. Leave ",[53,162,163],{},"server-ip"," empty for all local interfaces unless you need a specific local address. Do not bind to a public IP the machine does not own.",[16,166,167,168,171],{},"For LAN-only play, advertise a reachable LAN IP. On a directly reachable host, a range alone such as ",[53,169,170],{},"19140-19149"," may suffice. If your public address fails from your own Wi-Fi, test externally: some routers cannot access their public address from inside the same LAN, called NAT loopback.",[173,174,176],"h3",{"id":175},"port-translation-external-comes-first","Port translation: external comes first",[16,178,179,182],{},[20,180,181],{},"NAT"," means a router or hosting network translates addresses and ports. The official BDS syntax is:",[131,184,189],{"className":185,"code":187,"language":188,"meta":137},[186],"language-text","[IP:]external-port-or-range:internal-port-or-range\n","text",[53,190,187],{"__ignoreMap":137},[16,192,193,194,196],{},"Replace ",[53,195,128],{}," with your public IP before using this translated mapping:",[131,198,201],{"className":199,"code":200,"language":136,"meta":137},[134],"server-udp-ports=YOUR_PUBLIC_IP:20140-20149:19140-19149\n",[53,202,200],{"__ignoreMap":137},[16,204,205,206,32],{},"BDS listens on 19140-19149 but tells players to reach 20140-20149. Set the router translation accordingly and use equal-length ranges. Separate multiple entries with commas. Put IPv6 addresses in brackets, such as ",[53,207,208],{},"[YOUR_PUBLIC_IPV6]:20140-20149:19140-19149",[16,210,211],{},"After saving, start through your usual launcher, service or hosting panel. Preserve the existing world directory.",[11,213,215],{"id":214},"docker-preserve-your-data-and-recreate-the-container","Docker: preserve your data and recreate the container",[16,217,218,219,223,224,227],{},"Import your existing Compose file into the ",[28,220,222],{"href":221},"\u002Fbedrock-server\u002F","Bedrock configurator",", select NetherNet and your player count, then check and adjust the TCP\u002FUDP publications before transferring the networking settings. Keep your service name and data volume. The image resolves ",[53,225,226],{},"\u003Cpublic_ip>"," automatically in this example:",[131,229,234],{"className":230,"code":232,"language":233,"meta":137},[231],"language-yaml","services:\n  bds:\n    image: itzg\u002Fminecraft-bedrock-server:latest\n    environment:\n      EULA: \"TRUE\"\n      VERSION: \"1.26.52.3\"\n      TRANSPORT: nethernet\n      SERVER_UDP_PORTS: \"\u003Cpublic_ip>:19140-19149:19140-19149\"\n      MAX_PLAYERS: \"10\"\n      ALLOW_LIST: \"false\"\n    ports:\n      - \"19132:19132\u002Ftcp\"\n      - \"19140-19149:19140-19149\u002Fudp\"\n    volumes:\n      - .\u002Fdata:\u002Fdata\n    stdin_open: true\n    tty: true\n","yaml",[53,235,232],{"__ignoreMap":137},[16,237,238],{},"Docker containers can have private addresses. For LAN-only hosting, use a LAN IP. Recheck the advertisement after public IP changes.",[16,240,241],{},"Changed Docker port publications require recreation:",[131,243,248],{"className":244,"code":246,"language":247,"meta":137},[245],"language-bash","docker compose config\ndocker compose up -d\ndocker compose logs --tail=100 bds\n","bash",[53,249,246],{"__ignoreMap":137},[16,251,252,253,256],{},"Keep the data volume; do not remove it to fix networking. For the translated example, publish ",[53,254,255],{},"20140-20149:19140-19149\u002Fudp",". Router forwarding and Docker mapping must ultimately deliver public UDP 20140-20149 to container UDP 19140-19149.",[173,258,260],{"id":259},"check-the-allowlist-too","Check the allowlist too",[16,262,263,264,267,268,271,272,275,276,279,280,282],{},"Keep ",[53,265,266],{},"ALLOW_LIST: \"false\""," if you want players outside a friends list to join. Current BDS enables the allowlist by default; check for an empty list when joins are rejected. For a private friends server, set ",[53,269,270],{},"ALLOW_LIST: \"true\""," in Compose and apply it with ",[53,273,274],{},"docker compose up -d",". For native BDS, stop the server, set ",[53,277,278],{},"allow-list=true"," in ",[53,281,124],{},", and start it again. Only then add each actual Xbox gamertag in the running server console:",[131,284,287],{"className":285,"code":286,"language":188,"meta":137},[186],"allowlist add \"Your Friend\"\n",[53,288,286],{"__ignoreMap":137},[16,290,291],{},"With this Docker image:",[131,293,296],{"className":294,"code":295,"language":247,"meta":137},[245],"docker compose exec bds send-command 'allowlist add \"Your Friend\"'\n",[53,297,295],{"__ignoreMap":137},[11,299,301],{"id":300},"test-before-changing-more-settings","Test before changing more settings",[16,303,304,305,309],{},"Enter your public server address in the ",[28,306,308],{"href":307},"\u002Fbedrock-connection-test\u002F","NetherNet connection test",". It checks the initial contact and shows your next steps. Then test a full join with a Bedrock client from another network.",[16,311,312,313,317],{},"You can view the server name, version and player count in the ",[28,314,316],{"href":315},"\u002Fserver-status-checker\u002F","Minecraft server status checker",". Choose Bedrock to check a NetherNet server, then join in Minecraft to verify the game connection.",[16,319,320],{},"From another network, test the initial connection:",[131,322,325],{"className":323,"code":324,"language":247,"meta":137},[245],"curl --fail --max-time 10 http:\u002F\u002FYOUR_PUBLIC_IP:19132\u002Fv1\u002Fjoin\n",[53,326,324],{"__ignoreMap":137},[16,328,329],{},"For HTML or timeout, check signaling. For server JSON, join from an external Bedrock client, for example via a mobile hotspot. That also checks the join POST and gameplay UDP.",[331,332,333,346],"table",{},[334,335,336],"thead",{},[337,338,339,343],"tr",{},[340,341,342],"th",{},"Result",[340,344,345],{},"Next check",[347,348,349,358,366,377],"tbody",{},[337,350,351,355],{},[352,353,354],"td",{},"TCP open, only LAN joins work",[352,356,357],{},"Public advertised UDP address and every forwarding layer",[337,359,360,363],{},[352,361,362],{},"Server visible, joining fails",[352,364,365],{},"Signaling join request, UDP path, then allowlist and online-mode compatibility",[337,367,368,371],{},[352,369,370],{},"Host works, Docker does not",[352,372,373,376],{},[53,374,375],{},"\u002Fudp"," publication and private container address in the advertisement",[337,378,379,382],{},[352,380,381],{},"Only some players fail",[352,383,384],{},"Their IPv4\u002FIPv6 path, client version or console connector",[16,386,387,388,391],{},"IPv4 and IPv6 are different address formats. BDS uses one dual-stack TCP listener when available; ",[53,389,390],{},"server-portv6"," does not create a second NetherNet signaling port. Check IPv6 firewalls and any AAAA DNS record separately. BDS LAN discovery uses UDP 7551 broadcasts, which normally do not cross routers or Docker bridges. Try a manual server entry if the LAN list is empty.",[16,393,394,397],{},[20,395,396],{},"CGNAT"," means the internet provider shares a public IP between customers. Your router's forwarding cannot by itself create public IPv4 access through that provider NAT. Ask for a reachable public address, test an independent IPv6 path, or use a service explicitly supporting the required TCP and UDP paths. Even with WebRTC, the technology behind NetherNet, test a join from outside your network.",[16,399,400],{},"Console connectors are an additional path to test. First try a directly configurable mobile or Windows Bedrock client. Test NetherNet with a real join instead of an old RakNet-only status checker. Treat switching back to RakNet as a transition.",[11,402,404],{"id":403},"what-to-ask-your-host-and-what-providers-must-allocate","What to ask your host, and what providers must allocate",[16,406,407,408,416],{},"Send your host: ",[20,409,410,411,415],{},"“I run BDS ",[412,413,414],"span",{},"YOUR_SERVER_VERSION",". Since 26.50, NetherNet is the default. I have 10 player slots. Please confirm TCP 19132 (or my allocated initial port), a fixed range of 10 UDP ports, and the public IP and external-to-internal mapping announced to players. Are panel or startup settings overriding these values?”"," Replace the version and player count with yours. Ask for the fixed range ahead of time, not new panel allocations per join.",[16,418,419,420,423],{},"Budget ",[20,421,422],{},"one TCP port plus N UDP ports for N simultaneous connections",". For 20 players, reserve UDP 19140-19159. Across 100 instances with 20 player slots each, that means 2,000 reserved UDP ports. BDS selects within each range; reflect allocations in panels, firewalls and templates. Give each instance distinct allocations on a shared IP. If you have only one UDP port, ask for more or another supported arrangement.",[16,425,426],{},"Check panel allocation, container publication, node firewall and provider NAT together. Check whether legacy RakNet packet filters allow WebRTC traffic.",[16,428,429,430,433,434,437,438,441],{},"If you use an HTTP reverse proxy, configure it to protect signaling and forward ",[53,431,432],{},"GET \u002Fv1\u002Fjoin"," and ",[53,435,436],{},"POST \u002Fv1\u002Fjoin\u002F{networkId}"," with their bodies intact. Route gameplay UDP separately and protect that traffic too. ",[20,439,440],{},"TLS encrypts the initial HTTP exchange","; if you add it, check certificate trust, name and expiry. Pass the game response without browser login pages or CAPTCHAs.",[11,443,445],{"id":444},"sources","Sources",[16,447,448,449,451],{},"Primary sources checked on ",[20,450,38],{},". Version and build references describe that review date.",[453,454,455,462,469,476,483],"ul",{},[101,456,457],{},[28,458,461],{"href":459,"rel":460},"https:\u002F\u002Fwww.minecraft.net\u002Fen-us\u002Farticle\u002Fminecraft--bedrock-edition-26-50-changelog",[61],"Minecraft Bedrock 26.50 changelog",[101,463,464],{},[28,465,468],{"href":466,"rel":467},"https:\u002F\u002Fwww.minecraft.net\u002Fbedrockdedicatedserver\u002Fbin-linux\u002Fbedrock-server-1.26.52.3.zip",[61],"Official BDS 1.26.52.3 archive and networking documentation",[101,470,471],{},[28,472,475],{"href":473,"rel":474},"https:\u002F\u002Fgithub.com\u002Fitzg\u002Fdocker-minecraft-bedrock-server",[61],"itzg Bedrock image networking documentation",[101,477,478],{},[28,479,482],{"href":480,"rel":481},"https:\u002F\u002Fmojang.github.io\u002Fbedrock-protocol-docs\u002Fguides\u002Fnether-net-onboarding-guide\u002F",[61],"Mojang NetherNet HTTP signaling guide",[101,484,485],{},[28,486,489],{"href":487,"rel":488},"https:\u002F\u002Fhelp.minecraft.net\u002Fhc\u002Fen-us\u002Farticles\u002F38555497091469-Troubleshooting-Named-Error-Codes-for-Minecraft-Bedrock-Edition",[61],"Minecraft named error codes",{"title":137,"searchDepth":491,"depth":491,"links":492},2,[493,494,498,501,502,503],{"id":13,"depth":491,"text":14},{"id":69,"depth":491,"text":70,"children":495},[496],{"id":175,"depth":497,"text":176},3,{"id":214,"depth":491,"text":215,"children":499},[500],{"id":259,"depth":497,"text":260},{"id":300,"depth":491,"text":301},{"id":403,"depth":491,"text":404},{"id":444,"depth":491,"text":445},"networking","2026-10-13","Friends cannot join after an update? Check the new port rules and the address they can reach.",null,"md",[],false,"6","nethernet-bedrock-server",{},true,"\u002Fguides\u002Fnethernet-bedrock-server","bedrock-connection-test",[518,519],"nethernet-geyser","open-port-25565-hetzner-linux",{"title":5,"description":506},[522,523,524,525,526],{"title":461,"url":459},{"title":468,"url":466},{"title":475,"url":473},{"title":482,"url":480},{"title":489,"url":487},"guides\u002F27.nethernet-bedrock-server","c3VNiPwvLQjXRdsipgVQCJkCrlcPUeKeYOKQQwjG2I4",[530,531,535,542,548,553,558,565,571,576,581,586,591,597,602,608,613,618,624,630,636,642,648,654,660,666,671,677],{"path":515,"title":5,"description":506,"excerpt":507,"author":6,"date":505,"category":504,"localeGroup":512},{"path":532,"title":533,"description":534,"excerpt":507,"author":6,"date":505,"category":504,"localeGroup":518},"\u002Fguides\u002Fnethernet-geyser","Set up NetherNet on your Geyser server","Set up the newer connection method for Bedrock players and find out why joins fail.",{"path":536,"title":537,"description":538,"excerpt":507,"author":6,"date":539,"category":540,"localeGroup":541},"\u002Fguides\u002Fvelocity-proxy-docker-compose-itzg-mc-proxy","Set up Velocity and Paper with Docker Compose","Connect your proxy and server while keeping Paper ports isolated from the internet.","2026-08-01","getting-started","velocity-proxy-docker-compose",{"path":543,"title":544,"description":545,"excerpt":507,"author":6,"date":539,"category":546,"localeGroup":547},"\u002Fguides\u002Fvelocity-modern-forwarding-paper-docker","Configure Velocity modern forwarding with Paper","Match forwarding settings, protect the shared secret, and block direct backend access.","security","velocity-modern-forwarding-paper",{"path":549,"title":550,"description":551,"excerpt":507,"author":6,"date":539,"category":504,"localeGroup":552},"\u002Fguides\u002Fvelocity-proxy-cannot-connect-backend-docker","Velocity cannot reach Paper: check the Docker connection","Check container state, the shared network, service name, and backend port.","velocity-backend-unreachable-docker",{"path":554,"title":555,"description":556,"excerpt":507,"author":6,"date":539,"category":504,"localeGroup":557},"\u002Fguides\u002Fgeyser-floodgate-velocity-proxy-docker","Set up Geyser and Floodgate on Velocity with Docker","Install Geyser on the proxy, configure RakNet or NetherNet, and check Bedrock player authentication.","geyser-floodgate-velocity-proxy",{"path":559,"title":560,"description":561,"excerpt":507,"author":6,"date":562,"category":563,"localeGroup":564},"\u002Fguides\u002Fupdate-minecraft-server-docker-compose-rollback","Update and roll back Minecraft with Docker Compose","Back up configuration and data before updating, then restore both together if you need to roll back.","2026-07-18","docker-operations","docker-minecraft-update-rollback",{"path":566,"title":567,"description":568,"excerpt":507,"author":6,"date":562,"category":569,"localeGroup":570},"\u002Fguides\u002Finstall-paper-plugins-docker-compose","Install Paper plugins with Docker Compose","Install plugins from a source directory or Modrinth and test updates before using them.","mods-plugins","paper-plugins-docker-compose",{"path":572,"title":573,"description":574,"excerpt":507,"author":6,"date":562,"category":569,"localeGroup":575},"\u002Fguides\u002Fmodrinth-modpack-itzg-minecraft-server-docker","Run Modrinth modpacks with Docker Compose","Pin the pack version and Java runtime, then match the server and client before the first start.","modrinth-modpack-docker",{"path":577,"title":578,"description":579,"excerpt":507,"author":6,"date":562,"category":563,"localeGroup":580},"\u002Fguides\u002Fmigrate-existing-minecraft-server-to-docker","Move an existing Minecraft server to Docker","Transfer your world, configuration, and extensions while keeping the original server available for rollback.","migrate-minecraft-server-to-docker",{"path":582,"title":583,"description":584,"excerpt":507,"author":6,"date":562,"category":563,"localeGroup":585},"\u002Fguides\u002Fminecraft-container-keeps-restarting-docker-compose","Find why your Minecraft container keeps restarting","Capture the container state and first startup error before interrupting the restart loop.","docker-minecraft-restart-loop",{"path":587,"title":588,"description":589,"excerpt":507,"author":6,"date":562,"category":569,"localeGroup":590},"\u002Fguides\u002Fcurseforge-modpack-itzg-minecraft-server-docker","Run CurseForge modpacks with Docker Compose","Configure AUTO_CURSEFORGE, pin the pack file, and handle the API key and manual downloads.","curseforge-modpack-docker",{"path":592,"title":593,"description":594,"excerpt":507,"author":6,"date":562,"category":595,"localeGroup":596},"\u002Fguides\u002Fminecraft-docker-exit-code-137-oomkilled","Minecraft exit code 137: check OOMKilled and memory limits","Exit code 137 means SIGKILL. Check OOMKilled, Java heap, and container limits to identify memory exhaustion.","performance","minecraft-docker-exit-137-oom",{"path":598,"title":599,"description":600,"excerpt":507,"author":6,"date":562,"category":546,"localeGroup":601},"\u002Fguides\u002Fsecure-minecraft-server-docker-compose","Secure a Minecraft server in Docker","Configure authentication, the whitelist, RCON access, file permissions, and published ports.","minecraft-docker-security-hardening",{"path":603,"title":604,"description":605,"excerpt":507,"author":6,"date":562,"category":606,"localeGroup":607},"\u002Fguides\u002Fset-up-automatic-minecraft-backups-docker-mc-backup","Set up automatic Minecraft backups with itzg\u002Fmc-backup","Add a backup container, set retention periods, and verify the resulting archives.","backups","docker-mc-backup-setup",{"path":609,"title":610,"description":611,"excerpt":507,"author":6,"date":562,"category":606,"localeGroup":612},"\u002Fguides\u002Frestore-minecraft-world-backup-docker","Restore a Minecraft world from a Docker backup","Stop the server, preserve the current data, and restore the selected backup.","docker-minecraft-restore-runbook",{"path":614,"title":615,"description":616,"excerpt":507,"author":6,"date":562,"category":606,"localeGroup":617},"\u002Fguides\u002Fhetzner-snapshots-minecraft-world-volumes","Hetzner snapshots and Minecraft data on volumes","Hetzner snapshots exclude attached volumes. Check where your world is stored and back it up separately.","hetzner-snapshots-volumes",{"path":619,"title":620,"description":621,"excerpt":507,"author":6,"date":622,"category":504,"localeGroup":623},"\u002Fguides\u002Fminecraft-crossplay-geyser-floodgate","Set up Geyser and Floodgate on Paper","Let Bedrock players join a Java server: install the plugins, configure RakNet or NetherNet, and test the connection.","2026-04-04","geyser-floodgate-crossplay",{"path":625,"title":626,"description":627,"excerpt":507,"author":6,"date":628,"category":540,"localeGroup":629},"\u002Fguides\u002Fpaper-vs-vanilla-vs-fabric-vs-forge","Paper vs Fabric: Which Minecraft server should you choose?","Paper for plugins or Fabric for mods? Compare compatibility, performance and Vanilla behavior, then build your Minecraft Docker Compose file.","2026-04-03","minecraft-server-software-choice",{"path":631,"title":632,"description":633,"excerpt":507,"author":6,"date":634,"category":595,"localeGroup":635},"\u002Fguides\u002Fpaper-view-distance-vs-simulation-distance","Configure view distance and simulation distance in Paper","Compare viewing distance and active simulation, then measure their effect on server load.","2026-04-02","paper-view-distance-simulation-distance",{"path":637,"title":638,"description":639,"excerpt":507,"author":6,"date":640,"category":595,"localeGroup":641},"\u002Fguides\u002Fspark-profiler-paper-docker","Investigate lag with Spark Profiler in Paper and Docker","Record a profile while lag occurs and identify costly plugins, tasks, and server activity.","2026-04-01","spark-profiler-paper-docker",{"path":643,"title":644,"description":645,"excerpt":507,"author":6,"date":646,"category":595,"localeGroup":647},"\u002Fguides\u002Fminecraft-server-lag-tps-mspt-cant-keep-up","Investigate Minecraft lag: TPS, MSPT, and “Can’t keep up”","Check tick times and investigate CPU, chunk, entity, and plugin problems.","2026-03-31","minecraft-lag-tps-mspt",{"path":649,"title":650,"description":651,"excerpt":507,"author":6,"date":652,"category":563,"localeGroup":653},"\u002Fguides\u002Ffix-permission-denied-itzg-docker-minecraft-server","Fix permission denied errors for Minecraft in Docker","Match data-directory ownership to the container UID and GID.","2026-03-09","itzg-permission-denied",{"path":655,"title":656,"description":657,"excerpt":507,"author":6,"date":658,"category":563,"localeGroup":659},"\u002Fguides\u002Fadminister-docker-minecraft-server-rcon-console","Manage Minecraft in Docker with RCON and the console","Run server commands, manage the whitelist, and stop the server without exposing RCON publicly.","2026-03-08","docker-minecraft-rcon-console",{"path":661,"title":662,"description":663,"excerpt":507,"author":6,"date":664,"category":504,"localeGroup":665},"\u002Fguides\u002Fminecraft-domain-without-port-srv-record","Set up a Minecraft domain without a port using SRV","Connect a domain to your Java server and check its SRV and A\u002FAAAA records.","2026-03-07","minecraft-srv-record-domain",{"path":667,"title":668,"description":669,"excerpt":507,"author":6,"date":670,"category":504,"localeGroup":519},"\u002Fguides\u002Fopen-port-25565-minecraft-server-hetzner-linux","Open Minecraft port 25565 on Hetzner and Linux","Check Docker port publishing and firewalls when your server runs but players cannot connect.","2026-03-05",{"path":672,"title":673,"description":674,"excerpt":507,"author":6,"date":675,"category":540,"localeGroup":676},"\u002Fguides\u002Fdetermining-correct-java-version-for-operating-minecraft-server","Minecraft Java version: Java 25, 21, 17 and class-file errors","Find the Java version for your Minecraft server. Fix class-file errors 69.0, 65.0 and 61.0 and choose the right itzg Docker image tag.","2025-01-31","java-version-minecraft-server",{"path":678,"title":679,"description":680,"excerpt":507,"author":6,"date":681,"category":540,"localeGroup":682},"\u002Fguides\u002Fminecraft-server-with-docker-on-hetzner-cloud","Set up a Minecraft server on Hetzner with Docker Compose","Set up a Java server on Hetzner Cloud: Debian, SSH access, Docker Compose, and the first server start.","2025-01-28","hetzner-docker-setup",[684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,678,643,637,631,625,619,559,566,572,577,582,672,587,592,598,536,543,549,554,515,532,667,661,655,649,603,609,614],"\u002Fde\u002Fguides\u002Fminecraft-server-with-docker-on-hetzner-cloud","\u002Fde\u002Fguides\u002Fminecraft-server-lag-tps-mspt-cant-keep-up","\u002Fde\u002Fguides\u002Fspark-profiler-paper-docker","\u002Fde\u002Fguides\u002Fpaper-view-distance-vs-simulation-distance","\u002Fde\u002Fguides\u002Fpaper-vs-vanilla-vs-fabric-vs-forge","\u002Fde\u002Fguides\u002Fminecraft-crossplay-geyser-floodgate","\u002Fde\u002Fguides\u002Fupdate-minecraft-server-docker-compose-rollback","\u002Fde\u002Fguides\u002Finstall-paper-plugins-docker-compose","\u002Fde\u002Fguides\u002Fmodrinth-modpack-itzg-minecraft-server-docker","\u002Fde\u002Fguides\u002Fmigrate-existing-minecraft-server-to-docker","\u002Fde\u002Fguides\u002Fminecraft-container-keeps-restarting-docker-compose","\u002Fde\u002Fguides\u002Fdetermining-correct-java-version-for-operating-minecraft-server","\u002Fde\u002Fguides\u002Fcurseforge-modpack-itzg-minecraft-server-docker","\u002Fde\u002Fguides\u002Fminecraft-docker-exit-code-137-oomkilled","\u002Fde\u002Fguides\u002Fsecure-minecraft-server-docker-compose","\u002Fde\u002Fguides\u002Fvelocity-proxy-docker-compose-itzg-mc-proxy","\u002Fde\u002Fguides\u002Fvelocity-modern-forwarding-paper-docker","\u002Fde\u002Fguides\u002Fvelocity-proxy-cannot-connect-backend-docker","\u002Fde\u002Fguides\u002Fgeyser-floodgate-velocity-proxy-docker","\u002Fde\u002Fguides\u002Fnethernet-bedrock-server","\u002Fde\u002Fguides\u002Fnethernet-geyser","\u002Fde\u002Fguides\u002Fopen-port-25565-minecraft-server-hetzner-linux","\u002Fde\u002Fguides\u002Fminecraft-domain-without-port-srv-record","\u002Fde\u002Fguides\u002Fadminister-docker-minecraft-server-rcon-console","\u002Fde\u002Fguides\u002Ffix-permission-denied-itzg-docker-minecraft-server","\u002Fde\u002Fguides\u002Fset-up-automatic-minecraft-backups-docker-mc-backup","\u002Fde\u002Fguides\u002Frestore-minecraft-world-backup-docker","\u002Fde\u002Fguides\u002Fhetzner-snapshots-minecraft-world-volumes",1791923320926]