AMCDB

另一个Minecraft-Discord桥接

管理

AMCDB(另一个 Minecraft-Discord 桥接)

无 AI 软件

AMCDB 自豪地由人类双手打造,是出于对编程艺术的热爱,以及用自己的双眼深入探究软件内部构造这一传统的热爱。

本模组中没有任何代码是由 LLM 或 "AI" 工具创建的。

概述

AMCDB 是一个 Fabric/Quilt 模组,用于将你的 Minecraft 服务器连接到 Discord 服务器。你可以将游戏内聊天连接到 Discord 频道,为服务器控制台设置一个频道,甚至可以从任何地方运行服务器命令!

这是它在 Minecraft 中的样子……
Minecraft 游戏中的聊天示例

……这是它在 Discord 中的样子!
Discord 频道中的聊天示例

如果你更希望 Discord 中的游戏内消息看起来像是来自玩家(并将他们的玩家头像作为头像显示!),AMCDB 也支持 Discord webhook:
使用 webhook 模式的 Discord 频道聊天示例

主要特性

  • AMCDB 速度快对卡顿友好。它几乎所有的 工作都在主服务器线程之外完成,因此不会影响游戏性能。
  • AMCDB 灵活。你可以按自己的喜好配置一切 ——自定义消息在游戏内和 Discord 中的显示方式,将对你最有用的信息放入频道主题,甚至给 Discord 机器人设置一条巧妙的状态消息!
  • AMCDB 稳定兼容。它不使用 mixin 来修改 Minecraft 代码,因此很少在 Minecraft 版本之间损坏,而且它能与几乎任何其他 Fabric 模组良好配合。
  • 最后,AMCDB 很有趣。它支持各种酷炫的 Discord 功能,例如:
    • 字体样式……
      Minecraft 中的斜体、粗体和下划线文本
    • ……名称颜色……
      在 Minecraft 中显示的 Discord 名称颜色
    • ……甚至还有可以悬停显示的剧透文本!
      在 Minecraft 中模糊显示的 Discord 剧透文本

安装

按照以下步骤在你的服务器上设置 AMCDB。

注意:你需要是你想要连接的 Discord 服务器的管理员。

在你的 Minecraft 服务器上安装 AMCDB

你需要一个 Fabric 或 Quilt 服务器。设置好之后,确保 Fabric API 在你的 mods 文件夹中 ——这是 AMCDB 唯一的依赖项。

然后,从 GitHub ReleasesModrinth 获取最新的 AMCDB .jar 文件。文件名大致为 amcdb-1.1.5.jar。将其放入你的 mods 文件夹。

接下来,启动你的服务器。它会崩溃——这只是因为你还没有 配置 AMCDB。既然你已经启动过一次服务器,你的 config 文件夹中应该 有一个名为 amcdb.properties 的文件。用你的文本编辑器打开该文件,并留着它用于下一步。

设置一个 Discord 机器人

如果你以前使用过其他 Minecraft-Discord 模组,你可能已经 有一个机器人了。只要它在你的服务器上拥有正确的权限,你就可以复用它——只需将令牌放入 amcdb.properties 文件中。

如果你没有 Discord 机器人:

  1. 登录 https://discord.com/developers/applications/。
  2. 点击右上角的 New Application
  3. 给你的机器人起个名字,然后点击 Create
    Discord 创建应用对话框
  4. 在屏幕左侧,点击 Bot
    Discord 应用菜单
  5. 现在你将生成 AMCDB 用于连接的令牌。在页面的主要 部分,找到 Bot 区域中的 Token 并点击 Reset Token。 确认并输入你的 2FA 验证码(如果需要)后,会出现一串随机字符, 如下图所示——那就是你的令牌!点击 Copy
    Discord 机器人令牌
  6. 在你之前打开的 amcdb.properties 文件中,找到以 amcdb.discord.bot.token= 开头的那一行,并将你的机器人令牌粘贴到该行的 末尾。它看起来会像这样:
    amcdb.discord.bot.token=MTUxNjYyMDU5MTU2ODkxNjUyMQ.GtHHYH.cwfUiwbSCguEt8vA4KtdUdPlD-kexM_V98cSwE
    
  7. 向下滚动到 Privileged Gateway Intents 部分并开启 Message Content Intent。这能让你的机器人读取你 Discord 服务器中的消息,从而将它们放入你的 Minecraft 游戏聊天中。
    Discord 特权网关意图设置
  8. 回到屏幕左侧,继续前往 OAuth2
  9. OAuth2 URL Generator 部分中,在 Scopes 下勾选 bot 选项。 会出现另一个标有 Bot Permissions 的框。在这里选择以下权限:
    • Manage Channels
    • View Channels
    • Send Messages Discord 机器人权限
  10. 然后向下滚动到 Generated URL 部分,并从框中复制 URL。它 应该像这样:
