Proxy Messages

针对您的Velocity代理,在所有后端服务器上实现网络范围的消息自定义。

资源图片
# Proxy-Messages ## 统一系统和玩家消息,适用于您的 Velocity/Paper 网络 ProxyMessages 是一款功能强大的 Velocity 插件,旨在统一您网络中所有服务器的消息系统。ProxyMessages 可以配置为将消息发送给所有服务器上的玩家,用于玩家聊天消息、代理连接、断开连接和服务器更改。无论您运行小型网络还是大型操作,ProxyMessages 都能通过同步整个服务器网络中的关键消息,为您提供无缝的玩家体验。 加入 [我的 Discord!](https://discord.gg/C2PJNTN97u) ![使用示例](https://github.com/user-attachments/assets/fe5e1ed0-9c39-49ef-b246-d282ac1a4d0f) ## 主要功能: * 全局消息,让玩家可以互相交流,即使他们未连接到同一服务器。 * 可配置的消息:轻松自定义加入、离开和服务器切换消息,使其符合您服务器网络的语气和风格。 * 多种消息变体:为每个事件创建多个潜在消息,让体验多样化,并让您的玩家保持新鲜感。 * 自定义颜色,支持 HEX:使用 HEX 代码自定义颜色,以匹配您服务器的品牌或美学。 * 能够强制执行网络范围内的资源包。 * 与 Discord 集成,以保持您服务器网络在 Discord 上的连接! ### 配置概览: 所有配置都在代理端管理,这意味着无需在各个后端服务器之间同步设置。只需编辑代理服务器 `plugins/proxymessages/` 目录下的 `config.yml` 文件即可开始。 ### Paper 插件: ProxyMessages 可以在 Velocity 服务器上独立运行。但是,由于 Velocity API 的限制,它无法编辑或更改通常出现在服务器上的 Vanilla 消息。这些包括 Vanilla 加入和离开消息,以及玩家连接的服务器上的 Vanilla 聊天消息。如果您想移除 Vanilla 加入和离开消息并格式化聊天消息,请在所有后端服务器上使用提供的 Paper 插件。安装 Paper 插件后,上述功能将自动开始工作。无需额外配置。 #### **颜色**: 在所有消息选项中,您可以在括号内插入一个十六进制代码(例如:`{#ff0066}`)。除了玩家姓名之外,所有文本都将转换为该颜色。 您可以在一个字符串中使用多次以获得彩色消息。 所有文本的默认颜色为黄色。 #### **样式** 在所有消息选项中,您可以使用 Kyori Adventure 文本装饰选项来进一步定制您的加入选项。 选项包括: * `{bold}` - 此标签后的文本将加粗 * `{italic}` - 此标签后的文本将斜体 * `{strike}` - 此标签后的文本将具有删除线 * `{underline}` - 此标签后的文本将带有下划线 * `{obfuscate}` - 此标签后的文本将混淆 两组这些标签将“打开”和“关闭”其样式。 例如,您可以通过夹在相应的标签之间来设置文本的一部分的样式。 ### 主要配置选项: * `default-player-color`: 默认颜色,用于尚未为名称设置颜色的玩家。 * `global-network-join`: 启用所有用户在玩家加入网络时的加入消息。 * `global-network-leave`: 启用所有用户在玩家离开网络时的离开消息。 * `global-network-switch`: 启用所有用户在玩家在服务器之间移动时的服务器切换消息。 * `global-messages`: 启用服务器向所有服务器发送玩家消息的功能。 * `join-message-options`: 定义潜在的加入消息列表。 使用 {player} 作为玩家用户名的占位符。 * `leave-message-options`: 定义潜在的离开消息列表。 使用 {player} 作为玩家用户名的占位符。 * `switch-message-options`: 定义潜在的切换消息列表。 使用 {player} 作为前服务器的占位符,{prev} 作为前服务器,{cur} 作为当前服务器作为占位符。 * `global-message-prefix`: 全局消息的前缀,用于其他服务器。 使用 {player} 作为发送消息的玩家,和 {cur} 作为他们发送消息的服务器。 ### 玩家特定名称着色: 玩家可以单独自定义其名称的颜色。 他们只需要执行命令 `set-color #xxxxxx`,其中 `#xxxxxx` 是一段标准的 HEX 代码。 另一个玩家也可以使用命令 `set-color #xxxxxx playerName` 来更改玩家的名称(我计划很快将此功能设置为操作员专用...) ### 配置重新加载 此插件的配置可以实时重新加载! 只需对您的配置文件进行更改,然后使用 `pmReload` 或 `reloadPM`,配置更改将立即生效! ### 全局玩家消息: 启用 `global-messages` 后,玩家可以使用以下命令(别名用于方便)在“全局”和“本地”消息之间切换: * `toggleGM` * `tGM` * `pmToggle` #### `global-message-defaults` 指的是玩家的消息是否默认是全局的(如果为真,他们仍然可以切换) **全局消息** 表示用户的消息将显示在他们连接的服务器以及网络中的所有其他服务器上。 **本地消息** 表示用户的消息仅显示在他们连接的服务器上。 ### 资源包: 本节讨论了强制执行网络范围内的资源包的能力 在您的 `config.yml` 文件的 `network-resource-pack` 部分下: `enabled`: 启用和禁用资源包 **注意:** 从此点开始,任何配置都不会起作用,如果 `enabled` 为 `false`。 * `url`: 资源包的下载 URL * `sha1-hash`: 资源包的哈希值 **注意**:目前,哈希将不起作用,因为我不知道如何将其正确转换为字节数组。 如果您知道如何,请在本项目 GitHub 页面上打开 PR 或 Issue 工单。 * `prompt`: 用户收到的提示,询问他们是否需要资源包 * `required`: 是否需要在网络上玩游戏时需要资源包 * `except`: 一个服务器列表,用于在向玩家发送资源包时要忽略。 ### Discord: 本节讨论了 Discord 集成功能及其可定制性。 在您的 `config.yml` 文件的 `discord` 部分下: `enabled`: 启用 Discord 功能。 **注意:** 从此点开始,任何配置都不会起作用,如果 `enabled` 为 `false`。 * `bot-token`: 一个字符串,代表插件将尝试连接的 bot token。 这与您可能在 DiscordSRV 插件中使用的 token 相同。 * `proxy-channel-id`: 您希望代理消息发送到的频道的 ID。 * `server-channel-ids`: 服务器名称列表及其对应的 Discord 频道 ID。 消息将链接到每个服务器及其对应的频道之间。 * `join-color`: 用于 Discord 嵌入的加入消息的十六进制颜色代码。 * `leave-color`: 用于 Discord 嵌入的离开消息的十六进制颜色代码。 * `switch-color`: 用于 Discord 嵌入的切换消息的十六进制颜色代码。 * `text-configuration`: 自定义发送消息的选项。 文本选项支持 Markdown 格式。 * `online-message`: 代理启动时发送的消息。 * `offline-message`: 代理关闭时发送的消息。 * `player-message-prefix`: 发送到 Discord 的玩家消息的前缀 - 如果启用全局消息,它将使用全局消息前缀 * `discord-role-color`: 当为 true 时,来自 Discord 的任何消息将使用 Discord 中发送者角色的颜色显示其姓名。 * `server-count`: 启用在代理启动时打印活动服务器列表。 * `display-icon`: 启用或禁用在启动和关闭期间显示提供的图像。 **注意:** 除非您提供要显示的图像,否则 `display-icon` 将无法工作。 您可以通过将图像命名为 `icon.jpg` 并将其放置在您的 `plugins/proxymessages` 目录中来实现此目的。 当设置为 `true` 时,插件将自动检测图像并使用它。