跳到主要内容

常见问题

指令​

输入 /sm 打开的不是邮箱?/ 和别的插件指令冲突?​

星月邮箱的主指令是 /starmail,/sm 是别名。服务器上如果有别的插件也注册了 /sm,原本会由服务器决定交给谁。 星月邮箱为此提供了 config.yml 的 command-aliases(默认 [sm]):玩家输入列表里的指令时,一律交给星月邮箱。

  • 想把 /sm 让给别的插件:改成 command-aliases: [],玩家改用 /starmail,或加一个新的别名例如 [mail]。
  • 控制台不受这个设定影响,冲突时请在控制台写 starmail。

见 config.yml。

装了 CMI,/sm 会冲突吗?​

CMI 没有使用 /sm,一般不会冲突。会和 CMI 撞名的是同系列 StarCrate 星月造物的 /sc(CMI 也有 /sc 别名),星月造物用它自己的 command-aliases 把 /sc 导回自己,做法和这里相同。 万一你的服务器上真的有别的插件占用了 /sm,照上一题的 command-aliases 处理即可:列表里的指令会在其他插件之前被导向 /starmail。

玩家没有权限打开邮箱?​

starmail.use 默认所有人都有。如果被权限插件拿掉了,加回来:lp group default permission set starmail.use true。全部节点见 权限。

收信与领取​

在 A 服寄的信,玩家在 B 服收不到?​

依序检查:

  1. 两边的 /sm version 是不是都显示 MySQL?显示 SQLite 表示那个子服还在用自己的 data.db。
  2. 两边的 database 设定(地址、数据库名称)与 table-prefix 是不是完全一样?前缀不同就是不同的表格,互相看不到。
  3. 改了数据库设定之后有没有重启?/sm reload 不会重新连接数据库。
  4. 控制台有没有「跨服已开启」这一行?没有的话检查 sync.enabled(auto 或 true)。
  5. 用的是不是 @online?@online 只发给执行指令那个子服的在线玩家,想全部子服都收到请用 @all。

跨服的新邮件提示有 sync.interval-seconds(默认 3 秒)的延迟,属于正常。详见 跨服设置。

领取时说「背包空间不足」,可是我有空格?​

插件只算背包的 36 个主格子(不含装备栏与副手),而且会把这封信的所有附件一起算:要全部放得下才会领取,不会只领一半。 提示里的「需要 N 个空格」是这封信的物品总共要占几格。整理背包后再领即可。

一键领取时,放得下的邮件照常领取,放不下的整封留在邮箱里。

附件里的东西不见了?​

先用 /sm log <玩家> 查记录,看那封信是「领取」「删除」还是「过期」:

记录可能的原因怎么办
领取已经领到背包了。如果当时背包刚好被塞满,放不下的物品会另寄一封「背包已满 · 物品退回」的信,看看邮箱—
过期超过期限没领。玩家寄的信会退回寄件人;系统 / 管理员的信过期后附件就失效了在 mail.keep-deleted-days(默认 14 天)内可以 /sm restore <编号>
删除 / 管理员删除被删掉了同上,可以恢复
没有「领取」记录、信还在可能是附件读不出来(见下一题)或领取的子服没有经济插件看领取时的提示

恢复前请确认对方真的没拿到东西,恢复后附件可以再领一次。

提示「附件数据无法读取」?​

附件物品是由更新版本的服务器寄出的,这个子服的 Minecraft 版本比较旧,读不懂。附件不会发放、邮件也不会标为已领取,到相同或更新版本的子服就能领。 共用数据库的子服请使用相同的 Minecraft 版本,见 跨服设置。

金币 / 点券领不了?​

金币与点券是在领取的那个子服存入的:那个子服要装 Vault + 经济插件(金币)或 PlayerPoints(点券)。没有的话这封信会被跳过并提示原因,邮件还在,装好之后再领即可。

收到新邮件没有提示?​

  • 看 config.yml 的 notify.new-mail:chat 是不是 true,title / subtitle 是不是都被清空了。
  • 上线提示:notify.join-delay-seconds 不能是 0;join-only-when-unread: true 时没有未读、没有待领取就不会提示。
  • 跨服寄来的信要等下一次轮询(默认 3 秒)。
  • messages.yml 里对应的 new-mail、join 被写成 '' 也不会显示。

