惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

量子位
C
CXSECURITY Database RSS Feed - CXSecurity.com
S
Schneier on Security
博客园 - 叶小钗
博客园 - 三生石上(FineUI控件)
C
Cybersecurity and Infrastructure Security Agency CISA
Engineering at Meta
Engineering at Meta
Google DeepMind News
Google DeepMind News
酷 壳 – CoolShell
酷 壳 – CoolShell
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园_首页
T
Threat Research - Cisco Blogs
C
Cisco Blogs
Recent Announcements
Recent Announcements
S
Securelist
N
Netflix TechBlog - Medium
The Register - Security
The Register - Security
P
Privacy & Cybersecurity Law Blog
宝玉的分享
宝玉的分享
D
Darknet – Hacking Tools, Hacker News & Cyber Security
L
LINUX DO - 热门话题
T
Tor Project blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
月光博客
月光博客
AWS News Blog
AWS News Blog
P
Proofpoint News Feed
博客园 - 司徒正美
L
LINUX DO - 最新话题
Stack Overflow Blog
Stack Overflow Blog
博客园 - 聂微东
H
Help Net Security
Spread Privacy
Spread Privacy
PCI Perspectives
PCI Perspectives
Project Zero
Project Zero
I
Intezer
T
The Blog of Author Tim Ferriss
有赞技术团队
有赞技术团队
The Last Watchdog
The Last Watchdog
C
Check Point Blog
Blog — PlanetScale
Blog — PlanetScale
B
Blog RSS Feed
MyScale Blog
MyScale Blog
V
Vulnerabilities – Threatpost
Recorded Future
Recorded Future
T
Tenable Blog
Jina AI
Jina AI
D
DataBreaches.Net
阮一峰的网络日志
阮一峰的网络日志

Rust

RustScript: 给你的 Rust 项目带来脚本化功能 - V2EX RUST 语法极其丑陋 - V2EX 一款跑在终端里的本地优先密码管理器,用全屏 TUI 管理账号、密钥和安全笔记。 - V2EX 如何理解 rust 闭包的借用值机制? 被借用的值在闭包内到底是什么类型? [开源] Best of RS - 一个由 Rust 编写的追踪 Rust 开源趋势的全栈 web 项目 - V2EX Rust 真是非常适合 AI vibe coding 的语言 - V2EX 开源这两天 Vibe 的 Rust 重写的 OpenClaw - V2EX 用 rust 写了一个非常简单的局域网文本同步的小玩意 - V2EX [寻求帮助 Linux ] 用 rust 写了一个跨平台输入监听库(鼠标键盘) - V2EX Contributions to Rust and LLVM in 2025 - V2EX Linux 内核中的 rust - V2EX 2025 年度 Rust 语言社区调查 已经发布 - V2EX rust 让我抓狂、擦汗 - V2EX 推荐一款我写的动态配置语言: Faml - V2EX 如何看待 Rust? - V2EX Rust Web 开发脚手架 v0.6 发布啦! - V2EX rathole 这个项目是不维护了吗? 之前那个 rust 贡献大佬找到工作了,找他的团队还不少 - V2EX 太快了! Rust 太快了! - V2EX 介绍一个 like rails 的 rust 框架。 性能和开发速度都快。 - V2EX 除了写小工具外再也不想用 Rust 了 - V2EX rust 我想你了 - V2EX rust 程序员的硬盘是多大的? nodejs 继任者? - V2EX rust 练手写的,仿 uv 包管理器 av - V2EX Rust 的安全神话?为何在关键系统如数据库、大模型代码中仍选 C++ rust 实现的抓包存盘的程序 nsave 有人使用 Rust 重构过旧项目吗? - V2EX 使用 WebAssembly 构建的高性能在线计算工具 V2EX tikio 里面的代码怎么调试呢 有人在用 rust 写 web api 吗? rust 来得快去得也快 - V2EX rust 的有没有什么好的论坛? - V2EX 这里搞 Rust 的多吗? - V2EX 目前 Rust 最好的开发工具是哪个? - V2EX rust 编译报错函数重复定义 - V2EX Rust 学习几个月之后,真正要自己写的时候就懵逼 - V2EX 关于 rust axum 中使用 gprc 的一个疑惑 - V2EX std::net::UdpSocket 的 shutdown 机制是我理解出了问题么? - V2EX 写了一个从 modelscope 下载模型的 crate - V2EX 看到这样的 rust 代码要懵逼了,不知道咋入手,求指导 - V2EX Rust 两次入门后,尝试写一个 web 项目,懵逼中~ - V2EX 求帮打包个 exe - V2EX Rust HTTP Client, Golang tls-client/utls 的完美替代品 - V2EX Rust 编写的高性能 HTTP/HTTPS/SOCKS5 代理服务器 - V2EX Rust API 开发脚手架 - V2EX FnOne 特征是至少调用一次还是只能调用一次? - V2EX 大佬们,一人来一道 Rust 面试题,准备年后跳槽 - V2EX 请教 rust 如何做到交叉编译 - V2EX 理了一下手上惯用的一些命令行小工具,发现蛮多是 rust 写的。是不是 rust 也适合做这种小工具 - V2EX rust 怎么不通过管理员权限的情况下拿到 windows 用户所有的 uwp 应用名称,图标和路径 - V2EX 统计下放弃 RUST 的人的数量=== - V2EX 关于 Rust 所有权,如果对 mut 变量进行嵌套 mut 引用该怎么理解?
Pumpkin - 使用 Rust 开发的高性能 Minecraft 服务端 - V2EX
Q2297045667 · 2026-02-19 · via Rust

