Show HN: Pumpkin, máy chủ Minecraft hiện đại được viết bằng Rust
(github.com/Snowiiii)Pumpkin
Pumpkin là một máy chủ Minecraft được xây dựng hoàn toàn bằng Rust, mang đến trải nghiệm nhanh, hiệu quả và có thể tùy biến. Dự án ưu tiên hiệu năng và sự thú vị của người chơi trong khi vẫn tuân thủ các cơ chế cốt lõi của trò chơi.
Những gì Pumpkin hướng tới
- Hiệu năng: tận dụng đa luồng để theo đuổi tốc độ và hiệu quả tối đa
- Tương thích: hỗ trợ các phiên bản máy chủ Minecraft mới nhất và tuân thủ cơ chế trò chơi mặc định
- Bảo mật: ưu tiên an toàn bằng cách ngăn chặn các lỗ hổng đã biết
- Linh hoạt: cung cấp khả năng cấu hình cao để có thể vô hiệu hóa các tính năng không cần thiết
- Khả năng mở rộng: cung cấp nền tảng cho việc phát triển plugin
Những gì Pumpkin sẽ không làm
- Không được dùng như bản thay thế cho máy chủ mặc định hoặc các máy chủ khác
- Không tương thích với plugin hoặc mod của các máy chủ khác
- Không hoạt động như một framework để xây dựng máy chủ từ đầu
Quan trọng: Pumpkin hiện đang được phát triển rất tích cực
Tính năng (đang triển khai)
- Cấu hình (toml)
- Trạng thái máy chủ/ping
- Đăng nhập
- Thiết lập người chơi
- Registry (loại biome, tranh, chiều không gian)
- Thương hiệu máy chủ
- Liên kết máy chủ
- Thiết lập resource pack
- Cookie
- Thế giới
- Tham gia thế giới
- Danh sách tab người chơi
- Tải thế giới
- Tạo thực thể
- Tải chunk
- Tạo thế giới
- Tạo chunk
- Biên giới thế giới
- Lưu thế giới
- Người chơi
- Skin người chơi
- Thương hiệu client của người chơi
- Dịch chuyển người chơi
- Di chuyển người chơi
- Hoạt ảnh người chơi
- Túi đồ người chơi
- Chiến đấu của người chơi
- Máy chủ
- Plugin
- Query
- RCON
- Túi đồ
- Hạt
- Trò chuyện
- Lệnh
- Proxy
- Velocity
Bạn có thể xem tiến độ hiện tại trong dự án GitHub.
Tóm tắt của GN⁺
Pumpkin là một máy chủ Minecraft được phát triển bằng Rust, đáng chú ý vì tập trung vào hiệu năng và trải nghiệm người dùng. Điểm nổi bật là tối ưu hiệu năng thông qua đa luồng và tăng cường bảo mật, đồng thời cung cấp khả năng mở rộng cho việc phát triển plugin. Dự án có thể hữu ích cho những ai quan tâm đến phát triển máy chủ Minecraft, và vì hiện đang được phát triển rất tích cực nên có thể kỳ vọng các bản cập nhật liên tục. Những dự án có chức năng tương tự gồm có PaperMC và Spigot.
1 bình luận
Ý kiến trên Hacker News
Chênh lệch hiệu năng trong benchmark khá ấn tượng. Tuy nhiên, hiện còn thiếu tính năng tạo và lưu world, mà đây lại là các tác vụ tốn kém. Đặc biệt, việc tạo chunk có thể làm quá tải một VPS yếu. Tôi muốn biết so sánh hiệu năng sẽ ra sao khi các tính năng này được đưa vào sử dụng
Tôi tò mò không biết có benchmark nào cho dự án này không. Muốn biết nó nhanh hơn server vanilla bao nhiêu
Với tư cách là người đã biết đến dự án này từ trước, tôi rất vui khi thấy nó trở nên nổi tiếng trên Hacker News. (140 lượt upvote theo tôi là khá tốt)
Gần đây tôi đã phát triển Pumpkin, một server Minecraft hiệu quả và nhanh, được viết hoàn toàn bằng Rust. Hãy thử xem
Tôi tò mò không biết nó có chia main thread theo vùng không (ví dụ như Paper Folia), hay tách các thực thể không chặn sang các thread riêng
Công việc rất ấn tượng, nhưng tôi muốn thấy một bản triển khai hiệu năng cao có hỗ trợ nhiều mod Minecraft. Forge server vốn nổi tiếng là chậm với các modpack lớn
Tôi đang chờ ngày Minecraft được reverse engineer bằng chính giao thức của nó để nhiều triển khai server và client có thể hoạt động
Tôi sẽ thử dự án này. Hiệu năng của server vanilla thuần túy rất tệ. Tôi hy vọng Mojang sẽ cải thiện điều đó. Việc tạo chunk mới ít nhất cũng đã đa luồng. Tôi cũng muốn họ chính thức hỗ trợ các điều khiển cơ bản cho server SMP. Chỉ cần các quyền cơ bản như đặt, phá, tương tác cho một vùng được xác định bởi hai tọa độ góc cũng đã tốt rồi. Có thể quản lý yêu cầu/cập nhật bằng công cụ khác thông qua tệp cấu hình cơ bản. Có thể vận hành trong game bằng một tiện ích dòng lệnh đơn giản. Sẽ rất tốt nếu không phải lúc nào cũng chỉ dùng whitelist. Paper/Waterfall v.v. có plugin, nhưng giữ vanilla thuần túy vẫn là tốt nhất. Tôi đã duy trì server trong thời gian dài
Tôi luôn ngạc nhiên trước việc mọi người có thể làm được những thứ như thế này. Nếu có bài viết nào về cách dự án này được tạo ra thì tôi sẽ rất cảm kích