发信​

怎么给所有玩家发礼物,包括以后才进服的新玩家?​

做一个模板,期限设成永不过期,发一次全服邮件就好:

# templates.yml
gift:
title: '开服礼包'
items:
- {material: DIAMOND, amount: 5}
expire-days: 0
/sm send @all gift

现在的玩家马上收到(离线的下次上线收到),以后第一次进服的每个新玩家也会收到一份,每人只有一份。 不想再发时 /sm broadcasts 找编号,/sm cancel <编号>。只想发给现有玩家(例如停机补偿)用 @all-existing。

别忘了 expire-days: 0

全服邮件的期限从发出那一刻算起,到期后就不再发给新玩家。不写 expire-days 时默认 30 天。

怎么接投票插件 / 活动插件?​

把奖励做成模板,在那个插件的奖励指令里写:

sm send %player% vote

玩家变量的写法以那个插件为准(%player%、{player} 等)。玩家不在线也没关系,奖励会在邮箱里等他。见 邮件模板。

管理员写信放进去的物品会被复制吗?​

不会。/sm admin 里放进附件格的物品会真的寄出,离开你的背包。要发很多份:用群发对象(全部在线 / 全服),或存成模板再用 /sm send。 只有 /sm item 是寄出手上物品的副本。

模板界面关掉后,物品会退回吗?​

你自己从背包放进去的物品会退回背包;用 /sm template edit 载入的模板原有物品是副本,不会退回(不然每编辑一次就会多出一份)。见 邮件模板。

/sm send 提示「模板的物品数据无法读取」?​

这个模板的 items-data 读不出来,通常是在更新版本的服务器上保存的(共用数据库的子服版本不同时最常见),或文件被手动改坏。 插件会停止发送,不会寄出缺少物品的信。请在版本最旧的子服用 /sm template create <名字> 重新做一次并保存。

玩家写信​

不想让玩家互相寄信 / 只想让 VIP 寄信?​

  • 全服关闭:config.yml 的 player-mail.enabled: false。
  • 只给特定组:拿掉默认组的 starmail.write,再给 VIP 组加上。

玩家能寄绑定物品吗?​

默认不行:名称或说明含有「绑定」「綁定」「Soulbound」「不可交易」的物品放不进附件格。你的服务器用别的字眼表示绑定,就加进 player-mail.blacklist.name-or-lore-contains。

玩家写信时在聊天栏输入的内容,别人看得到吗?​

看不到。输入的那一行只交给星月邮箱,就算聊天插件会自己重新发送消息,也会被拦下来。

玩家能删除附件还没领的信吗?​

默认不能,避免误删。想开放就把 mail.allow-delete-unclaimed 改成 true,删除时会特别警告并要求连按两次。

其他​

装了云界面 CloudUI,/sm 打开的画面不一样?​

是的。装了云界面时 /sm 打开全屏的邮箱画面;拒绝资源包的玩家、基岩版玩家仍然打开箱子菜单。不想用画面,把 config.yml 的 menu.cloudui 改成 false 并重启。见 云界面邮箱。

支持 Folia 吗?​

支持。Paper、Purpur、Folia 1.20 – 26.x 都可以使用同一个 jar。

可以从别的邮箱插件导入邮件吗?​

目前没有导入功能。建议在旧插件里让玩家先领完附件,再换成星月邮箱。

还没填授权码 / 连不上授权服务器会怎样?​

邮件资料完全不受影响,只是邮箱功能暂时锁定(/sm 会提示尚未授权)。连不上时每 60 秒自动重试,连上就立即开启,不需要重启。排查方法见 安装与获取。

怎么备份?搬服要带走什么?​

  • SQLite:整个 plugins/StarMail/ 资料夹。请在关服后复制;开服中复制时要连同 data.db-wal、data.db-shm 一起复制,否则可能缺少最近的邮件。
  • MySQL:备份数据库(例如 mysqldump starmail),以及每个子服的 plugins/StarMail/(设定、模板、菜单)。
  • token.yml 的授权会绑定机器。换了机器后如果验证失败,控制台会写出原因与本机机器码,照提示到会员中心处理。