{"id":16803842,"url":"https://github.com/evil0ctal/minecraft-java-server-operating-guide","last_synced_at":"2026-01-03T15:34:19.096Z","repository":{"id":221137262,"uuid":"753521551","full_name":"Evil0ctal/Minecraft-Java-Server-Operating-Guide","owner":"Evil0ctal","description":"一个从0到1的Minecraft服务器搭建指南，你可以在这里学习如何科学的搭建一个我的世界Java服务器。","archived":false,"fork":false,"pushed_at":"2024-02-06T13:40:22.000Z","size":41,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-10T15:17:32.105Z","etag":null,"topics":["minecraft","minecraft-guide","minecraft-plugin","minecraft-server","minecraft-tutorial"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Evil0ctal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-06T09:40:03.000Z","updated_at":"2025-02-11T03:26:49.000Z","dependencies_parsed_at":"2024-02-06T13:01:43.876Z","dependency_job_id":"14142e18-e309-48ee-9e1c-007770a30fef","html_url":"https://github.com/Evil0ctal/Minecraft-Java-Server-Operating-Guide","commit_stats":null,"previous_names":["evil0ctal/minecraft-java-server-operating-guide"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Evil0ctal%2FMinecraft-Java-Server-Operating-Guide","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Evil0ctal%2FMinecraft-Java-Server-Operating-Guide/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Evil0ctal%2FMinecraft-Java-Server-Operating-Guide/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Evil0ctal%2FMinecraft-Java-Server-Operating-Guide/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Evil0ctal","download_url":"https://codeload.github.com/Evil0ctal/Minecraft-Java-Server-Operating-Guide/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244005449,"owners_count":20382435,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["minecraft","minecraft-guide","minecraft-plugin","minecraft-server","minecraft-tutorial"],"created_at":"2024-10-13T09:43:36.918Z","updated_at":"2026-01-03T15:34:19.037Z","avatar_url":"https://github.com/Evil0ctal.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 Minecraft-Java-Server-Operating-Guide \n\n\u003e 本指南是一个全面的Minecraft服务器搭建指南，适用于初学者和有经验的服务器管理员。我们将从基本的准备工作到复杂的服务器优化，一步步引导你如何科学地搭建一个Minecraft Java服务器。\n\u003e \n\u003e 🎥 本指南配有视频教程，带你手把手操作。\n\u003e \n\u003e - [中文]：[Bilibili](https://space.bilibili.com/12505756/video)\n\u003e\n\u003e 🩷 也欢迎大家来我的Minecraft服务器游玩\n\u003e \n\u003e  网站：[https://boba.cat/](https://boba.cat/)\n\u003e \n\u003e  服务器版本: 1.20.1\n\u003e \n\u003e  服务器位置：旧金山湾区\n\u003e \n\u003e  服主微信：Evil0ctal\n\u003e \n\u003e  服务器Discord：[https://discord.gg/shNgKgsgNs](https://discord.gg/shNgKgsgNs)  \n\n## 📋 开服前的准备\n\n在搭建服务器之前，需要做好充分的准备。以下是搭建Minecraft服务器之前需要考虑的几个要点：\n\n- **Java版本**：Minecraft服务器运行在Java平台上，所以你需要安装合适的Java版本。通常情况下，Minecraft服务器需要Java 8或更高版本，2022年以后，大多需要Java17才能运行，所以请优先使用Java17，但具体需要哪个版本，取决于你选择的服务器后端。\n- **服务器后端的选择**：有几种不同的服务器后端可供选择，包括Bukkit、Spigot、PaperMC、Forge、Fabric和Sponge等。每种后端都有其特点和优势，不同的后端在性能、兼容性和可定制性方面有所不同。你应该根据你的服务器的需求和预期的玩家数量来选择合适的后端。\n- **游戏版本选择**：你需要选择一个Minecraft的游戏版本。同时，你可以使用特定的工具和插件（如ViaVersion, ViaBackwards, ViaRewind）来允许不同版本的客户端连接到你的服务器。\n- **插件服与Mod服区别**：\n  \n  - **插件服**：通常使用Bukkit, Spigot或PaperMC等后端，允许你安装插件来增加游戏功能或改变游戏机制。插件不会修改游戏的核心代码，因此对客户端没有要求。\n  - **Mod服**：需要特定的服务器软件（如Forge或Fabric），并且客户端也需要安装相同的Mods才能连接。Mods可以深度修改游戏内容和机制。\n- **服务器的配置选择**：服务器配置取决于你预计的玩家数量和服务器类型。至少需要一个四核CPU和4GB以上的RAM。对于大型服务器或公共服务器，可能需要更高配置的服务器和专业的网络设置。\n- **服务器环境**：你可以选择在Windows或Linux环境下运行你的服务器。Linux通常被认为在运行服务器时更加高效和稳定，但是如果你对Linux的指令感到陌生，请使用Windows进行操作。\n- **服务器网络环境**：如果你没有公网IP，你可能需要使用内网穿透工具（如FRP）来公开你的服务器。同时，确保你的服务器网络安全，防止未经授权的访问。\n\n## 💻 服务器后端的选择及其GitHub链接\n\n在选择Minecraft服务器后端时，了解每个选项的特性和优势是非常重要的。这不仅影响服务器的性能，还影响着可用的特性和插件或Mods的兼容性。下面是一些流行的Minecraft服务器后端，并附上了它们的GitHub链接，以便于读者获取更多的开发信息和社区支持。\n\n1. **Spigot**\n   \n   - **介绍**：Spigot 是Bukkit的一个分支，专注于提高性能和减少延迟。它提供了许多优化选项，可以通过配置文件调整，这使得服务器管理员能够根据自己的需求来优化服务器。\n   - **GitHub链接**：[SpigotMC/Spigot](https://github.com/SpigotMC/Spigot) 🌐\n2. **PaperMC**\n   \n   - **介绍**：PaperMC 是Spigot的一个分支，旨在进一步提高性能和响应速度。PaperMC 提供了更多的配置选项和性能优化，同时保持对Bukkit插件的高度兼容性。\n   - **GitHub链接**：[PaperMC/Paper](https://github.com/PaperMC/Paper) 🌐\n3. **CraftBukkit**\n   \n   - **介绍**：CraftBukkit 是Minecraft服务器的早期形式，提供了基础的服务器功能和插件支持。虽然现在多数被Spigot和PaperMC所取代，但仍有一些服务器选择使用CraftBukkit。\n   - **GitHub链接**：[Bukkit/CraftBukkit](https://github.com/Bukkit/CraftBukkit) 🌐\n4. **Forge**\n   \n   - **介绍**：Forge 是专注于Mod的服务器后端，提供了强大的Mod加载和兼容性支持。它允许服务器运行专门为Forge开发的Mods，非常适合那些想要彻底改变游戏玩法的服务器。\n   - **GitHub链接**：[MinecraftForge/MinecraftForge](https://github.com/MinecraftForge/MinecraftForge) 🌐\n5. **Fabric**\n   \n   - **介绍**：Fabric 是一个轻量级的模组加载器和API。它旨在提供基于Minecraft 1.14及之后版本的Mods和插件的最低限度的覆盖。Fabric 的目标是允许更多实验性的Mods的产生，同时保持它们自己的独立性。\n   - **GitHub链接**：[FabricMC/fabric](https://github.com/FabricMC/fabric) 🌐\n6. **Sponge**\n   \n   - **介绍**：Sponge 是一个开源项目，旨在创建一个插件开发框架。它工作在Minecraft Forge之上，并提供了一种兼容Forge Mods的方式来添加插件功能。\n   - **GitHub链接**：[SpongePowered/Sponge](https://github.com/SpongePowered/Sponge) 🌐\n\n在选择服务器后端时，需要考虑服务器的需求、预期的玩家数量、以及你希望服务器能够提供的功能。不同的后端在性能、兼容性和可定制性方面各有优劣。例如，如果你需要运行大量Mods，Forge或Fabric可能是最好的选择。如果你关注服务器的性能和响应速度，Spigot或PaperMC可能更合适。而对于那些希望有广泛插件支持的服务器，Sponge也是一个不错的选择。\n\n选择适合自己的服务器后端后，你可以访问其GitHub页面来获取安装指南、配置说明以及社区的支持和贡献指南。这些资源将帮助你更好地管理和优化你的Minecraft服务器。\n\n## 🚀 开启你的第一个服务器\n\n\u003e 相信当你阅读完上面的介绍后，对Minecraft服务器已经有了一定的认知，在下面我们将带你开启你的第一个Minecraft服务器，并且安装一些插件，然后使用PaperMC作为后端支持，运行在Windows上，随后使用FRP安全的将服务器暴露在互联网中。\n\n### 1️⃣ 安装Microsoft OpenJDK 17\n\nMinecraft服务器需要Java运行环境。我们推荐使用Microsoft OpenJDK 17，它是一个免费且经过优化的JDK版本。访问[Microsoft OpenJDK官网](https://www.microsoft.com/openjdk)下载适用于你的操作系统的安装包。\n\n- 下载完成后，运行安装程序并按照指示完成安装。\n- 安装完成后，打开命令提示符（Windows）或终端（Linux/macOS），输入 `java -version` 确认安装成功。你应该看到版本号为17的相关信息。\n\n### 2️⃣ 下载PaperMC\n\nPaperMC 是一个高性能的Minecraft服务器，提供了更好的性能和更多的配置选项。访问 [PaperMC官网](https://papermc.io/)，选择适合你的Minecraft版本的PaperMC。\n\n- 下载 `.jar` 文件后，选择一个适合的位置创建一个文件夹，例如 `C:\\MinecraftServer` 或 `/home/user/minecraftserver`。\n- 将下载的 `.jar` 文件放入这个文件夹。\n\n### 3️⃣ 运行服务器\n\n打开命令提示符或终端，导航到你的服务器文件夹，使用以下命令启动服务器：\n\n```bash\njava -Xms1024M -Xmx2048M -jar paper-xxx.jar nogui\n```\n* `-Xms1024M` 和`-Xmx2048M` 分别是服务器的最小和最大内存限制。根据你的服务器硬件配置，你可能需要调整这些值。\n* 如果是首次运行，服务器将要求你接受Minecraft的最终用户许可协议（EULA）。打开生成的`eula.txt` 文件，将`eula=false` 改为`eula=true`。\n\n### 4️⃣ 配置服务器\n\n服务器首次运行后，会生成 `server.properties` 文件，你可以在这里配置服务器的基本设置：\n\n* `server-port`: 修改服务器监听的端口，默认是25565。\n* `max-players`: 设置服务器允许连接的最大玩家数。\n* `level-name`: 设置世界的名称，决定服务器使用哪个文件夹作为世界数据。\n\nPaperMC 和 Spigot 提供了 `paper.yml` 和 `spigot.yml` 配置文件，你可以在这里进行更详细的设置，比如调整视距、实体数量和区块加载等，以优化服务器性能。\n\n### 5️⃣ 安装和配置插件\n\nPaperMC 支持 Bukkit 和 Spigot 插件，可以极大地扩展服务器的功能。\n\n* 从网站如[SpigotMC](https://www.spigotmc.org/resources/) 和[Bukkit](https://dev.bukkit.org/bukkit-plugins) 下载插件。\n* 将`.jar` 文件放入`plugins` 文件夹。\n* 重启服务器，插件将被加载。\n\n**基本插件推荐**：\n\n* **EssentialsX**: 提供基本功能，如家园、传送和私聊。\n* **WorldEdit**: 强大的地图编辑工具。\n* **PermissionsEx**: 权限管理插件，管理玩家权限。\n* **Vault**: 提供各种经济系统的支持。\n\n插件的配置文件通常会在首次加载时生成在 `plugins` 文件夹的相应插件子文件夹内。它们通常是YAML或JSON格式，可以用文本编辑器进行修改。\n\n对于插件的调试和管理，你可以使用 **PlugMan** 插件来动态加载和卸载插件，这在测试时非常有用。选择插件时，请考虑插件的更新频率、社区反馈和是否适合你的服务器设定。\n\n### 6️⃣ 使用FRP进行内网穿透\n\n如果你没有公网IP，可以使用FRP将你的服务器暴露在互联网中。FRP是一个使用Go语言编写的专注于内网穿透的高性能的反向代理应用，支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。你需要一台具有公网IP的VPS作为入口。首先，在VPS上安装并配置FRP服务端（frps），然后在你的Minecraft服务器上安装并配置FRP客户端（frpc）。\n\n* 下载FRP至你的电脑:\n  * Windows和Linux请下载对应的版本。\n  * 下载地址：[https://github.com/fatedier/frp/releases](https://github.com/fatedier/frp/releases)\n* 配置FRP:\n  * 服务端-拥有公网IP的机器（frps）:\n    * 服务端只需要配置端口以及设置一个安全的连接密钥供客户端连接。\n    * 标准的`frps.toml` 配置文件如下：\n      ```toml\n      bindPort = 7000\n      auth.token = \"REPLACE_YOUR_TOKEN（换成你的密钥）\"\n      ```\n    * 在服务器或者云服务器面板中放行`bindPort` 和 frpc配置文件中`remotePort` 指定的端口，如默认的7000和下面演示的25566端口，不要忘记修改auth.token。\n    * 使用以下命令启动frps服务：`./frps -c ./frps.toml`。\n    * 如果需要在后台长期运行，建议结合其他工具，如[systemd](https://gofrp.org/zh-cn/docs/setup/systemd/) 和`supervisor`。\n  * 客户端-运行Minecraft服务器的机器（frpc）:\n    * 客户端需要填写与服务端一样的端口和auth.token\n    * 标准的`frpc.toml` 配置文件如下：\n      ```toml\n      serverAddr = \"REPLACE_YOUR_SERVER_IP（换成你的服务端IP）\"\n      serverPort = 7000\n      auth.token = \"REPLACE_YOUR_TOKEN（换成你的密钥）\"\n      \n      [[proxies]]\n      name = \"Minecraft-Server-TCP-25566\"\n      type = \"tcp\"\n      localIP = \"127.0.0.1\"\n      localPort = 25565\n      remotePort = 25566\n      ```\n    * 使用以下命令启动客户端：`frpc.exe -c ./frpc.toml`。\n* 配置好FRPS和FRPC后，确保在VPS上设置好防火墙规则，只允许必要的端口（例如 Minecraft 端口和 FRP 端口）。\n* 访问[FRP的GitHub页面](https://github.com/fatedier/frp) 获取详细的安装和配置指南。\n* 现在只需要在客户端的多人游戏中输入运行frps（服务端）的IP地址以及25566端口即可进入服务器游玩。\n* 格式如:`123.456.789.0:25566`\n\n### 7️⃣ 备份服务器和权限控制\n\n**备份**：定期备份你的服务器数据非常重要。你可以使用如 **eBackupPlugin** 插件自动备份，或者手动复制整个Minecraft服务器文件夹到安全的位置。\n\n**权限控制**：使用权限插件如 **PermissionsEx** 或 **LuckPerms** 来管理玩家权限。合理的权限设置可以防止插件指令滥用，并确保玩家有良好的游戏体验。\n\n通过上述步骤，你可以成功地搭建并运行一个高效、安全且功能丰富的Minecraft服务器。记得定期维护服务器，更新插件和服务器软件，以及与你的社区保持互动。祝你的Minecraft服务器旅程顺利！\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevil0ctal%2Fminecraft-java-server-operating-guide","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fevil0ctal%2Fminecraft-java-server-operating-guide","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevil0ctal%2Fminecraft-java-server-operating-guide/lists"}