🎃Pumpkin 中文社区统一宣传文档,可根据相应平台规则做相应的简化和修改。

众所周知因为 Minecraft 使用 Java 作为开发语言,这导致其他人很容易就能反编译出他的源代码,进行二次修改后扩展游戏内容,这种开放性最终也造就了这款史上最畅销的游戏传奇。

然而多年过去,随着游戏内容越来越多,Java 作为一个半解释性、半编译性的语言,性能逐渐捉襟见肘。外加 ojang 的历史遗留代码(俗称“屎山代码”),导致其性能表现越来越不尽如人意。

当然,这些年 Java 也在持续进行版本迭代,优化其 JVM 虚拟机性能,同时加入了许多新特性,例如更高效的调用方式、新的 GC 内存回收机制等。原本按照玩家设想,ojang 应该积极采用 Java 的新特性来优化游戏性能,然而 ojang 似乎并未完全朝这个方向努力,导致游戏性能越来越跟不上日益庞大和复杂的游戏内容。

随着后续出现的各种优化 Mod ,客户端的游戏性能确实得到了极大改善。同样,服务端这边也涌现出许多基于原版开发的第三方服务端,其中以 Bukkit API 为主,衍生出了众多插件类服务端。PaperMC 旗下也推出了几乎重写了整个区块系统的 Folia 服务端。

这些服务端功能各异,但都统一在性能上做了大量优化。然而,Minecraft 从最初设计上就没考虑单服务器下承载大量玩家的情况。由于其核心框架是单线程的,若不能进行大刀阔斧的重构,那么无论怎样修改,都无法脱离主要逻辑处理仍受限于单线程的瓶颈。

Pumpkin 是由 Pumpkin-MC 社区开发的一款全新的、开源的、高性能、可扩展的 Minecraft 服务端,它使用 Rust 作为开发语言。

它旨在为玩家提供快速、高效且高度可定制的游戏体验,专注于极致的性能优化和流畅的玩家体验,同时严格遵循原版游戏的核心机制与行为。

那么 Pumpkin 的核心功能和相较于其他同样完全重写服务端到底有什么竞争优势?

🎮 遵循原版游戏机制:

优先游戏特性:

  • 与 Cuberite 、Obsidian 、Ferrumc 等服务端不同,我们完全遵守原版游戏的核心特性和机制,我们的开发团队中有相当一部分成员是资深的红石大佬,确保每个细节都符合预期。

对照原版代码开发:

  • 在开发服务端功能时,我们优先保证代码逻辑与原版特性和行为完全一致,其次才考虑性能提升。这确保了最大程度的兼容性和原汁原味的体验。

⚙️ 多平台&版本支持:

多平台:

  • 南瓜端同时支持 Java 版 和 基岩版 客户端登录,实现了真正的跨平台同服。当然,游戏特性的实现主要以 Java 版为基准。
    • 支持的基岩版本:1.21.30

多版本:

  • 南瓜自带多版本支持(目前只维护 Java 客户端且实际内容以最新支持版本为主),截止到本文编写时主分支已经支持 1.21.7 ~ 1.21.11 的客户端登陆。

灵活的身份验证:

  • 允许管理员配置身份验证服务器,可接入第三方验证服务器,也可允许盗版和正版账户同时登陆。
    • 注意:暂时还无法多个身份验证服务器共存。

🧱 强大的区块系统:

完全的多线程:

  • 全新开发的多线程生成和保存/读取区块系统,并提供 API 接口以实现第三方插件调用,经最新测试,使用原版 50 到 100 倍的飞行速度将区块视距拉高到最高 32 视距飞行,在更低的资源使用情况下区块加载/保存/生成的性能相较原版预计提升 20 ~ 30 倍左右。

支持更多区块格式:

  • 得益于使用 Rust 重写的底层,我们的区块系统在支持相同格式时,拥有更高的性能和更低的资源占用,未来还将支持更多区块格式。
    • Anvil (原版默认):已完全支持
    • Linear (线性区域):已完全支持
    • Slime ( Anvil 的改进版):尚在计划中
    • Schematic (结构):尚在计划中

高效的压缩算法库:

硬件加速支持:

  • 现已支持调用特定 CPU 或 SoC 的指令集(如 SIMD )来实现关键算法的硬件加速优化。未来还可能探索加入 GPU 加速地形生成 等功能,以进一步降低和平衡 CPU 负载。

🚀 更快的网络性能:

高效的数据包处理:

  • 由于重写了整个网络栈,大量采用多线程与异步 I/O 模型,相较于原版,数据处理效率更高,带宽占用更少,网络延迟也更低。

支持多种协议:

  • 原生支持主流反代理服务,且兼容稳定,数据包处理性能高效,未来还会扩展其他网络协议支持。
    • BungeeCord:已完全支持
    • BungeeGuard:暂时不支持
    • Velocity:已完全支持
    • Query:已完全支持
    • RCON:已完全支持
    • Gourd (一个基于 Pumpkin 协议库的轻量级代理端):https://github.com/Purdze/Gourd

强大的网络数据包压缩:

  • 使用了更高效的压缩库,同时支持更强的压缩算法,相较于原版使用的 ZLIB 库,具有更高的压缩效率,更低的延迟,更强的资源利用率。

减少不必要的数据包收发:

  • 列如,当方块或者实体距离玩家超过一定距离时自动较少非必要的状态更新数据包(如熊猫的情绪,鸡的产蛋冷却,熔炉状态等),从而显著降低网络流量,当玩家接近方块或者实体一定距离时恢复正常更新。

自定义负载支持:

  • 允许插件通过自定义负载( Custom Payload )访问插件通道,实现与客户端模组的深度互操作性(例如与 Simple Voice Chat 模组通信)。这使 Pumpkin 插件能够与依赖插件通道的各类客户端模组进行双向通信。

🛠️ 全面开放的扩展方式:

支持插件加载器:

无需编写代码:

未来支持 Mod:

  • 规划在未来支持向服务端添加真正的 Mod (即新增内部物品、方块、功能逻辑)。

官方的插件市场:

  • 南瓜拥有官方的扩展市场,目前处于小范围测试阶段。设计目标是支持多语言插件、多平台分发,并包含付费资源支持机制

🤖 强大的牛马团队:

目前的开发进度:

超多的贡献者:

  • 目前截止文档编辑直接向南瓜端贡献的开发者(包括我在内)共有 193 位开发者,这还不包括他的各种衍生项目,直接或者间接向南瓜和各种衍生项目(包括文档,压测工具,网站等)贡献的开发者超过 300+。

各类衍生项目:

意见和建议:

  • 我们广泛地接受来自社区的意见和建议,这会使得我们的发展更加充满创意和动力。

⚠️ 我们面临的挑战和常见问题:

无法发挥最大化性能:

  • 由于需要遵循原版游戏特性,因此会造成在整体设计上的一些缺陷,虽然南瓜对比原版各方面都拥有大量的提升,但是当一个功能拥有效率更高、资源更低的方式来实现的时候,常常为了能够与原版行为类似而采用效率更低的方式来运行,但是我们相信只要持续坚持和改进总能都取得特性和性能之间的平衡。

扩展生态兼容:

  • 即便我们开发出了能够加载 Bukkit 、Spigot 、Paper 插件的 PatchBukkit 也依然无法 100% 完美兼容老插件,列如 PatchBukkit 不支持 NMS 和多线程插件。

内部稳定性:

  • 我们不得不承认完全重写服务端的 BUG 和稳定性相对比较差,这是一个需要长期维护和修复的过程。

内容的不完善:

  • 即便我们做了很多内容但是对比原版游戏内容来说还是杯水车薪,但是随着我们的快速更新和强大的开发团队,我们一定会在计划规定的时间内给大家一个相对完整的游戏体验。

📞 我们的联系方式和项目地址: