Hướng dẫn
Cách làm plugin BungeeCord
Cập nhật 18 tháng 10, 2026
Plugin BungeeCord chạy trên proxy đứng trước các máy chủ của bạn, không chạy trên máy chủ game. Nó thấy người chơi kết nối, chuyển máy chủ và rời đi, nên đây là nơi phù hợp cho chat toàn mạng, công cụ cho staff, chế độ bảo trì, MOTD và việc chuyển người chơi giữa các máy chủ. Nó không có thế giới hay khối: gameplay thuộc về plugin trên các máy chủ backend.
Đổi các lệnh cho phù hợp với mạng máy chủ của bạn.
Tạo thứ này với CodexeTừng bước
1.Xác nhận proxy bạn đang chạy
BungeeCord (hoặc bản fork như Waterfall) và Velocity là hai API khác nhau. Plugin BungeeCord không chạy trên Velocity, và ngược lại.
2.Thiết lập dự án
Một dự án Maven hoặc Gradle với dependency
bungeecord-apiở scopeprovided. Proxy cung cấp nó lúc chạy.3.Viết lớp chính
Một lớp kế thừa
net.md_5.bungee.api.plugin.Plugin, vớionEnable()để đăng ký lệnh và listener quagetProxy().getPluginManager().4.Mô tả nó trong bungee.yml
name,version,mainvàauthor. BungeeCord cũng đọcplugin.yml, nhưngbungee.ymltránh nhầm lẫn với plugin Spigot. Lệnh được đăng ký trong mã, không phải trong tệp.5.Viết lệnh và listener
Lệnh kế thừa
Command; listener triển khaiListenervới các phương thức@EventHandlercho những sự kiện nhưPostLoginEventhoặcServerSwitchEvent.6.Giao tiếp với máy chủ backend nếu cần
Proxy không thấy được túi đồ hay thế giới. Cho việc đó, một plugin đi kèm nhỏ trên mỗi máy chủ backend trao đổi plugin message với plugin proxy.
7.Cài nó trên proxy
Đặt tệp .jar vào thư mục
plugins/của proxy và khởi động lại proxy, không phải các máy chủ backend.
Các sự kiện proxy hữu ích
| Sự kiện | Khi nào kích hoạt | Cách dùng thường gặp |
|---|---|---|
ProxyPingEvent | Client làm mới danh sách máy chủ | MOTD, số người chơi, thông báo bảo trì |
PostLoginEvent | Người chơi đã vào proxy | Tin nhắn chào mừng, nạp dữ liệu người chơi |
ServerConnectEvent | Người chơi sắp kết nối tới một máy chủ | Đưa người chơi về sảnh, chặn máy chủ |
ServerSwitchEvent | Người chơi đã chuyển sang máy chủ khác | Tin nhắn "đã vào máy chủ" trên toàn mạng |
PlayerDisconnectEvent | Người chơi đã rời mạng | Lưu dữ liệu, thông báo cho staff |
ChatEvent | Người chơi gửi tin nhắn chat hoặc lệnh | Chat toàn mạng, bộ lọc, chat staff |
Thiết lập mạng máy chủ đúng cách
- Bật
ip_forwardtrongconfig.ymlcủa proxy vàbungeecord: truetrongspigot.ymlcủa từng máy chủ Spigot hoặc Paper, để tên và UUID của người chơi được chuyển tiếp. - Đặt các máy chủ backend thành
online-mode=falsevà đảm bảo không thể vào chúng trực tiếp từ internet, chỉ qua proxy. - Plugin message chỉ được truyền khi có người chơi đang kết nối tới máy chủ backend đó, nên tin nhắn gửi tới một máy chủ trống sẽ không đến nơi.
Mô tả ví dụ
"Một plugin proxy BungeeCord 1.21 tên NetUtils. /lobby đưa người chơi về máy chủ sảnh. /staffchat <message> (alias /sc) gửi tin nhắn tới mọi người có netutils.staff trên bất kỳ máy chủ nào. /maintenance on|off hiển thị MOTD bảo trì và kick những người chơi không có netutils.bypass. Một tin nhắn trong chat staff khi thành viên staff chuyển máy chủ. Tên máy chủ, MOTD và tin nhắn trong config.yml."
Với Codexe
Chọn loại BungeeCord/Velocity và ghi rõ bạn chạy proxy nào, vì đó là hai API khác nhau. Codexe biên dịch plugin bằng Maven và kiểm tra tệp .jar có đúng tệp mô tả trước khi Sẵn sàng; nếu yêu cầu không có phiên bản, API BungeeCord 1.21 sẽ được dùng. Nếu bạn cần một plugin đi kèm trên backend, hãy yêu cầu nó như một dự án Spigot/Paper riêng.
Dùng thử ngay chưa chạy được máy chủ proxy, nên hãy thử plugin proxy trên mạng máy chủ của bạn hoặc một proxy cục bộ với một máy chủ backend. Xem thêm trình tạo plugin BungeeCord.
Câu hỏi
Plugin BungeeCord có thay đổi được khối hay túi đồ không?
Không, proxy chỉ xử lý kết nối và tin nhắn. Hãy dùng plugin backend cho gameplay, và plugin message nếu hai bên phải phối hợp với nhau.
Nó có chạy trên Velocity không?
Không. Velocity có API riêng và velocity-plugin.json. Nếu bạn chạy cả hai, hãy làm hai dự án.
Plugin proxy hay plugin backend cho chat?
Plugin proxy nếu chat phải đến được người chơi trên mọi máy chủ. Plugin backend nếu chat chỉ ở trong một máy chủ.
Làm plugin cho mạng máy chủ của bạn
Prompt này mở ra sẵn sàng để gửi:
“Một plugin proxy BungeeCord 1.21 tên NetUtils: /lobby đưa người chơi về máy chủ sảnh, /staffchat (alias /sc) gửi tin nhắn tới mọi người có netutils.staff trên bất kỳ máy chủ nào, /maintenance on|off hiển thị MOTD bảo trì và kick người chơi không có netutils.bypass, thông báo trong chat staff khi staff chuyển máy chủ, tên máy chủ, MOTD và tin nhắn trong config.yml.”
Tạo thứ này với Codexe