加入屏幕 🖼️ 高级图像弹窗 欢迎 / 规则屏幕 🖥️

加入屏幕 🖼️ 高级图像弹窗 欢迎 / 规则屏幕 🖥️

JoinScreen 为您的 Hytale 服务器添加了一个动态图像+文本的欢迎弹窗。超级简单的拖放图像解决方案。展示服务器规则和提示、网站链接、横幅、说明等。

实用

JoinScreen

一个先进的、基于图像的、对服务器友好的 Hytale 服务器欢迎弹窗。

当玩家加入你的服务器时,JoinScreen 会显示一个简洁、完全可定制的弹窗。 它非常适合用于规则、公告、新手引导、导航和首次玩家流程,同时保持轻量和服务器友好。

与早期版本不同,JoinScreen 现在完全在运行时工作:内容更改无需重启服务器,并且已连接的玩家可以即时更新。

该模组是显示规则公告、任何自定义图像、文本以及(可选)指向你的网站/Discord/商店的链接、批准冷却时间等的必备模组。它被设计得轻量且超易于设置。

如果与我的模组连接使用,效果极佳

主要功能

  1. 基于图像的加入欢迎/规则弹窗
  2. 完全可定制的标题、文本、按钮和图像
  3. 支持本地图像 远程 URL + 压缩 + 缓存与本地保存
  4. 最多 3 个操作按钮,每个按钮具有自定义行为:
    • 以控制台身份运行服务器命令(无需权限)
    • 以玩家身份运行服务器命令(基于其权限)
    • 打开 URL(网站/Discord/商店/维基)
    • 布局会根据 0-3 个按钮的数量自动调整。
  5. 可选的**“不再显示”**复选框(支持自定义过期时间)
  6. 加入冷却系统,防止重连时刷屏
  7. 锁定计时器,强制玩家关闭前阅读(非常适合规则)
  8. 实例/世界过滤(仅在特定实例中显示弹窗)
  9. 流畅的 UI 布局,带有自动调整大小、间距和自定义圆角。
  10. 实时更新,无需重启/joinscreen refresh/joinscreen image <url> 命令。
  11. 自定义可选命令用于重新打开弹窗窗口。
  12. 与我的 OkeyComMenu 模组无缝集成。
  13. 设置显示弹窗前的自定义延迟 [1.21+]

🛠️ 快速设置(服务器所有者)

在开始之前,请移除任何旧版本的模组。

1. 将模组放入服务器的 mods 文件夹,然后启动/重启它。

2. 服务器启动后: /mods/jox.works_JoinScreen 根据文件中的详细信息修改 JoinScreen.json

你可以将图像设置为 URL,或者将其放在 /mods/jox.works_JoinScreen/data 文件夹中,然后直接写入文件名(不带文件夹路径)来代替完整的 URL。

推荐尺寸: 900×500 或更高 宽高比约 1.8:1(不要太矮或太瘦,除非关闭自动调整)

3. 在服务器上,运行/joinscreen reload命令 - 等待几秒钟 - 就完成了!

4. 之后立即运行/showagain(或你的自定义命令)进行测试!

要仅替换图像并实时重载,请运行: /joinscreen image <url> 或 <文件名.png>

示例配置文件

// JoinScreen 配置
// 支持 //, # 和 /* */ 注释。
// 运行时图像源可以是:
// 1) mods/jox.works_JoinScreen/data/ 目录下的本地文件名(例如 "poster.png")
// 2) 远程 URL(例如 "https://example.com/poster.png")
// 弹窗行中最多 3 个操作按钮。
{
  "enabled": true, // 主启用/禁用整个弹窗。
  "showEveryJoin": true, // true = 每次登录显示,false = 每个玩家仅显示一次。
  "cooldownSeconds": 0, // 显示之间额外的防刷屏冷却时间(跨重登持久化到每个用户)。
  "lockSeconds": 0, // 打开后关闭按钮的锁定时长。
  "allowedInstances": ["default"], // 允许显示弹窗的实例/世界名称(默认:["default"])。

  "allowDontShowAgain": true, // 允许玩家选择不再自动弹出弹窗。
  "showDontShowAgainCheckbox": true, // 在 UI 中显示选择退出的复选框。
  "dontShowAgainText": "Do not show again", // 选择退出复选框旁边的标签文本。
  "dontShowAgainExpiry": "30d", // 选择退出的过期时间:5m, 12h, 30d 或 "never"。
  "showAgainCommand": "showagain", // 可选的别名命令,设为 "" 以禁用。

  "title": "Welcome", // 窗口标题文本。
  "textAbove": "", // 图像上方的可选文本行。
  "textBelow": "", // 图像下方的可选文本行。
  "closeButtonText": "Close", // 按钮解锁时的关闭按钮文本。
  "lockedCloseButtonText": "Please wait...", // 锁定计时器激活时的关闭文本。
  "autoSizeWindow": true, // 动态调整窗口大小以适应当前图像。
  "maxWindowWidth": 1280, // 自动调整宽度的上限。
  "maxWindowHeight": 900, // 自动调整高度的上限。
  "compressImage": true, // 对超大图像启用轻度缩小。
  "roundedCorners": true, // 启用圆角处理。
  "imageCornerRadius": 24, // 圆角半径(像素)。

  "image": "https://files.jox.works/jox.works/JoinScreen/placeholder.jpg", // 图像文件名或完整 URL。支持 png 或 jpg。

  // 按钮行(最多 3 个):
  // - command 可以是 URL 或服务器命令。
  // - runAs: "PLAYER" 或 "CONSOLE"。
  // - permission 为空表示每个人都可以点击。
  // - closeAfterClick 控制点击后是否先关闭弹窗。
  // - 你可以在每个 { 到 } 之间添加或删除按钮,
  // - 如果没有按钮(只有关闭按钮),则保留   "buttons": []
  "buttons": [
    {
      "label": "Test Teleport",
      "command": "/tp {name} 1000 100 1000",
      "runAs": "CONSOLE",
      "permission": "",
      "closeAfterClick": true
    },
    {
      "label": "Test Player Command",
      "command": "/say testing player command",
      "runAs": "PLAYER",
      "permission": "",
      "closeAfterClick": true
    },
    {
      "label": "Website Button",
      "command": "https://jox.works",
      "runAs": "PLAYER",
      "permission": "",
      "closeAfterClick": true
    }
  ]
}

未来规划

**计划增加带有上一页/下一页的多页支持。**

**由 jox.works 充满爱心制作**
如果你可以,我将非常感激任何小额捐赠,我花费了很多时间(和光标代币)来与大家分享 😊 [❤️ Donation link: buymeacoffee ❤️](https://www.buymeacoffee.com/hytale)