[{"data":1,"prerenderedAt":642},["ShallowReactive",2],{"\u002Fguides\u002Fgeyser-floodgate-velocity-proxy-docker\u002F":3,"guides:en":473,"published-guide-paths":615},{"id":4,"title":5,"author":6,"body":7,"category":426,"date":427,"description":428,"excerpt":429,"extension":430,"faq":431,"featured":441,"featuredOrder":429,"indexOrder":442,"localeGroup":443,"meta":444,"navigation":445,"path":446,"primaryTool":447,"published":445,"related":448,"seo":452,"slug":453,"sources":454,"stem":471,"updated":427,"__hash__":472},"guides\u002Fguides\u002F26.geyser-floodgate-velocity-proxy-docker.md","Set up Geyser and Floodgate on Velocity with Docker","setupmc.com Team",{"type":8,"value":9,"toc":414},"minimark",[10,15,25,28,44,47,51,54,73,86,90,97,107,113,116,124,127,131,134,140,150,161,164,170,174,177,196,199,239,242,246,249,255,258,266,269,272,276,279,290,294,383,387],[11,12,14],"h2",{"id":13},"choose-the-proxy-deployment-intentionally","Choose the proxy deployment intentionally",[16,17,18,19,24],"p",{},"The existing ",[20,21,23],"a",{"href":22},"\u002Fguides\u002Fminecraft-crossplay-geyser-floodgate\u002F","direct Geyser and Floodgate guide"," installs both plugins on one Paper server. This guide covers a different architecture: Velocity is already the public entry point for multiple backends, so Geyser runs on the proxy.",[16,26,27],{},"Geyser's current proxy guidance is explicit:",[29,30,31,35,38,41],"ul",{},[32,33,34],"li",{},"install Geyser only on the proxy",[32,36,37],{},"install Floodgate on the proxy for Bedrock account authentication",[32,39,40],{},"add Floodgate to backends only when backend plugins need its API or related data",[32,42,43],{},"make every backend compatible with the Java protocol version Geyser currently emulates",[16,45,46],{},"Check Geyser's supported-versions page before an update. Bedrock clients move quickly, so hard-coded version claims age faster than the network design.",[11,48,50],{"id":49},"step-1-start-from-a-working-velocity-network","Step 1: Start from a working Velocity network",[16,52,53],{},"Complete these checks first:",[29,55,56,59,62,65],{},[32,57,58],{},"Java players can join Velocity and reach a Paper backend.",[32,60,61],{},"Velocity modern forwarding works.",[32,63,64],{},"Backends are not public.",[32,66,67,68,72],{},"The proxy has a persistent ",[69,70,71],"code",{},"\u002Fserver"," mount.",[16,74,75,76,80,81,85],{},"Use the ",[20,77,79],{"href":78},"\u002Fguides\u002Fvelocity-proxy-docker-compose-itzg-mc-proxy\u002F","Velocity Compose guide"," and ",[20,82,84],{"href":83},"\u002Fguides\u002Fvelocity-modern-forwarding-paper-docker\u002F","modern forwarding runbook"," if any of those statements is false.",[11,87,89],{"id":88},"step-2-add-the-proxy-plugins-and-udp-mapping","Step 2: Add the proxy plugins and UDP mapping",[16,91,92,93,96],{},"The ",[69,94,95],{},"itzg\u002Fmc-proxy"," image can download plugin URLs into the proxy plugin directory. Add the official Geyser and Floodgate Velocity download endpoints and publish the Bedrock listener as UDP:",[98,99,105],"pre",{"className":100,"code":102,"language":103,"meta":104},[101],"language-yaml","services:\n  proxy:\n    image: itzg\u002Fmc-proxy:latest\n    ports:\n      - \"25565:25577\"\n      - \"19132:19132\u002Fudp\"\n    environment:\n      TYPE: VELOCITY\n      MEMORY: 1G\n      PLUGINS: \"https:\u002F\u002Fdownload.geysermc.org\u002Fv2\u002Fprojects\u002Fgeyser\u002Fversions\u002Flatest\u002Fbuilds\u002Flatest\u002Fdownloads\u002Fvelocity,https:\u002F\u002Fdownload.geysermc.org\u002Fv2\u002Fprojects\u002Ffloodgate\u002Fversions\u002Flatest\u002Fbuilds\u002Flatest\u002Fdownloads\u002Fvelocity\"\n    volumes:\n      - .\u002Fproxy:\u002Fserver\n","yaml","",[69,106,102],{"__ignoreMap":104},[16,108,92,109,112],{},[69,110,111],{},"latest"," download endpoints are convenient for the first setup but change over time. For controlled production updates, pin reviewed plugin artifacts or preserve known-good JARs and update them as one tested operation.",[16,114,115],{},"Render the Compose file before starting:",[98,117,122],{"className":118,"code":120,"language":121,"meta":104},[119],"language-bash","docker compose config\ndocker compose up -d proxy\ndocker compose logs -f proxy\n","bash",[69,123,120],{"__ignoreMap":104},[16,125,126],{},"Confirm both plugins load without dependency or Java errors.",[11,128,130],{"id":129},"step-3-configure-the-bedrock-listener","Step 3: Configure the Bedrock listener",[16,132,133],{},"After the first start, open the Geyser configuration below the proxy's plugin directory and check:",[98,135,138],{"className":136,"code":137,"language":103,"meta":104},[101],"bedrock:\n  address: 0.0.0.0\n  port: 19132\n  clone-remote-port: false\n",[69,139,137],{"__ignoreMap":104},[16,141,142,145,146,149],{},[69,143,144],{},"0.0.0.0"," allows Geyser to listen on the container interfaces. The Compose mapping publishes that container UDP port on the host. Do not remove ",[69,147,148],{},"\u002Fudp","; an unsuffixed Compose mapping is TCP and will not carry normal Bedrock traffic.",[16,151,152,153,156,157,160],{},"In the same generated Geyser configuration, locate ",[69,154,155],{},"auth-type"," and set it to ",[69,158,159],{},"floodgate",". The surrounding section name can change between configuration versions, so edit the generated file instead of replacing it wholesale with an older example.",[16,162,163],{},"Restart the proxy after changing the configuration:",[98,165,168],{"className":166,"code":167,"language":121,"meta":104},[119],"docker compose restart proxy\ndocker compose logs --tail=150 proxy\n",[69,169,167],{"__ignoreMap":104},[11,171,173],{"id":172},"step-4-open-udp-end-to-end","Step 4: Open UDP end to end",[16,175,176],{},"Four layers must agree on the same port and protocol:",[178,179,180,183,190,193],"ol",{},[32,181,182],{},"Geyser listens on UDP 19132 in the container.",[32,184,185,186,189],{},"Compose maps ",[69,187,188],{},"19132:19132\u002Fudp",".",[32,191,192],{},"The Linux or Windows host firewall allows UDP 19132.",[32,194,195],{},"The router or cloud-provider firewall allows UDP 19132 to the host.",[16,197,198],{},"Do not replace the Java TCP rule with the Bedrock rule. Java and Bedrock use different transport paths here:",[200,201,202,215],"table",{},[203,204,205],"thead",{},[206,207,208,212],"tr",{},[209,210,211],"th",{},"Client",[209,213,214],{},"Public endpoint",[216,217,218,229],"tbody",{},[206,219,220,224],{},[221,222,223],"td",{},"Java Edition",[221,225,226],{},[69,227,228],{},"play.example.com:25565\u002Ftcp",[206,230,231,234],{},[221,232,233],{},"Bedrock Edition",[221,235,236],{},[69,237,238],{},"play.example.com:19132\u002Fudp",[16,240,241],{},"An SRV record used by Java does not remove the Bedrock port in this setup. Tell Bedrock players the explicit port.",[11,243,245],{"id":244},"step-5-validate-from-inside-and-outside","Step 5: Validate from inside and outside",[16,247,248],{},"Check the Docker mapping:",[98,250,253],{"className":251,"code":252,"language":121,"meta":104},[119],"docker compose port proxy 19132\u002Fudp\ndocker compose logs --tail=150 proxy\n",[69,254,252],{"__ignoreMap":104},[16,256,257],{},"Then run Geyser's own external connection test from the proxy console:",[98,259,264],{"className":260,"code":262,"language":263,"meta":104},[261],"language-text","geyser connectiontest play.example.com 19132\n","text",[69,265,262],{"__ignoreMap":104},[16,267,268],{},"Finally, test with a Bedrock client from a different network. A local Wi-Fi test alone does not prove that router or provider UDP ingress works.",[16,270,271],{},"The first successful login should reach the same backend selected by Velocity. Verify the player in both proxy and backend logs and confirm that their name\u002FUUID behavior matches your Floodgate policy.",[11,273,275],{"id":274},"when-backends-need-floodgate-too","When backends need Floodgate too",[16,277,278],{},"Basic crossplay does not require Floodgate on every Paper server. Add it only when backend plugins need the Floodgate API, Bedrock skin handling, or Floodgate data.",[16,280,281,282,285,286,289],{},"The official extended procedure requires ",[69,283,284],{},"send-floodgate-data: true"," on the proxy and the same Floodgate ",[69,287,288],{},"key.pem"," on the trusted backends. That key enables Bedrock authentication and must never be published or sent to untrusted people. Transfer it as binary data, restrict file access, and rotate\u002Frebuild the trust relationship if it leaks.",[11,291,293],{"id":292},"troubleshooting","Troubleshooting",[200,295,296,309],{},[203,297,298],{},[206,299,300,303,306],{},[209,301,302],{},"Symptom",[209,304,305],{},"Likely cause",[209,307,308],{},"Fix",[216,310,311,325,336,347,358,372],{},[206,312,313,316,319],{},[221,314,315],{},"Java works, Bedrock shows “Unable to connect”",[221,317,318],{},"UDP mapping or firewall missing",[221,320,321,322],{},"Verify all four UDP layers and run ",[69,323,324],{},"geyser connectiontest",[206,326,327,330,333],{},[221,328,329],{},"Geyser is loaded on every backend",[221,331,332],{},"Wrong proxy architecture",[221,334,335],{},"Keep Geyser only on Velocity",[206,337,338,341,344],{},[221,339,340],{},"Bedrock reaches Geyser but not the backend",[221,342,343],{},"Velocity\u002Fbackend path or version mismatch",[221,345,346],{},"Test Java through Velocity and check Geyser supported versions",[206,348,349,352,355],{},[221,350,351],{},"Floodgate login asks for Java authentication",[221,353,354],{},"Geyser auth type not set to Floodgate",[221,356,357],{},"Align generated Geyser and Floodgate configuration",[206,359,360,366,369],{},[221,361,362,365],{},[69,363,364],{},"AEADBadTagException"," after copying keys",[221,367,368],{},"Floodgate keys differ or were transferred incorrectly",[221,370,371],{},"Recreate\u002Fcopy the exact key according to Floodgate docs",[206,373,374,377,380],{},[221,375,376],{},"UDP 19132 conflicts with another plugin",[221,378,379],{},"Two services use the same UDP port",[221,381,382],{},"Assign unique UDP listeners",[11,384,386],{"id":385},"next-steps","Next steps",[29,388,389,396,404],{},[32,390,391,392,189],{},"If Java routing is unreliable, use the ",[20,393,395],{"href":394},"\u002Fguides\u002Fvelocity-proxy-cannot-connect-backend-docker\u002F","Velocity backend runbook",[32,397,398,399,403],{},"Create a player-facing hostname with the ",[20,400,402],{"href":401},"\u002Fsrv-record-generator\u002F","Minecraft SRV generator",", while keeping the Bedrock port explicit.",[32,405,406,407,413],{},"Recheck ",[20,408,412],{"href":409,"rel":410},"https:\u002F\u002Fgeysermc.org\u002Fwiki\u002Fgeyser\u002Fsupported-versions\u002F",[411],"nofollow","Geyser supported versions"," before proxy or backend upgrades.",{"title":104,"searchDepth":415,"depth":415,"links":416},2,[417,418,419,420,421,422,423,424,425],{"id":13,"depth":415,"text":14},{"id":49,"depth":415,"text":50},{"id":88,"depth":415,"text":89},{"id":129,"depth":415,"text":130},{"id":172,"depth":415,"text":173},{"id":244,"depth":415,"text":245},{"id":274,"depth":415,"text":275},{"id":292,"depth":415,"text":293},{"id":385,"depth":415,"text":386},"networking","2026-08-01","Install Geyser on the proxy and check UDP port 19132 and Bedrock player authentication.",null,"md",[432,435,438],{"question":433,"answer":434},"Where should Geyser run in a Velocity network?","Install Geyser on the Velocity proxy, not separately on every backend. Floodgate also belongs on the proxy unless a backend specifically needs the Floodgate API or related skin support.",{"question":436,"answer":437},"Which port must Docker publish for Bedrock players?","Publish the configured Geyser listener, normally 19132, as UDP. The Compose mapping needs the \u002Fudp suffix, and the same UDP port must be allowed through host and provider firewalls.",{"question":439,"answer":440},"Do backend servers need Floodgate installed?","Not for basic proxy-level crossplay. Install it on backends only when plugins there need the Floodgate API or network-wide Floodgate data, then follow the official key distribution procedure.",false,"5","geyser-floodgate-velocity-proxy",{},true,"\u002Fguides\u002Fgeyser-floodgate-velocity-proxy-docker","proxy-configurator",[449,450,451],"velocity-proxy-docker-compose","velocity-modern-forwarding-paper","geyser-floodgate-crossplay",{"title":5,"description":428},"geyser-floodgate-velocity-proxy-docker",[455,458,461,464,465,468],{"title":456,"url":457},"Geyser setup for proxy servers","https:\u002F\u002Fgeysermc.org\u002Fwiki\u002Fgeyser\u002Fsetup\u002F",{"title":459,"url":460},"Floodgate proxy server setup","https:\u002F\u002Fgeysermc.org\u002Fwiki\u002Ffloodgate\u002Fsetup\u002Fproxy-servers\u002F",{"title":462,"url":463},"Geyser port forwarding","https:\u002F\u002Fgeysermc.org\u002Fwiki\u002Fgeyser\u002Fport-forwarding\u002F",{"title":412,"url":409},{"title":466,"url":467},"Velocity player information forwarding","https:\u002F\u002Fdocs.papermc.io\u002Fvelocity\u002Fplayer-information-forwarding\u002F",{"title":469,"url":470},"itzg\u002Fmc-proxy plugin settings","https:\u002F\u002Fgithub.com\u002Fitzg\u002Fdocker-mc-proxy","guides\u002F26.geyser-floodgate-velocity-proxy-docker","BW4JQZ24-8VwT46UuxPNzeGSW6Ypyl4Wg-sTz09t55A",[474,479,484,489,490,497,503,508,513,518,523,529,534,540,545,550,555,561,567,573,579,585,591,597,603,609],{"path":475,"title":476,"description":477,"excerpt":429,"author":6,"date":427,"category":478,"localeGroup":449},"\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.","getting-started",{"path":480,"title":481,"description":482,"excerpt":429,"author":6,"date":427,"category":483,"localeGroup":450},"\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",{"path":485,"title":486,"description":487,"excerpt":429,"author":6,"date":427,"category":426,"localeGroup":488},"\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":446,"title":5,"description":428,"excerpt":429,"author":6,"date":427,"category":426,"localeGroup":443},{"path":491,"title":492,"description":493,"excerpt":429,"author":6,"date":494,"category":495,"localeGroup":496},"\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":498,"title":499,"description":500,"excerpt":429,"author":6,"date":494,"category":501,"localeGroup":502},"\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":504,"title":505,"description":506,"excerpt":429,"author":6,"date":494,"category":501,"localeGroup":507},"\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":509,"title":510,"description":511,"excerpt":429,"author":6,"date":494,"category":495,"localeGroup":512},"\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":514,"title":515,"description":516,"excerpt":429,"author":6,"date":494,"category":495,"localeGroup":517},"\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":519,"title":520,"description":521,"excerpt":429,"author":6,"date":494,"category":501,"localeGroup":522},"\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":524,"title":525,"description":526,"excerpt":429,"author":6,"date":494,"category":527,"localeGroup":528},"\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":530,"title":531,"description":532,"excerpt":429,"author":6,"date":494,"category":483,"localeGroup":533},"\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":535,"title":536,"description":537,"excerpt":429,"author":6,"date":494,"category":538,"localeGroup":539},"\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":541,"title":542,"description":543,"excerpt":429,"author":6,"date":494,"category":538,"localeGroup":544},"\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":546,"title":547,"description":548,"excerpt":429,"author":6,"date":494,"category":538,"localeGroup":549},"\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":551,"title":552,"description":553,"excerpt":429,"author":6,"date":554,"category":426,"localeGroup":451},"\u002Fguides\u002Fminecraft-crossplay-geyser-floodgate","Set up Geyser and Floodgate on Paper","Let Bedrock players join a Java server: install the plugins, open the UDP port, and test the connection.","2026-04-04",{"path":556,"title":557,"description":558,"excerpt":429,"author":6,"date":559,"category":478,"localeGroup":560},"\u002Fguides\u002Fpaper-vs-vanilla-vs-fabric-vs-forge","Vanilla, Paper, Fabric, or Forge: choose server software","Compare Vanilla, Paper, Fabric, Quilt, Forge, and NeoForge by the plugins and mods you need.","2026-04-03","minecraft-server-software-choice",{"path":562,"title":563,"description":564,"excerpt":429,"author":6,"date":565,"category":527,"localeGroup":566},"\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":568,"title":569,"description":570,"excerpt":429,"author":6,"date":571,"category":527,"localeGroup":572},"\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":574,"title":575,"description":576,"excerpt":429,"author":6,"date":577,"category":527,"localeGroup":578},"\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":580,"title":581,"description":582,"excerpt":429,"author":6,"date":583,"category":495,"localeGroup":584},"\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":586,"title":587,"description":588,"excerpt":429,"author":6,"date":589,"category":495,"localeGroup":590},"\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":592,"title":593,"description":594,"excerpt":429,"author":6,"date":595,"category":426,"localeGroup":596},"\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":598,"title":599,"description":600,"excerpt":429,"author":6,"date":601,"category":426,"localeGroup":602},"\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","open-port-25565-hetzner-linux",{"path":604,"title":605,"description":606,"excerpt":429,"author":6,"date":607,"category":478,"localeGroup":608},"\u002Fguides\u002Fdetermining-correct-java-version-for-operating-minecraft-server","Find the Java version your Minecraft server needs","Match class-file errors to Java versions and choose the runtime for your server.","2025-01-31","java-version-minecraft-server",{"path":610,"title":611,"description":612,"excerpt":429,"author":6,"date":613,"category":478,"localeGroup":614},"\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",[616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,610,574,568,562,556,551,491,498,504,509,514,604,519,524,530,475,480,485,446,598,592,586,580,535,541,546],"\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\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",1789248457426]