Minecraft DiscordSRV | 教學

使用此插件前,請先完成架設機器人

前置

1. 一個 Minecraft 安裝插件的伺服器 (Spigot/Paper/Bukkit皆可)
2. 插件本體 (取得連結)
我知道,一坨英文不想看也看不懂對吧XD

這顆按鈕按下去就對了

下載完成後並開啟伺服器,讓他跑出插件資料夾 plugins/DiscordSRV

第一步,連結機器人

開啟 Discord Developers Portal 到需要使用的機器人 BOT 分頁

取得 Token: 按下 ResetYes, do it! 就會跳出一長串的 …

這串就是下面所需的 BotToken。

切換至 DiscordSRV/config.yml 找到 下方這個設定 並覆蓋 BOTTOKEN,這樣就算連結完成了。

BotToken: "BOTTOKEN"

第二步,將機器人加入伺服器

直接複製 Client ID 後可以使用 https://tools.haer0248.me/discordsrv-guild-invite 來快速加入機器人到伺服器

或 …

切換回 Discord Developer 頁面,並將分頁切換至 “OAuth” 並下拉,並在 “SCOPES” 選擇第二排中間的 “bot” 下方 “Bot Permissions” 直接勾選 “Administrator” 即可,也可以只選擇個別權限,這邊直接用管理員來進入。
上方完成後應該會長的像這樣

點選下面網址旁邊 Copy 並貼上瀏覽器後應該就會詢問你機器人要加入到哪個伺服器,當然你要有管理員權限才可以新增機器人,選擇後加入即可完成此步驟。

第三步,連結發言與控制台

開啟 plugins/DiscordSRV/config.yml 並找到

# 類型 : 用途
# global : 玩家發言、主要訊息
# awards : 進度/成就
# deaths : 死亡
# join : 加入
# leave : 離開
# dynmap : Dynmap 地圖
# watchdog : 看門狗
# status : 伺服器狀態
# 請一定要參照格式 
# 單個頻道 {"類型": "頻道 ID"}
# 多個頻道 {"類型": "頻道 ID", "類型 2": "頻道2 ID"}
Channels: {"global": "000000000000000000"}

在這些的上方有一些說明可閱讀,這邊只教學如何連結

取得頻道 ID:
開啟 Discord 設定,在 進階 中開啟 開發者模式

開啟完成後對頻道點右鍵,就可以看到複製ID (只支援文字頻道!)
將複製到的 ID 貼上到 global 與 DiscordConsoleChannelId 後面的一長串 000000 …

# 控制台頻道ID,留白表示不使用
DiscordConsoleChannelId: "428182406977207746"

以上存檔,第三步完成,可以開啟伺服器了。

開啟伺服器,看看剛剛連結的發言文字頻道,看到這個就表示設定成功且正常囉~

FAQ

Q 開啟伺服器後機器人沒有上線。
A 請檢查位於標題列下方的【使用此插件前,請先完成架設機器人】之【BOT USER 設定說明】設定區塊。

Q 為甚麼我聊天的頻道會有 console 端的東西?
A 請檢查此文章【第三步】,兩個頻道不能設定相同。

Q 為甚麼我的聊天沒有同步?
A 請檢查 此文章【第三步】, Channels 必須為 “global”,如果你是用其他聊天插件 (TownyChat) 請查看該插件的技術文件,綁定 DiscordSRV 的時候是否為 global,否則預設就是 global。

Q 加入伺服器沒有出現加入或離開的訊息。
A 檢查該名玩家是否擁有 discordsrv.silentjoin (靜音加入) 及 discordsrv.silentquit (靜音離開) 權限點。

如果有任何問題,可以到我的 Discord 來告訴我打錯了,還是教錯了~
還真的不會,進來 Discord 我們會撥空教你一步一步弄好,祝開服順利

綁定帳號篇

我也想要有跟其他伺服器一樣使用指令綁定才可以發言!
不要緊張不要慌,先開啟你的 Discord 伺服器設定

再來開啟插件 config.yml 設定檔案,找到以下設定

MinecraftDiscordAccountLinkedRoleNameToAddUserTo: "這邊變更為剛剛輸入的身分組名稱"

注意:這樣只是綁定帳號,沒有「強制」綁定帳號,所有路人(未綁定玩家)都可以在「與 Minecraft 聊天的連結頻道聊天」
強制綁定帳號要再設定下方,變更為 true 即可。

