logo
0
0
WeChat Login

我的世界服务端下载器(MinecraftServerDownload)

一个基于 .NET 8 与 WPF 的图形界面工具,支持原版与 Paper 服务器下载,并提供 Spigot 服务端本地构建能力。应用整合了统一日志展示、远程版本检测、默认保存路径持久化与跨页面同步、关于页链接与头像展示等功能,开箱即用,适合快速获取并管理 Minecraft 服务器端文件。

功能特性

  • 原版与 Paper 服务端下载:支持选择版本与构建,显示进度与日志
  • 本地构建 Spigot:检测 BuildTools.jar 与已安装 Java,配置输出目录,跟踪构建日志
  • 统一日志窗口:所有提示与错误信息汇总到主日志窗口,便于查看
  • 版本检测:启动与页面加载时从 ver.mrcao.com.cn/ver.txt/https 检查远程版本,提示是否可更新
  • 标签图标与自适应布局:使用 Segoe MDL2 Assets 图标,Tab 内容随窗口拉伸而自适应
  • 关于页面:作者信息、项目地址、问题反馈与官方仓库引用链接;B 站头像圆形裁剪展示
  • 默认保存路径持久化与跨页同步:在设置页保存后,其他页签自动刷新;重启应用后仍然生效
  • 许可证文本自动上下滚动展示(Spigot 构建页底部)

快速开始

  • 系统要求:Windows 10/11,.NET 8 SDK(开发与编译),运行时可使用发布包的自包含 EXE
  • 运行调试版:
    • 在仓库根目录执行:
      dotnet build .\DownloadMinecraftServer.GUI\DownloadMinecraftServer.GUI.csproj
    • 运行生成的 bin\Debug\net8.0-windows\MinecraftServerDownload.exe

编译与发布

  • 生成自包含单文件 EXE(含图标):
    dotnet publish .\DownloadMinecraftServer.GUI\DownloadMinecraftServer.GUI.csproj -c Release -r win-x64 --self-contained true /p:PublishSingleFile=true
  • 输出可执行文件名:MinecraftServerDownload.exe(由 DownloadMinecraftServer.GUI.csprojAssemblyName 指定)
  • 打包为 zip(PowerShell 示例):
    $out = "e:\Works\MinecraftDownloadServer\DownloadMinecraftServer.GUI\bin\Release\net8.0-windows\win-x64\publish" Compress-Archive -Path "$out\*" -DestinationPath "$out\MinecraftServerDownload.zip" -Force
  • 应用图标:
    • 图标文件:Assets\app.ico
    • 项目配置:DownloadMinecraftServer.GUI\DownloadMinecraftServer.GUI.csproj 中:
      <ApplicationIcon>Assets\app.ico</ApplicationIcon> <AssemblyName>MinecraftServerDownload</AssemblyName>
    • 窗口与任务栏会显示该图标

主要界面

  • 版本选择:选择核心(原版、Paper)、版本与构建,设置保存路径,开始下载
  • 下载管理:浏览并刷新保存目录下的 jar 文件列表,打开目录
  • 构建 Spigot:选择 BuildTools.jar 源(官方/镜像;镜像源会提示不可用并自动切回官方)、Java 版本与构建参数,输出日志与清理缓存
  • 设置页面:选择并保存“默认保存路径”,该路径会自动同步到各页签并持久化到本地
  • 关于页面:
    • 作者:明明Uncle(B 站:https://space.bilibili.com/342163344
    • 项目地址:https://cnb.cool/JeffreyMing/MinecraftServerDownloads
    • 问题反馈:https://cnb.cool/JeffreyMing/MinecraftServerDownloads/-/issues
    • 引用仓库(SpigotMC 官方):
      • BuildData: https://hub.spigotmc.org/stash/scm/spigot/builddata.git
      • Bukkit: https://hub.spigotmc.org/stash/scm/spigot/bukkit.git
      • CraftBukkit: https://hub.spigotmc.org/stash/scm/spigot/craftbukkit.git
      • Spigot: https://hub.spigotmc.org/stash/scm/spigot/spigot.git
      • BuildTools: https://hub.spigotmc.org/stash/scm/spigot/buildtools.git

配置与持久化

  • 默认保存路径存储在:%LocalAppData%\MinecraftServerDownload\config.json
  • 相关代码:Services\ConfigService.cs 提供 DefaultSavePathDefaultPathChanged 事件用于跨页同步

目录结构(简略)

MinecraftDownloadServer/ ├─ DownloadMinecraftServer.GUI/ │ ├─ Assets/ # 应用图标与资源(app.ico、*.png) │ ├─ Views/ # WPF 页面(XAML 与代码后置) │ ├─ Services/ # 业务与网络客户端(Mojang/Paper/Config 等) │ ├─ Models/ # 数据模型 │ ├─ MainWindow.xaml # 主窗口与标签页 │ └─ DownloadMinecraftServer.GUI.csproj └─ README.md

使用提示

  • Spigot 构建的镜像源当前不可用,选择时会提示并自动切回官方源
  • 版本检测支持 httphttps,网络异常时会在日志中提示失败
  • 所有操作日志统一汇总到各页签的“日志”区域,发生错误时便于定位

许可证

  • 本项目包含如下免责声明(在“构建Spigot服务端”页底部滚动显示):
    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

致谢

  • Mojang 官方版本清单与服务器端下载
  • PaperMC API 与构建生态
  • SpigotMC 官方仓库与 BuildTools

About

基于源项目(https://cnb.cool/JeffreyMing/MinecraftServerDownload)二次开发的C#版本

Language
C#94.7%
CSS4%
HTML1.1%
JavaScript0.2%