4 điểm bởi GN⁺ 2024-10-16 | 1 bình luận | Chia sẻ qua WhatsApp

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

 
GN⁺ 2024-10-16
Ý 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

    • Không rõ đã có hỗ trợ cho việc phá/đặt block chưa. Việc này trên server có lẽ sẽ cần tính toán lại ánh sáng và cập nhật chunk
    • Không rõ có kế hoạch bổ sung các tính năng nâng cao như scoreboard, team, và phân tích command block hay không. Mojang ít nhất cũng đã mã nguồn mở Brigadier
    • Dự án rất tuyệt. Hy vọng nó sẽ đủ trưởng thành để có thể vận hành server dễ dàng trên phần cứng cấu hình thấp
  • 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

    • Server Minecraft trở nên rất ngốn tài nguyên khi số lượng người chơi tăng lên, và dù chạy trên máy chủ rất mạnh để xử lý tải thì TPS vẫn thấp
  • 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)

    • Nếu nhớ không nhầm thì cũng từng có một server khác viết bằng Rust, nhưng tôi không chắc
    • Lần cuối tôi xem thì đây vẫn là phần mềm ở giai đoạn rất sớm, nhưng được phát triển rất nhanh. Tôi không rõ tình trạng hiện tại thế nào (hồi đó tác giả đi thi)
  • 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