https://discord.com/oauth2/authorize?client_id=1516620591568916521&permissions=3088&integration_type=0&scope=bot
  1. 将你复制的 URL 粘贴到一个新的浏览器标签页中,选择一个服务器,点击 Continue,然后点击 Authorize。你应该会看到机器人加入了你的 Discord 服务器!

配置聊天频道

AMCDB 有很多你可以配置的设置,但除了机器人令牌之外, 只有一个是你入门所必需的——你需要告诉 AMCDB 你想用于游戏内聊天的频道 ID。你可能需要 为此创建一个新的文本频道,因为该频道中的所有消息 都会出现在 Minecraft 中,反之亦然。

要获取频道 ID,请在你的 Discord 应用中启用开发者模式。打开 设置菜单,然后点击左侧的 Advanced。接着开启 Developer Mode
Discord 开发者模式设置

启用开发者模式后,你可以右键点击你想要 使用的频道并点击 Copy ID。将该 ID 粘贴到 amcdb.propertiesamcdb.discord.chat.channel= 的旁边。它看起来会像这样:

amcdb.discord.chat.channel=1046313040837832782

如果你想为服务器控制台设置一个频道,也复制它的 ID 并 粘贴到 amcdb.discord.console.channel= 的旁边。控制台频道支持 运行你通过 Discord 发送的命令;出于安全考虑,此功能默认 禁用,但你可以通过将设置 amcdb.discord.channels.console.enableExecution= 改为 true 来启用它。

然后保存 amcdb.properties 文件并再次启动你的 Minecraft 服务器。 如果你一切都做对了,你在游戏聊天中输入的任何内容 都应该出现在 Discord 频道中,而你在 Discord 频道中输入的任何内容都应该出现在你的游戏中!

请随意探索 amcdb.properties 文件的其余部分,因为 AMCDB 的所有配置设置都在那里。如果你更改了任何内容, 你需要停止并启动你的 Minecraft 服务器,新设置才会 生效。

配置 webhook 模式

如果你想将 Minecraft 玩家头像显示为 Discord 头像,你需要 启用 webhook 模式。这是可选的——如果你不 设置 webhook,AMCDB 也能正常工作。

要设置 webhook,请按照以下步骤操作:

  1. 打开你的 Discord 服务器设置页面。
  2. 在左侧选择 Integrations(在 "Apps" 类别下)。
  3. 点击 "Webhooks",然后点击 "New Webhook"。
  4. 点击你的新 webhook,将其名称改为 Minecraft(或你 喜欢的任何名称),并将频道设置为你想要用于 Minecraft 聊天的频道。
  5. 点击 "Copy Webhook URL"。
  6. 将 URL 粘贴到 amcdb.propertiesamcdb.discord.channels.chat.webhookUrl= 的旁边。 别忘了通过删除开头的 # 来取消注释该行。
  7. 一如既往,保存 amcdb.properties 文件并重启你的服务器。你 应该开始看到游戏内消息以玩家名称 和头像的形式出现在 Discord 中!

升级

一般来说,你只需用新版本替换 .jar 文件即可升级 AMCDB。

升级时,最好检查一下 amcdb.properties 中是否添加了新的属性;你可以在此处找到最新版本的默认 配置here。偶尔会添加新的 必需属性;这会导致更新 .jar 后服务器启动失败, 直到你将新属性添加到你的配置中。

你也可以通过强制 AMCDB 生成一个新的属性文件来更新你的属性文件:

  1. 停止你的 Minecraft 服务器
  2. amcdb.properties 重命名为一个临时名称,例如 amcdb.properties.old
  3. 更新 .jar 文件并启动你的服务器。AMCDB 将生成一个新的 amcdb.properties 模板,服务器会像全新 安装时一样停止。
  4. 将你的设置从 amcdb.properties.old 复制到新的 amcdb.properties
    • 你也可以简单地将任何缺失的属性复制到 amcdb.properties.old 中,然后将其重命名回 amcdb.properties
  5. 启动你的 Minecraft 服务器。