DiscordChatChannelRequireLinkedAccount: false

綁定提示訊息可以變更 messages.yml 中的 …

CodeGenerated: "&6驗證碼 &e%code%&6. 私密給予 %botname% &7(在 Discord 旁列表尋找)&6 來綁定 Discord 與 Minecraft 帳號。"
UnknownCode: "驗證碼無法識別,請重試。"
InvalidCode: "您確定這是您的驗證碼?驗證碼為四位數字。"
DiscordAccountLinked: "Discord帳號已連接給 **%name% (%uuid%)**"
DiscordAccountAlreadyLinked: "您的帳號已與 %username% (%uuid%) 綁定。"
DiscordLinkedAccountRequired: "您嘗試發送訊息至遊戲中,但這個伺服器要求您將 Minecraft 帳號綁定至 Discord。\n請登入伺服器輸入 `/discord link` 來進行綁定帳號。\n```%message%```"
DiscordLinkedAccountCheckFailed: "無法檢查您的帳號是否已綁定,請稍後再試。"
# Minecraft
ClickToCopyCode: "點擊複製"
MinecraftAccountLinked: "&a您的 Minecraft 帳號已經連接 Discord 帳號 &6&l%username%&a。"
MinecraftAccountAlreadyLinked: "&a您的 Minecraft 帳號已綁定至 Discord。如果您有足夠的權限,可以輸入 /discord unlink 來取消綁定。"
LinkedCommandSuccess: "&a您的 Minecraft 帳號已和 %name% 綁定。"
UnlinkCommandSuccess: "&c您的 Minecraft 帳號已和 %name% 解除綁定。"
MinecraftNoLinkedAccount: "&c您的 Minecraft 帳號並未綁定至 Discord 帳號。"
LinkingError: "&c因為內部錯誤現在無法進行綁定帳戶,請聯繫伺服器管理人員。"
MinecraftNobodyFound: "&c未找到任何和 \"%target%\"匹配的 Discord ID/Discord 名稱/Minecraft 名稱/Minecraft UUID 。 "

如果,想要讓玩家在登入伺服器前就綁定帳號,開啟 linking.yml …

Require linked account to play:
  Enabled: false // 改成 true
  Listener priority: LOWEST // 建議:HIGH

  Not linked message: |-
    &7您必須綁定您的 &9Discord 帳號&7 才可以登入伺服器。
    &7您的驗證碼為 &b{CODE}&7,記下您的驗證碼後將驗證碼以私訊方式傳送給 &b{BOT}&7 來綁定您的 Minecraft 帳號。
    &7Discord 伺服器連結 » &b{INVITE} &7(請手動輸入)"

  Messages:
    DiscordSRV still starting: "&c目前無法檢查連線狀態,請稍後再試。"
    Not in server: "&c您目前不在我們的 Discord 伺服器中,請加入 {INVITE}。"
    Failed to find subscriber role: "&c在 Discord 上找不到任何訂閱權限組。"
    Failed for unknown reason: "&c驗證帳號時發生未知錯誤,請聯繫管理員。"
    Kicked for unlinking: "&c您因為解除綁定帳號所以被踢出伺服器。"

記得要變更 config.yml 中的 DiscordInviteLink,不然會沒有邀請連結哦 …

為什麼有伺服器的玩家發言後面有機器人?我也要!!

沒問題,開啟你的 config.yml 並找到以下設定

Experiment_WebhookChatMessageDelivery: false
Experiment_WebhookChatMessageUsernameFormat: "%displayname%"
Experiment_WebhookChatMessageFormat: "%message%"
Experiment_WebhookChatMessageUsernameFromDiscord: false
Experiment_WebhookChatMessageAvatarFromDiscord: false

將 false 全部改為 true 就可以了,機器人要記得給予「管理 Webhooks」權限。

酷酷的顯示物品…

請搭配這兩個插件服用~
https://www.spigotmc.org/resources/75870
https://www.spigotmc.org/resources/83917

一位普通、快爆肝的大學生,目前就讀桃園某大學資訊工程系。

感謝您的閱讀🧡

若您對本篇文章有任何建議或回饋,點擊下方圖片加入我的 Discord 伺服器來討論!