Scoreboards Documentation
Everything you need to create and manage Discord leaderboards
- Thêm bot — Mời Scoreboards vào server Discord của bạn bằng link mời ở trang chủ.
- Chạy trình thiết lập — Dùng
/leaderboard create: một biểu mẫu nhanh để đặt tên leaderboard, chọn loại và tuỳ chọn kênh log — board được đăng ngay trong kênh. Board Point, Highscore và Time mở ra sẵn vài dòng mẫu để bạn thấy nó chạy thế nào; chúng biến mất ngay khi có score thật đầu tiên. Sau đó, bấm Thêm tùy chọn trong phần trả lời để chỉnh thứ tự sắp xếp, trận đấu theo đội hoặc free-for-all. - Phân vai trò — Mở dashboard để đặt vai trò
bot permission(ai được quản lý leaderboard) và vai tròvalidator(ai được duyệt lượt gửi). - Thêm leaderboard khác — Chạy lại
/leaderboard createcho từng cái. Thêm tùy chọn trong phần trả lời để chỉnh thứ tự sắp xếp, trận đấu theo đội hoặc free-for-all; mọi thứ khác ở dashboard. - Đăng nó lên — Dùng
/leaderboard showtrong một kênh để đăng leaderboard tương tác kèm nút gửi score và nút chuyển trang.
Scoreboards chỉ cần vài quyền Discord, và server với cài đặt mặc định đã cấp sẵn. Những quyền quan trọng tính theo từng kênh — bot có thể được phép ở kênh này nhưng bị khóa ở kênh kế bên — nên khi leaderboard ngừng cập nhật, đây là chỗ đầu tiên cần xem.
Trong kênh leaderboard
- View Channel và Read Message History — để tìm đúng tin nhắn leaderboard của mình và chỉnh sửa nó. Thiếu hai quyền này, board chỉ cập nhật khi có ai chạy
/leaderboard show: lệnh gạch chéo vẫn được trả lời ở nơi bot không đọc được, còn chỉnh sửa thì không. - Send Messages — để đăng leaderboard và báo cho bạn khi có gì đó trục trặc.
- Embed Links và Attach Files — leaderboard là một tấm ảnh kèm chú thích bên dưới. Thiếu Attach Files thì mất ảnh; thiếu Embed Links thì mất chú thích và bảng dự phòng.
- Create Public Threads và Send Messages in Threads — thread trận đấu trên leaderboard ELO và League mở ở đây.
Trong kênh log
Cùng bộ quyền đó. Bài nộp được đăng ở đó để duyệt và bot chỉnh sửa chúng khi được duyệt hoặc bị từ chối; bài nộp bằng ảnh là tệp đính kèm. Nếu kênh leaderboard không mở được thread trận đấu, thread sẽ mở ở đây. Nếu bot không thể viết trong kênh log, yêu cầu duyệt sẽ được đăng trong kênh của leaderboard, kèm quyền còn thiếu.
Trên toàn server
- Manage Roles — cho Tier Roles và các vai trò bán trong cửa hàng. Vai trò Scoreboards cũng phải nằm trên mọi vai trò mà nó phát, trong Server Settings → Roles.
- Change Nickname — chỉ khi bạn đổi tên bot trong Branding.
- Manage Channels, Connect và Move Members — chỉ cho kênh thoại matchmaking, và chỉ trong danh mục chứa kênh log.
Liên kết Add to Discord xin View Channel, Send Messages, Embed Links, Attach Files, Read Message History và Send Messages in Threads. Mọi thứ còn lại đến từ mặc định @everyone của server hoặc từ vai trò bạn gán cho bot — nên server đã khóa @everyone phải tự cấp các quyền đó cho bot, theo từng kênh hoặc trên vai trò của nó.
Khi thiếu quyền, bot sẽ nói ra thay vì âm thầm thất bại: một tin nhắn trong kênh leaderboard cho Embed Links, Attach Files và tier role mà nó không gán được, và một tin trong kênh log khi nó hoàn toàn không với tới được leaderboard.
Khi tạo leaderboard bằng /leaderboard create, bạn chọn một trong bảy loại:
Classic
Cộng thêm hoặc trừ bớt điểm vào một tổng chạy liên tục. Hợp nhất với những trò tính điểm cộng dồn.
Highscore
Chỉ giữ kỷ lục cá nhân của mỗi người. Score thấp hơn tự động bị thay thế.
Time (Speedrun)
Gửi thời gian dạng 00:00:00 (phần trăm giây) hoặc 00:00:000 (mili-giây) — định dạng hiển thị là một cài đặt trong dashboard, board mới mặc định dùng mili-giây. Sắp xếp tăng dần nếu nhanh nhất thắng, giảm dần nếu lâu nhất thắng.
ELO - Ranked
Hệ thống rating ELO đúng chất ganh đua, 1v1 hoặc đội hình 2v2–8v8. Gửi kết quả trận lên là rating của mọi người tham gia tự được chỉnh.
Rating
Gửi ảnh lên cho cộng đồng chấm sao (1–10). Các phiếu được lấy trung bình thành một score. Quá hợp cho thi vẽ và các thử thách sáng tạo.
League
Xếp hạng theo điểm tích luỹ qua từng trận, cho bóng đá, bóng rổ, FIFA và mọi môn tương tự. Bạn tự đặt điểm cho thắng/hoà/thua (mặc định 3/1/0) và ghi cả tỉ số trận (ví dụ 3-1).
Levels (BETA)
Xếp hạng thành viên theo XP họ kiếm được khi trò chuyện và khi ở trong kênh thoại. Có sẵn level, tin nhắn lên level và role theo level, và không ai phải gửi gì cả.
Quản lý leaderboard
| Lệnh | Mô tả | Quyền |
|---|---|---|
/leaderboard create | Tạo leaderboard trong một biểu mẫu — tên, loại và kênh log tùy chọn — rồi đăng trong kênh; Thêm tùy chọn sau đó để chỉnh thứ tự sắp xếp và thể thức trận đấu | Admin / vai trò dùng bot |
/leaderboard show | Đăng leaderboard vào kênh hiện tại kèm các nút bấm | Admin / vai trò dùng bot |
/leaderboard settings | Mở dashboard để chỉnh cài đặt của scoreboard này (sắp xếp, hiển thị, tiêu đề, kiểu hiển thị, thiết lập ELO và nhiều thứ nữa) | Admin / vai trò dùng bot |
/leaderboard delete | Xoá vĩnh viễn một leaderboard cùng toàn bộ dữ liệu của nó (phải xác nhận) | Admin / vai trò dùng bot |
Gửi score & kết quả trận
| Lệnh | Mô tả | Quyền |
|---|---|---|
/score | Đặt hoặc điều chỉnh điểm, ELO hoặc thời gian của người chơi. Chọn bảng xếp hạng, rồi chọn Đặt hoặc Điều chỉnh trong biểu mẫu. Bảng xếp hạng chấm điểm ảnh không nằm trong số này. Phần Bình luận tùy chọn giải thích vì sao, và hiện trên thẻ cập nhật điểm ở kênh log. Chọn một vai trò để mọi thành viên có vai trò đó nhận cùng một thay đổi. Với cả server, hãy gõ @everyone ở Người chơi ngoài server. | Admin / vai trò dùng bot |
Thiết lập
| Lệnh | Mô tả | Quyền |
|---|---|---|
/help | Xem tài liệu trợ giúp tương tác với đủ mọi chủ đề | Ai cũng được |
/feedback | Gửi góp ý bằng lời của bạn: ý tưởng, vấn đề, bất cứ điều gì | Ai cũng được |
/delete_my_data | Xoá vĩnh viễn các leaderboard cá nhân và điểm số, cùng dữ liệu tiền tệ của bạn trên mọi máy chủ (cần xác nhận) | Ai cũng được |
/uninstall | Gỡ bot khỏi server. Một biểu mẫu hỏi vì sao không phù hợp (không bắt buộc); sau đó mọi bảng xếp hạng và điểm của server bị xoá | Admin |
Kinh tế (beta)
Kinh tế không có lệnh slash nào. Thành viên bấm nút Shop bên dưới một leaderboard, hoặc mở trang cửa hàng của server, để xem số dư, mua vai trò, emoji bảng và màu tên, và mở từng khoản thưởng để xem chính xác cách tính. Admin thiết lập, bày hàng vào cửa hàng và tặng hoặc thu lại tiền tệ trong dashboard, ở mục Kinh tế.
Có hai cách gửi:
- Trong Discord, bấm nút gửi ngay trên tin nhắn leaderboard đã đăng — nút này tên là Submit score ở Classic/Highscore/Time, Submit result ở ELO và League, Submit image ở Rating. Bot mở đúng ô nhập tuỳ theo loại board — ô nhập score, ô chọn người chơi + người thắng, ô chọn người chơi + tỉ số, hoặc ô nhập tên kèm chính tấm ảnh. Trên leaderboard đồng đội, thay vì chọn một người, bạn chọn cả đội hình cho mỗi bên; còn leaderboard free-for-all thì mang nút Report result thay cho nút đó.
- Hoặc mở leaderboard trên website rồi bấm Submit để vào đúng luồng gửi đó — và đây là lối duy nhất nhận tên tự đặt, dành cho người chơi không có trong Discord của bạn.
Quy trình duyệt
- Lượt gửi được đăng vào kênh log đã cài (nếu có).
- Validator hoặc admin bấm Approve hoặc Reject. Với trận ELO hay League, những người chơi trong trận cũng có thể duyệt — chỉ cần đối thủ xác nhận kết quả, nên máy chủ không cần vai trò validator để các trận tiếp tục. Người báo kết quả không thể tự duyệt báo cáo của mình, và chỉ họ mới có thể từ chối nó. Nếu leaderboard không có kênh log, bài gửi được duyệt ngay lập tức; đặt kênh log để duyệt trước.
- Nếu bị từ chối, người gửi nhận DM kèm lý do.
- Nếu được duyệt, leaderboard cập nhật ngay lập tức.
Tự động duyệt
Mỗi leaderboard có thể được đặt tự duyệt sau một khoảng thời gian: Tắt, Ngay lập tức, 1 giờ, 3 giờ, 24 giờ, 3 ngày hoặc 7 ngày. Leaderboard ELO mặc định là 24 giờ.
Huỷ một score đã duyệt
Admin và validator có thể huỷ một score đã duyệt bằng cách chuột phải vào tin nhắn của lượt gửi rồi chọn "Cancel Review". Thao tác này hoàn lại đúng phần điểm đã cộng và bắt buộc phải ghi lý do huỷ.
Loại leaderboard ELO - Ranked dùng hệ thống rating ELO để xếp hạng người chơi theo trình, chơi 1v1 hoặc theo đội tối đa tám người mỗi bên.
Cách nó chạy
- Mỗi người chơi bắt đầu ở mức ELO khởi điểm do bạn đặt (mặc định 1200).
- Kết quả trận có thể là thắng, thua hoặc hoà.
- Rating được tính với hệ số K là 32.
- Sau khi duyệt, rating của tất cả người tham gia được cập nhật cùng lúc.
Trận đồng đội (2v2 – 8v8)
Leaderboard ELO và League đặt được số người cố định mỗi đội — chọn lúc tạo board, hoặc đổi sau trong mục Match format ở dashboard. Từ đó mọi trận trên một board 3v3 đều có ba người mỗi bên, còn leaderboard vẫn xếp hạng từng người riêng lẻ.
Với ELO, kết quả kỳ vọng của mỗi đội được tính từ rating trung bình của đội đó, và mức thay đổi rồi được áp cho từng thành viên — nên hạ được một đội mạnh hơn thì cả bên thắng cùng ăn một mức như nhau. Với League, mọi người bên thắng đều nhận điểm thắng, còn cả đội thua nhận điểm thua.
Queue matchmaking (Beta)
Nếu nút queue được bật trên leaderboard, người chơi bấm vào đó để vào hàng chờ ghép trận. Hệ thống gom những người có ELO gần nhau bằng thuật toán nới rộng dần khoảng tìm kiếm. Ghép được rồi thì một thread được mở cho trận đấu, kèm nút bình chọn kết quả. Nếu 5 phút không tìm ra trận, lượt queue tự hết hạn.
Trên board đồng đội, queue chờ đủ người cho cả hai bên — sáu người cho 3v3 — rồi chia thành hai đội sao cho rating trung bình sát nhau nhất có thể, tức người mạnh nhất và yếu nhất sẽ nằm hai phe. Ai cũng phải bấm Ready; ai không bấm thì bị loại ra, còn những người còn lại quay về queue mà vẫn giữ chỗ.
Mỗi đội có kênh voice riêng để bàn chiến thuật mà đối thủ không nghe được — bạn chỉ thấy và vào được kênh của đội mình. Cả hai kênh bị xoá khi trận kết thúc. Kết quả chỉ được chốt khi đa số mỗi đội cùng bình chọn cho nó (hai trên ba ở trận 3v3), nghĩa là một đội không bao giờ tự tuyên bố mình thắng được; lệch đi là mở tranh chấp cho validator xử.
Queue không còn chỉ dành cho ELO: bảng xếp hạng League cũng có thể bật nó. Vì điểm League là tổng tích lũy chứ không phải ước lượng trình độ, các board League ghép cặp theo điểm mỗi trận — nên chơi nhiều hơn không tự nó đẩy bạn lên trong queue.
Đội cố định
Board ELO hoặc League có số người cố định mỗi bên còn chạy được ở chế độ đội cố định (bật ngay cạnh Match format trong dashboard). Các đội có tên đăng ký một lần qua nút Team sign-up trên leaderboard — đặt tên rồi chọn đội hình, được phép dư tối đa hai người dự bị. Từ đó leaderboard xếp hạng chính các đội: trên board ELO mỗi đội có rating riêng và hạ đội mạnh hơn thì ăn nhiều hơn; trên board League thì bảng xếp các đội theo điểm, y hệt một giải thể thao thật. Đội cố định ở League ghi nhận trận bằng nút Submit result trên leaderboard.
Khi bất kỳ thành viên nào bấm Queue, cả đội cùng vào hàng và mọi người đều nhận DM. Việc ghép trận đấu đội với đội theo rating của đội, và phần ready-check kiêm luôn việc chốt đội hình: đúng bằng số người mỗi bên, ai bấm Ready trước thì được ra sân, còn lại ngồi ngoài trận đó. Kết quả do chính những người ra sân bình chọn, vẫn theo luật đa số mỗi bên. Đội hình của mỗi đội xem được trên trang leaderboard ở website: số thành viên nằm cạnh tên đội, rê chuột vào sẽ hiện tên, và mở đội ra sẽ thấy đủ đội hình với đội trưởng được đánh dấu.
Loại leaderboard League xếp hạng người chơi theo tổng điểm tích luỹ qua các trận. Đây là thể thức đúng cho bóng đá, bóng rổ, futsal, khúc côn cầu, và mọi giải 1v1 hay đồng đội mà bảng xếp hạng cuối mùa mới là chân lý.
Cách nó chạy
- Gửi một trận bằng nút Submit result trên leaderboard — bot hỏi cả hai bên và tỉ số của từng bên (ví dụ 3 và 1).
- Bên nào tỉ số cao hơn thì thắng; bằng nhau là hoà.
- Bên thắng nhận points_win, bên thua nhận points_loss, hoà thì cả hai nhận points_draw. Ở giải đồng đội, mọi người trong một bên đều nhận đúng số điểm của bên đó.
- Leaderboard xếp hạng theo tổng điểm; số trận thắng/hoà/thua được đếm riêng.
Điểm mặc định
Giải mới mặc định 3 / 1 / 0 (chuẩn FIFA từ năm 1994). Cả ba con số đều chỉnh được cho từng leaderboard trong dashboard. Dùng 2 / 1 / 0 cho khúc côn cầu, 4 / 2 / 0 cho bóng bầu dục, hoặc bất kỳ thang điểm nào hợp với môn của bạn.
Gửi một trận
Trên website, mở leaderboard rồi bấm Submit — nhập cả hai bên và tỉ số trận. Trong Discord, nút Submit result ngay trên leaderboard mở đúng bảng đó. Trận mà hai bên là cùng một người, hay tỉ số âm, đều bị chặn ngay lúc gửi.
Giải đồng đội
Leaderboard League đặt được số người cố định mỗi đội, từ 2v2 tới 8v8, ngay lúc tạo hoặc sau đó trong mục Match format ở dashboard. Bảng vẫn xếp hạng từng người: ai ở bên thắng cũng nhận điểm thắng, cả bên thua nhận điểm thua, còn tỉ số trận được tính là bàn thắng và bàn thua cho mỗi người.
Thích một bảng xếp hạng thể thao đúng nghĩa, nơi mỗi dòng là một đội? Bật Fixed teams ngay cạnh Match format: các đội có tên đăng ký một lần qua nút Team sign-up trên leaderboard (đội hình được dư tối đa hai dự bị), trận được gửi lên dạng đội đấu đội kèm tỉ số, và bảng xếp các đội theo điểm. Đội hình của mỗi đội xem được trên trang leaderboard ở website: số thành viên nằm cạnh tên đội, rê chuột vào sẽ hiện tên, và mở đội ra sẽ thấy đủ đội hình với đội trưởng được đánh dấu.
Duyệt & huỷ trận
Trận League đi qua đúng hàng chờ duyệt như trận ELO: validator duyệt hoặc từ chối từng lượt gửi, điểm chỉ vào bảng khi được duyệt, và trận đã duyệt vẫn huỷ được sau đó (huỷ thì hoàn lại đúng số điểm đã cộng).
Leaderboard ELO và League không nhất thiết phải có hai phe. Trong một trận đánh loạn, mọi người trong trận đều chơi cho riêng mình — từ 3 đến 8 người — và kết quả là thứ hạng của từng người. Bật nó bằng tùy chọn ffa_players khi tạo leaderboard, hoặc sau đó ở mục Match format trong dashboard. Nó thay cho trận đồng đội: một leaderboard đánh loạn không thể đồng thời có quy mô đội hay đội cố định, và việc bật nó chỉ ảnh hưởng các trận mới, nên mọi thứ đã ghi nhận vẫn giữ nguyên.
Các kiểu kết quả
| Kết quả | ELO | League |
|---|---|---|
| Thứ hạng đầy đủ — từ hạng nhất tới cuối cùng | ✓ Có | ✓ Có |
| Tất cả hòa | ✓ Có | ✓ Có |
| Một người thắng, tất cả những người còn lại không xếp hạng | — Không có | ✓ Có |
Chỉ-người-thắng là một kiểu của League. Ở đó nó không cần gì hơn những gì nó nói: người thắng nhận điểm thắng, số còn lại nhận điểm thua. Rating thì không thể dễ dãi như vậy — nếu những người thua không được xếp hạng, điều duy nhất nó có thể nói một cách trung thực về họ là tất cả đều hòa, và thế là một người chơi rating thấp được cộng rating từ một trận mà thành tích ghi là thua. Vì vậy trận đánh loạn trên ELO đòi hỏi thứ hạng đầy đủ, hoặc một trận hòa toàn bộ thật sự đã xảy ra.
Báo một kết quả
Leaderboard đánh loạn có nút Report result thay cho Submit result. Trước hết chọn tất cả những người đã chơi — đúng bằng sức chứa lobby của leaderboard, nên leaderboard 6 người nhận 6 và biểu mẫu sẽ không gửi được với 5. Cùng biểu mẫu đó có thể mang luôn kết quả: chỉ ra người thắng và trận đấu được báo ngay, còn ở leaderboard có bảng điểm thứ hạng thì ô đó mở rộng thành cả thứ tự về đích — hạng 1 trước, rồi hạng 2, và tiếp tục. Để trống thì bạn sẽ sang bước kết quả. Rồi đặt kết quả: leaderboard League hỏi ai thắng, có Tất cả hòa ngay trong cùng menu và Đặt thứ hạng đầy đủ nếu bạn muốn xếp cả nhóm; leaderboard ELO hỏi thẳng thứ hạng, mỗi lần chạm một vị trí, có Hoàn tác lần cuối cho lỡ tay và một nút Tất cả hòa bên cạnh. Nút gửi vẫn mờ cho đến khi kết quả là thứ mà leaderboard tính điểm được. Nút đó là cách duy nhất để báo kết quả đánh loạn trong Discord — nếu leaderboard của bạn không hiện nút, hãy bật nó trong dashboard ở Hiển thị trên Discord → Nút Submit, hoặc báo trận đấu từ trang leaderboard trên website.
Sau đó, trận đánh loạn là một lượt gửi bình thường. Nó vào hàng chờ duyệt, validator duyệt hoặc từ chối (hoặc tự động duyệt sau khoảng trễ đã đặt), rating và điểm thay đổi khi được duyệt, và hủy một trận đã duyệt sẽ hoàn lại cho mỗi người chơi đúng bằng những gì trận đó đã cho họ.
Rating được tính thế nào
Trận đánh loạn trên ELO được tính như toàn bộ các cặp đối đầu của nó cùng một lúc. Mọi cặp người chơi được so sánh — thứ hạng tốt hơn thắng thứ hạng kém hơn, thứ hạng bằng nhau là hòa giữa hai người — và mỗi kết quả nhỏ đó được tính bằng đúng công thức điểm kỳ vọng mà một trận 1v1 dùng. Vì thế về trên những người chơi có rating cao hơn bạn rất nhiều sẽ đáng giá hơn nhiều so với về trên nhóm cuối bảng. Sau đó hệ số K được chia cho số đối thủ, và chính điều này giữ cho một trận đánh loạn chỉ đáng khoảng một trận thường thay vì bảy cuộc đấu mà về mặt kỹ thuật bạn đã chơi.
Toàn bộ có tổng bằng 0 chính xác: những gì nhóm mất đi đúng bằng những gì số còn lại nhận được, tới điểm cuối cùng. Sáu người chơi cùng rating ở K=32 kết thúc với +16, +10, +3, −3, −10, −16. Thành tích đi theo thứ hạng — hạng nhất, kể cả đồng hạng nhất, tính là thắng, mọi thứ hạng dưới đó là thua, và tất cả hòa là hòa cho cả nhóm.
Điểm theo thứ hạng trên leaderboard League
Trận đánh loạn trên League có thể chia điểm cho cả nhóm bằng bảng điểm theo thứ hạng, kiểu F1: bấy nhiêu điểm cho hạng nhất, bấy nhiêu cho hạng nhì, và cứ thế xuống hết lobby. Bạn chỉnh nó trong dashboard, bên dưới điểm thắng/hòa/thua, trên bất kỳ leaderboard League nào chơi đánh loạn. Những người đồng hạng đều nhận điểm của hạng mà họ chia nhau, còn ai về sau khi bảng đã hết thì vẫn nhận giá trị cuối cùng của bảng.
Bảng điểm chỉ áp dụng khi cả nhóm đều có thứ hạng. Chỉ cần một người không được xếp hạng — một báo cáo chỉ-người-thắng, hay một thứ tự bạn dừng giữa chừng — là bảng không áp dụng chút nào: hạng nhất nhận điểm thắng của leaderboard và tất cả những người còn lại nhận điểm thua. Không cấu hình bảng nào thì cũng đúng như vậy, nên bảng này là tùy chọn. Tất cả hòa thì mọi người nhận điểm hòa, dù bảng có ghi gì đi nữa.
Đánh loạn trong hàng chờ matchmaking
Khi bật nút hàng chờ, leaderboard đánh loạn xếp từng người chơi vào hàng và khớp trận ngay khi có đúng sức chứa lobby — sáu người trên leaderboard 6 người, không bao giờ năm và không bao giờ bảy. Không có phe nào để cân bằng, nên lobby đơn giản là nhóm có rating sát nhau nhất mà hàng chờ ghép được. Mọi người vẫn phải bấm Ready, và trận đấu nhận một phòng voice chung: trong đánh loạn không có đồng đội nào để phải giấu.
Kết quả được báo chứ không bỏ phiếu — ba nút bỏ phiếu không thể diễn tả thứ hạng của tám người chơi. Bất kỳ người chơi nào trong lobby cũng đặt được kết quả trên tin nhắn trận đấu và những người khác bấm Xác nhận; nó được chốt khi đa số nhóm đã đồng ý (hai trên ba, năm trên tám), và người báo kết quả được tính là người đầu tiên trong số đó. Tranh chấp giao trận đấu cho validator, người này đặt kết quả đúng rồi tự xác nhận. Trận từ hàng chờ được giải quyết trong thread riêng của nó, nên không đi qua hàng chờ duyệt.
Loại leaderboard Rating cho phép thành viên trong cộng đồng gửi ảnh lên và chấm sao cho ảnh của nhau.
Cách nó chạy
- Người chơi gửi ảnh bằng nút Submit image trên leaderboard — biểu mẫu nhận một cái tên, phần mô tả tuỳ chọn, và chính tấm ảnh.
- Bài gửi hiện trong kênh log đã cài, kèm ô chọn điểm.
- Ai cũng chấm được từ 1 tới 10 sao. Các phiếu được lấy trung bình thành một score. Chấm điểm ngay dưới mỗi bài, hoặc bấm Rate entries trên leaderboard để lần lượt chấm từng bài bạn chưa chấm.
- Người chấm đổi phiếu lúc nào cũng được — mỗi người chỉ một phiếu cho mỗi bài.
- Leaderboard xếp hạng các bài theo điểm trung bình.
Chấm điểm trên website
Trên website, các bài gửi nằm ở tab Entries. Bấm vào bài nào cũng xem được ảnh đầy đủ và chấm điểm bằng dãy nút sao. Phiếu bạn đã chấm được nhớ lại qua từng phiên.
Leaderboard Levels (BETA) xếp hạng thành viên trong server theo XP. Không ai phải gửi gì: thành viên kiếm XP bằng cách nhắn tin và nói chuyện trong kênh thoại, bot tự đếm, và level của mỗi thành viên được tính từ XP của họ. Mỗi server chỉ có một leaderboard Levels (BETA) tại một thời điểm, và nó luôn là leaderboard của server — leaderboard cá nhân không thể là Levels (BETA).
Cách kiếm XP
- Tin nhắn — mỗi tin nhắn cho ngẫu nhiên từ 15 đến 25 XP, nhưng mỗi thành viên chỉ được tính một tin nhắn mỗi 60 giây. Mười tin nhắn nhanh liên tiếp cũng chỉ bằng một.
- Kênh thoại — 10 XP cho mỗi phút trong kênh thoại, miễn là thành viên không tắt mic hay tắt loa, không ở trong kênh AFK của server, và có ít nhất một người khác (không phải bot) trong kênh.
- Bot, webhook và tin nhắn hệ thống của Discord (vào server, boost, ghim) không bao giờ được XP, và tin nhắn chỉ được tính trong những kênh bot nhìn thấy được.
Mỗi con số này đều là một cài đặt trong phần cài đặt Levels (BETA) của leaderboard trên dashboard: khoảng XP mỗi tin nhắn, thời gian chờ giữa các tin nhắn, và XP mỗi phút trong kênh thoại (0 là tắt XP kênh thoại).
Từ XP ra level
Level của một thành viên được tính từ XP mỗi lần hiển thị, nên không bao giờ được lưu lại. Đường cong chuẩn là đường mà hầu hết bot level trên Discord dùng: từ level L lên level kế tiếp tốn 5L² + 50L + 100 XP. Đường cong tuyến tính tốn 100L + 75 XP mỗi level, nên lúc đầu dốc hơn một chút nhưng lên level cao nhanh hơn nhiều. Tổng XP cần để đạt một level:
| Level | Chuẩn | Tuyến tính |
|---|---|---|
| 5 | 1.150 | 1.375 |
| 10 | 4.675 | 5.250 |
| 20 | 23.850 | 20.500 |
| 50 | 268.375 | 126.250 |
| 100 | 1.899.250 | 502.500 |
Đổi đường cong không làm thay đổi XP của ai; chỉ level tính ra từ XP đó là thay đổi.
Kênh và role không có XP
Chọn những kênh mà tin nhắn và thời gian trong kênh thoại không được gì — thread được tính là một phần của kênh chứa nó — và những role mà thành viên không bao giờ kiếm được XP, ví dụ role dành cho thành viên bị cấm chat.
Tin nhắn lên level
Khi một thành viên đạt level mới, bot đăng một tin nhắn nhắc tên họ. Mặc định tin nhắn đi vào kênh mà thành viên vừa nhắn; bạn có thể gửi vào một kênh cố định, hoặc tắt đi. Bạn có thể tự viết nội dung, tối đa 200 ký tự, trong đó {user}, {level} và {board} được điền vào. Tin nhắn chỉ ping đúng thành viên vừa đạt level, kể cả khi nội dung có @everyone, và khi hơn ba thành viên cùng đạt level mới trong một kênh cùng lúc, họ dùng chung một tin nhắn. Bot cần quyền gửi tin nhắn trong kênh đó.
Role theo level
Trên leaderboard Levels (BETA), tier role có cách thứ tư, level: một role từ level 5, một role khác từ level 10, và cứ thế. Khi bật Giữ tier role thấp hơn, thành viên giữ mọi role đã đạt; tắt đi thì họ chỉ giữ role cao nhất. Role thay đổi ngay sau khi thành viên đạt level mới.
Tiền theo level
Nếu server của bạn dùng hệ thống kinh tế, bạn có thể trả tiền theo level: một khoản cố định mỗi khi thành viên đạt level mới, chỉ trả một lần cho mỗi level. Khoản này tính vào cùng trần mỗi ngày như mọi khoản trả khác, và cùng quy tắc về tuổi tài khoản được áp dụng. Bản thân tin nhắn và số phút trong kênh thoại không trả tiền.
Mùa giải
Khi kết thúc mùa giải, leaderboard bị đóng băng: XP ngừng được tính và bảng xếp hạng giữ nguyên như lúc kết thúc. Mở băng thì tiếp tục từ chính số XP đó. Muốn bắt đầu lại từ đầu, hãy tạo leaderboard Levels (BETA) mới và để leaderboard đóng băng làm kỷ lục — leaderboard đóng băng không tính vào giới hạn một leaderboard mỗi server.
Nhập và đặt XP thủ công
Chuyển từ một bot level khác sang? Nhập XP từ file CSV, mỗi dòng một name,xp, bằng Nhập từ CSV trên dashboard, như hướng dẫn ở phần Nhập & chuyển dữ liệu. Dùng Discord user id của từng thành viên làm tên: khi đó dòng được gắn với thành viên, và XP họ kiếm được sau đó sẽ cộng thêm vào. Dòng có tên khác sẽ thành một mục tự đặt, không được cộng hoạt động của ai.
Để đặt XP thủ công, dùng /score trong Discord, hoặc Set XP và Adjust XP trong menu của người chơi trên website. Nhập dữ liệu hay thay đổi thủ công không đăng tin nhắn lên level và không trả thưởng level; tier role sẽ được cập nhật theo vào lần tới leaderboard được vẽ lại.
Chuyển từ MEE6 hoặc bot level khác sang
Scoreboards không tự động nhập từ MEE6: điều khoản dịch vụ của MEE6 không cho phép truy cập tự động vào dịch vụ của họ, nên bot không bao giờ đọc leaderboard của bot khác thay bạn. Thay vào đó, bạn có thể tự chuyển XP của thành viên sang — đó là dữ liệu của chính server bạn — bằng một file CSV:
- Sao chép tổng XP của từng thành viên từ leaderboard của server bạn trên MEE6 hoặc bot kia. Sao chép XP, không phải level: level được tính từ XP. Nếu MEE6 hiện số làm tròn như 12.5k, hãy ghi số đầy đủ (12500); khi đó XP có thể lệch một chút.
- Sao chép Discord user id của từng thành viên: bật Developer Mode trong Discord (Settings → Advanced), rồi nhấp chuột phải vào thành viên và chọn Copy User ID.
- Viết mỗi dòng một
name,xp, với user id làm tên và XP chỉ gồm chữ số:12500, không phải12,500hay12.500. Dòng viết như vậy sẽ bị bỏ qua và được liệt kê kèm số dòng, để bạn sửa rồi nhập lại. - Trên dashboard, mở leaderboard Levels (BETA) và dùng Nhập từ CSV. Mỗi dòng thay thế XP của thành viên chứ không cộng thêm, nên hãy nhập trước khi thành viên kịp kiếm nhiều XP ở đây. Bạn có thể nhập lại file đã sửa bất cứ lúc nào, và mỗi file chứa tối đa 500 dòng.
name,xp 123456789012345678,4675 234567890123456789,23850
Chỉ user id mới gắn một dòng với một thành viên: tên gồm 17 đến 20 chữ số được đọc là Discord user id, và XP thành viên đó kiếm được sau này sẽ cộng thêm vào. Username hay bất kỳ tên nào khác không được gắn với ai; nó thành một mục tự đặt, không được cộng hoạt động của ai.
Đường cong chuẩn là đường cong MEE6 dùng, nên cùng XP cho ra cùng level: 4.675 XP là level 10 ở cả hai bên. Việc nhập không đăng tin nhắn lên level và không trả phần thưởng level. Phần thưởng role không được chuyển sang: hãy thiết lập lại dưới dạng tier role theo cách level, và thành viên sẽ nhận role ở lần leaderboard được vẽ lại tiếp theo. Sau đó, tắt tính năng level ở bot kia để không ai nhận hai tin nhắn lên level.
Leaderboard cập nhật bao lâu một lần
Tin nhắn leaderboard trong Discord được vẽ lại khi có người đạt level mới hoặc thứ tự các vị trí đang hiển thị thay đổi — nhiều nhất mỗi phút một lần — còn lại thì khoảng 15 phút một lần trong lúc thành viên đang kiếm XP. Leaderboard không có ai hoạt động thì không được vẽ lại. Dòng Cập nhật lần cuối bên dưới cho biết lúc nó được vẽ. Rank của tôi và leaderboard trên website hiện XP chỉ sau vài giây.
Quyền riêng tư
Bot không bao giờ đọc thành viên viết gì. Bot không dùng intent Message Content của Discord, và không bao giờ đọc hay lưu nội dung của bất kỳ tin nhắn nào. Với mỗi thành viên có XP, bot lưu ID Discord và tên hiển thị, tổng XP, số tin nhắn đã được XP, số phút trong kênh thoại đã được XP, và lần cuối kiếm được XP, cùng một bản chụp thứ hạng của họ mỗi đêm cho biểu đồ lịch sử thứ hạng. Không có gì được lưu theo từng tin nhắn. Dữ liệu bị xóa cùng leaderboard, và cùng phần dữ liệu còn lại của server khi bot bị gỡ. Nếu hệ thống kinh tế của server trả tiền tệ theo level, mỗi level đạt được cũng thêm một mục vào sổ tiền tệ của thành viên, được giữ cùng phần dữ liệu tiền tệ còn lại của họ. Chi tiết có trong Chính sách quyền riêng tư.
Bạn quyết định ai xem được leaderboard của mình trên website Scoreboards:
Ai vào website cũng xem được.
Chỉ thành viên server Discord của bạn mới xem được (phải đăng nhập), và trong danh sách Leaderboards chỉ admin server mới thấy.
Chỉ ai có một vai trò Discord cụ thể và admin server mới xem được.
Không hiện trên website chút nào.
Tự phát vai trò Discord cho người chơi dựa trên thứ hạng của họ trên leaderboard. Ví dụ, top 3 nhận vai trò "Champion", hạng 4–10 nhận "Veteran", cứ thế.
- Thiết lập các tier từ dashboard trên web, trong phần cài đặt của từng leaderboard.
- Chọn cách định nghĩa một tier: theo rank (hạng 1–3), theo phần trăm (top 10% người chơi), hoặc theo score (ai từ 2000 điểm trở lên). Leaderboard Levels (BETA) còn dùng được level (ai từ level 10 trở lên). Mọi tier trên cùng một leaderboard dùng chung một cách.
- Gán bất kỳ vai trò Discord có sẵn nào cho từng tier.
- Vai trò được phát và thu lại tự động mỗi khi thứ hạng thay đổi.
- Vai trò Scoreboards phải nằm trên mọi vai trò mà nó phát, trong Server Settings → Roles. Discord không cho bot đụng vào vai trò ngang hoặc cao hơn chính nó, và bot sẽ đăng cảnh báo vào kênh của leaderboard nếu gặp phải chuyện này.
Đang chạy một cuộc thi ở chỗ khác? Một file CSV có thể đổ đầy cả leaderboard trong một lần, khỏi phải gõ lại gì.
Mở dashboard, chọn leaderboard và dùng Nhập từ CSV. Leaderboard của server hay leaderboard cá nhân — vốn không gắn với server Discord nào — đều đi đường này. Đường nào thì file cũng như nhau — mỗi dòng một name,score:
name,score Alex,120 "Cooney, EM",95 Sam,88
- Dòng tiêu đề được nhận ra và bỏ qua tự động.
- Dấu phẩy, chấm phẩy và tab đều dùng làm dấu phân cách được — bảng tính của bạn xuất ra kiểu nào cũng ổn.
- Tên có dấu phẩy vẫn chạy nếu bạn để trong ngoặc kép, kiểu
"Cooney, EM". - Nếu tên là một Discord user id, mục đó được gắn với thành viên tương ứng và hiện tên hiển thị của họ. Còn lại thì thành một mục tự đặt.
- Cùng một tên xuất hiện hai lần thì giữ giá trị cuối, nên bạn nhập lại file đã sửa được thoải mái.
- Dòng nào đọc không ra thì bị bỏ qua và liệt kê theo số dòng — phần còn lại vẫn vào, nên bạn chỉ cần sửa vài dòng rồi chạy lại.
Thời gian nhận mm:ss, hh:mm:ss và phần thập phân tuỳ chọn: 1:30, 1:12:44.081. Một con số trần được hiểu là mili-giây. Lưu ý ba số ngăn bởi dấu hai chấm nghĩa là giờ:phút:giây, nên phần nhỏ hơn một giây thì viết sau dấu chấm.
Leaderboard Levels (BETA) nhận name,xp với Discord user ID của từng thành viên làm tên — username sẽ thành một mục riêng không bao giờ được cộng XP. Con số là tổng XP của thành viên, và nó thay cho số XP họ đang có. Nhập dữ liệu không đăng tin nhắn lên level và không trả thưởng level.
Giới hạn: 500 dòng và 100 KB mỗi file — file to hơn thì cắt ra nhập làm nhiều lần. Leaderboard Image Rating không nhập được, vì mỗi mục ở đó là một tấm ảnh tải lên chứ không phải một con số.
Mùa giải giúp bạn khép lại một cuộc đua mà không mất gì. Đặt thời điểm kết thúc (hoặc kết thúc từ dashboard) và board sẽ đóng băng: podium được đăng và bảng xếp hạng giữ nguyên như lúc kết thúc.
- Không gì bị reset hay xóa — board đóng băng là kỷ lục vĩnh viễn của mùa giải, ai cũng xem được.
- Board đóng băng không nhận bài gửi, trận đấu hay phiếu bầu mới; admin có thể mở băng bất cứ lúc nào.
- Mọi loại board đều có thể có mùa giải — kể cả Image Rating, nơi đóng băng board bình chọn ẩn cũng công bố kết quả.
- Muốn mùa giải mới? Tạo board mới và để board đóng băng làm kỷ lục.
Recap hằng tuần đăng một bản tóm tắt ngắn vào kênh của leaderboard mỗi thứ Hai: top ba, người leo hạng mạnh nhất tuần, và mọi người đã chơi nhiều tới đâu. Chỉ board có ít nhất ba score trong tuần vừa rồi mới nhận được, nên một leaderboard đang im ắng thì cứ để nó im. Bạn tắt recap cho từng leaderboard trong dashboard trên website.
Kinh tế biến kết quả thi đấu thành một loại tiền mà thành viên tiêu trong cửa hàng của server. Đây là bản beta, và nó luôn tắt cho đến khi admin thiết lập và khởi chạy trong dashboard, mục Kinh tế — từ đó mỗi kết quả server duyệt đều trả cho người chơi. Một khoản trả gồm mức cơ bản cố định cộng một phần của quỹ biến động: một phần quỹ đi theo kết quả và một phần đi theo độ bất ngờ, nên thắng người có rating cao hơn bạn khá xa thì đáng giá hơn thắng người thấp hơn. Trên board Classic, Highscore hay Time thì không có đối thủ, nên vị trí của bạn trên bảng đóng vai trò đó. Mỗi thành viên một số dư cho cả server, dùng chung cho mọi leaderboard trong đó.
- Chuỗi thắng cộng thêm 2% mỗi trận, tới cái trần bạn đặt.
- Gặp cùng một đối thủ hết lần này tới lần khác thì trong một tuần sẽ được trả ít dần: hai trận đầu trả đủ, mỗi trận sau đó trả ít hơn, thấp nhất còn một phần mười.
- Trần mỗi ngày giới hạn số một thành viên mang về trong một ngày, và theo mặc định tài khoản Discord phải được 7 ngày tuổi mới kiếm được gì.
- Huỷ, sửa hay xoá một kết quả thì khoản đã trả bị thu lại, đúng bằng lúc trả — nếu tiền đã tiêu mất rồi thì số dư có thể âm. Từng dòng một đều xem được trên trang shop của server.
- Board Image Rating không trả gì — không có kết quả nào để định giá.
- Leaderboard Levels (BETA) thì trả theo level: một khoản cố định mỗi khi thành viên đạt level mới, đặt trong phần cài đặt Levels (BETA) của leaderboard và tính vào trần mỗi ngày.
Thành viên tiêu nó trên trang cửa hàng của server. Trang này dành cho thành viên của server: họ đăng nhập bằng Discord để xem số dư, mua đồ, chọn món để đeo và mở từng khoản thưởng để xem chính xác cách tính. Nút Shop bên dưới leaderboard trong Discord đưa họ thẳng tới đó. Khi khởi chạy kinh tế, bạn có thể đặt nút này dưới mọi leaderboard cùng lúc, và mỗi leaderboard có công tắc riêng ở Discord → Thương hiệu & cá nhân hoá.
Trang đó nằm ở scoreboards.dev/shop/server-cua-ban, mỗi server một trang, và các trang leaderboard của server cũng liên kết tới nó. Cửa hàng bán ba loại sản phẩm. Vai trò Discord được cấp ngay khi thành viên mua, vĩnh viễn hoặc, khi bật cho thuê, trong một thời gian định sẵn; sau đó vai trò bị gỡ và thành viên có thể mua lại. Scoreboards phải nằm trên mọi vai trò nó bán trong Cài đặt máy chủ → Vai trò, và dashboard làm mờ vai trò nó không trao được kèm theo lý do. Emoji bảng nằm cạnh tên người mua trên các leaderboard của server, cả trên website lẫn trong Discord. Emoji đã mua thế chỗ huy chương, kể cả với top 3, và khi một board tắt huy chương thì emoji vẫn hiện, miễn là kinh tế đang bật. Bản thân tên trên board bị lọc sạch emoji, nên không thể giả emoji đã mua bằng cách đổi tên. Màu tên tô màu tên người mua trên website và trên leaderboard dạng ảnh trong Discord, nhưng không hiện trên board đăng dạng embed văn bản. Ngay khi ai đó mua hoặc đeo một món, các leaderboard Discord có tên họ sẽ được vẽ lại để hiện món đó.
Một server có thể chạy các mùa tiền tệ, tách biệt với mùa của leaderboard. Khi một mùa kết thúc — theo độ dài đặt trong dashboard, hoặc khi admin kết thúc nó ở đó — mùa tiếp theo bắt đầu ngay, và nếu bật chia đôi, mọi số dư từ 2 trở lên sẽ bị chia đôi trước. Vai trò và vật phẩm đã mua được giữ. Thành viên thấy ngày kết thúc trước trên trang cửa hàng, và việc kết thúc được đăng trong kênh log.
Khi bật Prestige, thành viên có số dư đạt mức admin đặt có thể đốt toàn bộ trên trang cửa hàng để lên cấp Prestige tiếp theo. Cấp Prestige hiển thị dưới dạng ngôi sao và con số cạnh tên trên leaderboard của website và thẻ Discord, được giữ qua mọi lần kết thúc mùa, và được thông báo trong kênh log.
Khi bật hàng đổi theo đợt, mọi vật phẩm trong cửa hàng có thể có ngày bắt đầu và kết thúc, đặt khi bạn thêm hoặc sửa sản phẩm. Trước ngày bắt đầu, trang cửa hàng hiển thị là sắp có; đến ngày kết thúc, vật phẩm rời kệ và không thể mua nữa.
Khi bật đấu giá, admin đưa một vai trò hoặc vật phẩm trang trí lên đấu giá từ dashboard và thành viên đặt giá trên trang cửa hàng. Tiền bị trừ khi đặt giá và được hoàn lại ngay khi có người trả cao hơn, và giá đặt trong năm phút cuối sẽ lùi giờ đóng. Khi đóng, giá thắng bị hủy, phần thưởng được trao và kết quả được đăng trong kênh log.
Thiết lập chỉ mất bốn bước trong dashboard, mục Kinh tế, ở chế độ Đơn giản: đặt tên cho tiền tệ; chọn cách thành viên kiếm tiền từ ba nhịp độ, mỗi nhịp độ cho thấy đại khái một thành viên tích cực kiếm được bao nhiêu mỗi tuần; bày hàng vào cửa hàng, với bộ khởi đầu một cú nhấp gồm sáu màu tên và sáu emoji bảng được định giá theo nhịp độ đó (có thể bỏ qua bước này); và khởi chạy, với ô beta cần đánh dấu và nút Shop dưới mọi leaderboard được chọn sẵn. Sản phẩm được thêm và sửa ở Kinh tế → Cửa hàng, trong một bảng ngắn ba bước có giá gợi ý và bản xem trước. Chế độ Nâng cao có thêm các con số tiền thưởng, ai được nhận, kênh log, mùa, cho thuê, Prestige, hàng đổi theo đợt và đấu giá. Admin phát tiền và thu lại ngay trên website — từ menu ngữ cảnh của người chơi trên leaderboard, hoặc ở Kinh tế → Thành viên nếu thành viên đó không có trên board nào; cả hai đều được đăng vào kênh log bạn chọn, để không ai phải tin lời một moderator suông. Loại tiền này không phải tiền thật: nó không có giá trị quy đổi, không rời khỏi server nơi kiếm được, và có thể bị đặt lại bất cứ lúc nào.