[{"data":1,"prerenderedAt":492},["ShallowReactive",2],{"\u002Fguides\u002Fpaper-vs-vanilla-vs-fabric-vs-forge\u002F":3,"guides:en":419,"published-guide-paths":480},{"id":4,"title":5,"author":6,"body":7,"category":372,"date":373,"description":374,"excerpt":375,"extension":376,"faq":377,"featured":387,"featuredOrder":375,"localeGroup":388,"meta":389,"navigation":390,"path":391,"published":390,"related":392,"seo":396,"slug":397,"sources":398,"stem":417,"updated":373,"__hash__":418},"guides\u002Fguides\u002F13.paper-vs-vanilla-vs-fabric-vs-forge.md","Paper vs Vanilla vs Fabric vs Forge: Which Minecraft Server Software Should You Choose?","setupmc.com Team",{"type":8,"value":9,"toc":352},"minimark",[10,15,104,107,111,114,127,135,138,141,143,154,157,160,163,166,174,177,180,183,186,197,200,203,206,209,217,220,223,226,229,240,243,247,250,255,258,262,265,291,295,304,308,313,316,320,327,331],[11,12,14],"h2",{"id":13},"the-decision-in-one-table","The decision in one table",[16,17,18,34],"table",{},[19,20,21],"thead",{},[22,23,24,28,31],"tr",{},[25,26,27],"th",{},"Option",[25,29,30],{},"Best for",[25,32,33],{},"Main trade-off",[35,36,37,49,60,71,82,93],"tbody",{},[22,38,39,43,46],{},[40,41,42],"td",{},"Vanilla",[40,44,45],{},"Pure official server behavior",[40,47,48],{},"Fewer operational features and fewer performance-oriented tools",[22,50,51,54,57],{},[40,52,53],{},"Paper",[40,55,56],{},"Plugins, admin tooling, and better practical performance",[40,58,59],{},"Not a mod loader",[22,61,62,65,68],{},[40,63,64],{},"Fabric",[40,66,67],{},"Lightweight modded servers",[40,69,70],{},"Requires Fabric-compatible mods",[22,72,73,76,79],{},[40,74,75],{},"Quilt",[40,77,78],{},"Quilt-specific setups and users who intentionally want Quilt Loader",[40,80,81],{},"Extra compatibility judgment, and Quilt still describes parts of its ecosystem as beta",[22,83,84,87,90],{},[40,85,86],{},"Forge",[40,88,89],{},"Forge-specific modpacks and mod ecosystems",[40,91,92],{},"Heavier modded stack and different operational expectations",[22,94,95,98,101],{},[40,96,97],{},"NeoForge",[40,99,100],{},"NeoForge-specific modpacks and current NeoForge ecosystems",[40,102,103],{},"Separate loader choice with its own version and pack requirements",[11,105,42],{"id":106},"vanilla",[108,109,110],"p",{},"Vanilla is the official Java Edition server published by Mojang.",[108,112,113],{},"Choose it when:",[115,116,117,121,124],"ul",{},[118,119,120],"li",{},"you want the official baseline",[118,122,123],{},"you do not need plugins",[118,125,126],{},"you want the fewest moving parts possible",[108,128,129,130,134],{},"Do ",[131,132,133],"strong",{},"not"," choose it if your real goal is plugin support, better profiling, or easier performance work.",[11,136,53],{"id":137},"paper",[108,139,140],{},"Paper describes itself as a Minecraft server based on Spigot, designed to improve performance and offer more advanced features and API.",[108,142,113],{},[115,144,145,148,151],{},[118,146,147],{},"you want plugins",[118,149,150],{},"you care about practical server administration",[118,152,153],{},"you want the best general-purpose default for a self-hosted Java server",[108,155,156],{},"For most setupmc.com-style servers, this is the best default.",[11,158,64],{"id":159},"fabric",[108,161,162],{},"Fabric belongs to the modded ecosystem.\nIts documentation is centered around installing Fabric and then adding Fabric-compatible mods.",[108,164,165],{},"Choose Fabric when:",[115,167,168,171],{},[118,169,170],{},"a mod or modpack explicitly requires Fabric",[118,172,173],{},"you want a modded server, not a plugin server",[108,175,176],{},"Do not choose Fabric because “it sounds lighter” if what you really need is a Paper plugin stack.",[11,178,75],{"id":179},"quilt",[108,181,182],{},"Quilt is also part of the modded ecosystem.\nIts official site describes Quilt Loader as a mod loader compatible with Fabric mods, and parts of Quilt's install flow still carry a beta warning.",[108,184,185],{},"Choose Quilt when:",[115,187,188,191,194],{},[118,189,190],{},"a modpack or mod explicitly requires Quilt",[118,192,193],{},"you intentionally want Quilt Loader rather than plain Fabric",[118,195,196],{},"you have already confirmed the pack and dependency chain are happy on Quilt",[108,198,199],{},"Do not choose Quilt just because it might run many Fabric mods.\nThe safe rule is still to follow the loader the pack author actually names.",[11,201,86],{"id":202},"forge",[108,204,205],{},"Forge is also part of the modded ecosystem and remains important for many modded setups and pack requirements.",[108,207,208],{},"Choose Forge when:",[115,210,211,214],{},[118,212,213],{},"the modpack or mods you want explicitly require Forge",[118,215,216],{},"the ecosystem you depend on is built for Forge",[108,218,219],{},"Do not choose Forge for a plugin-based server.",[11,221,97],{"id":222},"neoforge",[108,224,225],{},"NeoForge is its own current modding ecosystem with separate official server installation docs and modpack guidance.",[108,227,228],{},"Choose NeoForge when:",[115,230,231,234,237],{},[118,232,233],{},"the modpack explicitly requires NeoForge",[118,235,236],{},"the mods you need target NeoForge",[118,238,239],{},"you are following a current server pack built around NeoForge",[108,241,242],{},"Do not substitute Forge just because the names sound close.\nDo not substitute Fabric or Quilt either.\nOnce a modded pack names its required loader, follow that requirement literally.",[11,244,246],{"id":245},"the-most-common-wrong-choice","The most common wrong choice",[108,248,249],{},"The usual mistake is not between Fabric and Forge.\nIt is this:",[108,251,252],{},[131,253,254],{},"admins want plugins and operational headroom, but start on Vanilla anyway.",[108,256,257],{},"That often leads to a later migration to Paper after avoidable pain with performance diagnosis and server management.",[11,259,261],{"id":260},"recommended-defaults","Recommended defaults",[108,263,264],{},"Use this rule set:",[115,266,267,273,278],{},[118,268,269,270,272],{},"choose ",[131,271,53],{}," for most survival, SMP, and public friend-group servers",[118,274,269,275,277],{},[131,276,42],{}," only when official baseline behavior is the primary goal",[118,279,269,280,282,283,282,285,287,288,290],{},[131,281,64],{},", ",[131,284,75],{},[131,286,86],{},", or ",[131,289,97],{}," only when a modded requirement forces that ecosystem",[11,292,294],{"id":293},"version-and-java-note","Version and Java note",[108,296,297,298,303],{},"Once you leave Vanilla and go into modded stacks, Java compatibility becomes more important.\nIf you hit startup errors or version mismatches, use ",[299,300,302],"a",{"href":301},"\u002Fguides\u002Fdetermining-correct-java-version-for-operating-minecraft-server\u002F","the Java version guide",".",[11,305,307],{"id":306},"faq","FAQ",[309,310,312],"h3",{"id":311},"is-paper-always-faster-than-every-other-option","Is Paper always faster than every other option?",[108,314,315],{},"Not in every imaginable case, but it is the strongest default when you need a practical, plugin-friendly server with good operational tooling.",[309,317,319],{"id":318},"can-i-add-geyser-to-paper-for-bedrock-players","Can I add Geyser to Paper for Bedrock players?",[108,321,322,323,303],{},"Yes. Paper is a common base for direct Geyser and Floodgate setups. See ",[299,324,326],{"href":325},"\u002Fguides\u002Fminecraft-crossplay-geyser-floodgate\u002F","the crossplay guide",[11,328,330],{"id":329},"next-steps","Next steps",[115,332,333,340,346],{},[118,334,335,336,303],{},"If lag is already the problem, start with ",[299,337,339],{"href":338},"\u002Fguides\u002Fminecraft-server-lag-tps-mspt-cant-keep-up\u002F","TPS, MSPT, and Can’t Keep Up",[118,341,342,343,303],{},"If you want crossplay on a Paper server, follow ",[299,344,345],{"href":325},"the Geyser and Floodgate guide",[118,347,348,349,303],{},"If Java versions are blocking startup, use ",[299,350,351],{"href":301},"the Java compatibility guide",{"title":353,"searchDepth":354,"depth":354,"links":355},"",2,[356,357,358,359,360,361,362,363,364,365,366,371],{"id":13,"depth":354,"text":14},{"id":106,"depth":354,"text":42},{"id":137,"depth":354,"text":53},{"id":159,"depth":354,"text":64},{"id":179,"depth":354,"text":75},{"id":202,"depth":354,"text":86},{"id":222,"depth":354,"text":97},{"id":245,"depth":354,"text":246},{"id":260,"depth":354,"text":261},{"id":293,"depth":354,"text":294},{"id":306,"depth":354,"text":307,"children":367},[368,370],{"id":311,"depth":369,"text":312},3,{"id":318,"depth":369,"text":319},{"id":329,"depth":354,"text":330},"docker-operations","2026-04-03","Choosing the wrong server software creates avoidable pain later. This guide compares Vanilla, Paper, Fabric, Quilt, Forge, and NeoForge based on plugins, mods, performance, and operational complexity.",null,"md",[378,381,384],{"question":379,"answer":380},"Which option is the safest default for a small public server?","Paper is usually the strongest default when you want plugins, practical performance improvements, and good operational tooling.",{"question":382,"answer":383},"When should I choose Fabric instead?","Choose Fabric when the server must run Fabric mods specifically. It is not a drop-in replacement for Paper plugins.",{"question":385,"answer":386},"Can I run Bukkit or Paper plugins on Forge?","No, not directly. Forge is part of the modding ecosystem, not the Bukkit or Paper plugin ecosystem.",false,"minecraft-server-software-choice",{},true,"\u002Fguides\u002Fpaper-vs-vanilla-vs-fabric-vs-forge",[393,394,395],"minecraft-lag-tps-mspt","geyser-floodgate-crossplay","java-version-minecraft-server",{"title":5,"description":374},"paper-vs-vanilla-vs-fabric-vs-forge",[399,402,405,408,411,414],{"title":400,"url":401},"Minecraft Java Edition server download","https:\u002F\u002Fwww.minecraft.net\u002Fdownload\u002Fserver",{"title":403,"url":404},"Paper software overview","https:\u002F\u002Fpapermc.io\u002Fsoftware\u002Fpaper\u002F",{"title":406,"url":407},"Fabric documentation","https:\u002F\u002Fdocs.fabricmc.net\u002Findex",{"title":409,"url":410},"Quilt overview","https:\u002F\u002Fquiltmc.org\u002Fen\u002F",{"title":412,"url":413},"Forge documentation","https:\u002F\u002Fdocs.minecraftforge.net\u002Fen\u002Flatest\u002Fgettingstarted\u002F",{"title":415,"url":416},"NeoForged docs","https:\u002F\u002Fdocs.neoforged.net\u002F","guides\u002F13.paper-vs-vanilla-vs-fabric-vs-forge","xiUDwvALxk-w2v1Ye3a0C5cWV1iZHpl5ueEaIm72-MQ",[420,426,427,434,440,445,451,457,463,469,474],{"path":421,"title":422,"description":423,"excerpt":375,"author":6,"date":424,"category":425,"localeGroup":394},"\u002Fguides\u002Fminecraft-crossplay-geyser-floodgate","Set Up Java and Bedrock Crossplay with Geyser and Floodgate","Want Bedrock players on phones or consoles to join your Java server? This guide shows a direct Paper-based Geyser and Floodgate setup without introducing a separate proxy layer.","2026-04-04","networking",{"path":391,"title":5,"description":374,"excerpt":375,"author":6,"date":373,"category":372,"localeGroup":388},{"path":428,"title":429,"description":430,"excerpt":375,"author":6,"date":431,"category":432,"localeGroup":433},"\u002Fguides\u002Fpaper-view-distance-vs-simulation-distance","View Distance vs Simulation Distance: Safe Starting Values for Paper","Paper exposes view-distance and simulation-distance separately, which makes them one of the safest first levers for performance tuning. This guide explains what each setting changes and which starting values are sensible.","2026-04-02","performance","paper-view-distance-simulation-distance",{"path":435,"title":436,"description":437,"excerpt":375,"author":6,"date":438,"category":432,"localeGroup":439},"\u002Fguides\u002Fspark-profiler-paper-docker","Use Spark Profiler to Find Minecraft Lag in Paper and Docker","Paper bundles Spark starting with 1.21, which makes it the preferred profiler for diagnosing lag. This guide shows how to capture a useful report and how to read the first findings without guesswork.","2026-04-01","spark-profiler-paper-docker",{"path":441,"title":442,"description":443,"excerpt":375,"author":6,"date":444,"category":432,"localeGroup":393},"\u002Fguides\u002Fminecraft-server-lag-tps-mspt-cant-keep-up","Minecraft Server Lag Explained: TPS, MSPT, and 'Can’t Keep Up'","This guide explains what TPS and MSPT actually mean, why “Can’t keep up” appears in the console, and which checks help you separate CPU, chunk, entity, and plugin problems quickly.","2026-03-31",{"path":446,"title":447,"description":448,"excerpt":375,"author":6,"date":449,"category":372,"localeGroup":450},"\u002Fguides\u002Ffix-permission-denied-itzg-docker-minecraft-server","Fix Permission Denied in itzg\u002Fminecraft-server with UID\u002FGID and Bind Mounts","Seeing permission errors in \u002Fdata or files that Docker cannot write? This guide explains why itzg\u002Fminecraft-server defaults to UID 1000:GID 1000 and how to fix ownership safely.","2026-03-09","itzg-permission-denied",{"path":452,"title":453,"description":454,"excerpt":375,"author":6,"date":455,"category":372,"localeGroup":456},"\u002Fguides\u002Fadminister-docker-minecraft-server-rcon-console","Administer a Docker Minecraft Server Safely with RCON and Console Access","Need to op a player, manage the whitelist, or stop the server cleanly? This guide shows how to use RCON and interactive console access with itzg\u002Fminecraft-server without exposing extra risk.","2026-03-08","docker-minecraft-rcon-console",{"path":458,"title":459,"description":460,"excerpt":375,"author":6,"date":461,"category":425,"localeGroup":462},"\u002Fguides\u002Fminecraft-domain-without-port-srv-record","Minecraft Domain Without a Port: How to Set Up an SRV Record","Want players to join via example.com instead of an IP and port? This guide shows how SRV records work for Minecraft Java Edition and how to configure them correctly.","2026-03-07","minecraft-srv-record-domain",{"path":464,"title":465,"description":466,"excerpt":375,"author":6,"date":467,"category":425,"localeGroup":468},"\u002Fguides\u002Fopen-port-25565-minecraft-server-hetzner-linux","How to Open Port 25565 for a Minecraft Server on Hetzner and Linux","Players cannot join even though the container is running? This guide shows how to open port 25565 correctly across Docker, UFW, and the Hetzner Cloud Firewall.","2026-03-05","open-port-25565-hetzner-linux",{"path":470,"title":471,"description":472,"excerpt":375,"author":6,"date":473,"category":372,"localeGroup":395},"\u002Fguides\u002Fdetermining-correct-java-version-for-operating-minecraft-server","Determining the Correct Java Version for Operating a Minecraft Server","If you want to set up a Minecraft server, you may encounter an error message related to the Java version when starting the server. In this article, you will learn how to determine the correct Java version for your Minecraft server.","2025-01-31",{"path":475,"title":476,"description":477,"excerpt":375,"author":6,"date":478,"category":372,"localeGroup":479},"\u002Fguides\u002Fminecraft-server-with-docker-on-hetzner-cloud","Setting up a Minecraft Server on a Hetzner Cloud Server with Docker Compose","In this article, we will show you how to set up a server for Minecraft: Java Edition on a Hetzner Cloud server. We will go through the steps of creating the cloud server, installing Debian, setting up an SSH key, and configuring Docker Compose for easy server management.","2025-01-28","hetzner-docker-setup",[481,482,483,484,485,486,487,488,489,490,491,475,441,435,428,391,421,470,464,458,452,446],"\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\u002Fdetermining-correct-java-version-for-operating-minecraft-server","\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",1775292570280]