跳到主要内容

管理员写信与管理

管理员写信界面​

/sm admin

需要权限 starmail.admin.compose(默认 OP),只能由玩家在游戏里使用(/sm compose 也可以)。 界面和玩家写信是同一个 menus/compose.yml,但多了一排管理员专用的按钮,标题变成「管理员写信」。

格位按钮操作
0寄件人(橡木告示牌)左键输入寄件人名称(可以用颜色);右键恢复默认(config.yml 的 default-sender,默认「星月邮局」)
1发送对象(指南针)左键切到下一个、右键切到上一个,见下方「发送对象」
2附带点券(绿宝石)左键输入数量;右键清除。需要 PlayerPoints
3领取时执行的指令(命令方块)左键添加一条;右键删除最后一条。见下方「领取指令」
4信件预览只显示
5附件说明(下界之星)左键添加一行;右键删除最后一行
6过期(时钟)左键输入天数(0 = 永不过期,可以写小数);右键恢复默认
7存为模板(末影箱)输入模板名称保存,见 邮件模板。需要 starmail.admin.template
8管理员写信说明只显示
10收件人发送对象为「指定玩家」时输入玩家名字;群发时变成信标,显示发送对象
12 / 14标题 / 正文同玩家写信,但管理员可以使用颜色与 MiniMessage,正文没有行数限制(每行长度与标题长度仍受 player-mail 的长度设定限制)
16附带金币左键输入;右键清除。需要 Vault
19 – 43附件格放入要寄出的物品
45 / 53取消 / 寄出同玩家写信

和玩家写信的差别:

  • 金币、点券是凭空发放的,不会从任何人的余额扣除;也没有邮费、冷却、每日次数、黑名单与对方邮箱上限的限制。
  • 附件物品是真的寄出:放进去的物品会离开你的背包(不是复制)。要发很多份,用群发或模板。
  • 可以寄给自己,方便测试。

发送对象​

发送对象谁会收到对应的指令目标
指定玩家填写的那一个玩家(在线、离线都可以,只要他进过服)玩家名
全部在线玩家这个子服上现在在线的所有人,每人一封@online
全服玩家(含之后上线的新玩家)全服邮件:在线的人马上收到,离线的人下次上线收到,之后第一次进服的新玩家也收到@all
全服玩家(不含新玩家)全服邮件,但只发给发送前就进过服的玩家@all-existing
  • 群发(后三种)需要确认:第一次点寄出会提示「将发送给 xxx,再按一次确认发送」,按钮变红,4 秒内再点一次才发出。
  • 全服邮件每个玩家只会收到一封,几个子服同时发放也一样。跨服的细节见 跨服设置。
  • 全服邮件的期限从发出那一刻开始算:设 30 天,第 29 天才上线的玩家收到的信只剩 1 天;过期后也不再发给新上线的玩家。

领取指令​

玩家领取附件时执行。输入时开头的 / 可写可不写。

写法效果
lp user {player} parent add vip控制台执行(默认)
[console] eco give {player} 100控制台执行(明确写出)
[player] spawn由领取的玩家自己执行(受他自己的权限限制)
[message] <gold>恭喜获得 VIP!给领取的玩家发一条消息(支持颜色与 MiniMessage)

指令里可以用的变量:{player} / %player% = 玩家名,{uuid} = 玩家 UUID。

邮箱里的附件列表不会显示指令本身。写一行 附件说明(例如「VIP 7 天」)让玩家知道会得到什么; 没写附件说明时,附件列表显示「特殊奖励 × 指令数量」。

寄出之后​

结果提示
指定玩家 / 全部在线已发送给 xxx(数量)
全服全服邮件已发出(#编号):在线玩家立即收到,其他玩家上线时收到
找不到指定的玩家提示找不到玩家,写信界面重新打开,附件还在
寄送失败提示寄送失败,附件退回背包

用指令发信​

不想开界面,或要在控制台、其他插件的奖励指令里发信,用这些指令(需要 starmail.admin.send):

/sm text <目标> <标题> [正文] 文字邮件,标题的空格用 _,正文用 | 分行
/sm item <目标> [标题] 寄出手上物品的副本(只能玩家使用)
/sm money <目标> <数量> [标题] 金币
/sm points <目标> <数量> [标题] 点券
/sm send <目标> <模板> 模板邮件

完整说明与例子见 指令。

查看玩家的邮箱​

/sm view <玩家>

需要 starmail.admin.view。打开那个玩家的邮箱,标题前面加上「[管理] 玩家名 ·」。玩家不在线也可以查看。

  • 可以点开邮件、用书本阅读全文;不会把他的邮件标为已读。
  • 不能替他领取附件,也没有一键领取、全部已读、写信按钮。
  • Shift + 右键 可以删除任何一封邮件,包括附件还没领取的(4 秒内按两次确认)。记录里显示为「管理员删除」。
  • 「删除已读邮件」按钮同样可以用,删除的是他已读、且没有待领附件的邮件。

邮件记录​

/sm log <玩家> [页]

需要 starmail.admin.log。每页 10 条,最新的在最前面:

10-11 20:15:32 领取 #128 活动奖励 diamond×5、金币 100 lobby
10-11 20:14:03 收到 #128 [ADMIN] 星月邮局:活动奖励 1 件物品 金币 100 lobby

每条依序是时间、动作、邮件编号、内容摘要、在哪个子服发生。

动作什么时候记录
收到邮件进入这个玩家的邮箱(含全服邮件发到他手上的那一刻)
寄出这个玩家寄信给别人
领取领取附件,摘要列出物品、金币、点券与执行的指令
删除玩家自己删除
管理员删除管理员在 /sm view 里删除
过期邮件到期
恢复管理员用 /sm restore 恢复

记录默认保留 90 天(mail.log-keep-days)。

恢复邮件​

/sm restore <邮件编号> [有效天数]

需要 starmail.admin.restore。把一封已领取、已删除或已过期的邮件恢复成「在邮箱里、附件未领取」的状态。

  • 编号在邮件说明的第一行(例如 #128)或 /sm log 里找;可以写 128 或 #128。
  • 恢复后的期限:不写默认 7 天;写 0 表示永不过期。
  • 删除 / 领取 / 过期的邮件只保留 mail.keep-deleted-days(默认 14 天),之后彻底清除,就恢复不了了。
  • 玩家寄出、过期后附件已经退回寄件人的信不能恢复,提示「邮件 #编号 过期后附件已退回寄件人,不能再恢复」,避免同一份附件被领两次。
恢复已领取的邮件 = 可以再领一次

这是管理员工具,故意保留这个能力:恢复会把邮件改回「未领取」,玩家可以再领一次附件。恢复前先用 /sm log 确认对方真的没拿到东西。

全服邮件管理​

/sm broadcasts
/sm cancel <全服邮件编号>

都需要 starmail.admin.send。

  • /sm broadcasts 列出还在发放中的全服邮件(最多 20 封):编号、标题、发出时间、到期时间。
  • /sm cancel <编号> 停止发放:还没收到的玩家不会再收到,已经收到的不受影响(他们邮箱里的那封照常可以领)。
  • 全服邮件的编号是发出时提示的「#编号」,和玩家邮箱里那封信的邮件编号不同。

立即清理​

/sm purge

需要 starmail.admin.purge。插件本来就会自动清理(每 5 分钟处理过期邮件,每小时彻底清除旧资料),这个指令让它马上执行一次:

  1. 把到期的邮件标为过期,玩家寄出的附件退回寄件人;
  2. 领取超过 mail.auto-delete-claimed-days 天的邮件移出邮箱(这个设定默认关闭);
  3. 彻底清除删除 / 过期超过 mail.keep-deleted-days 天的邮件,与超过 mail.log-keep-days 天的记录;
  4. 清除已经结束(被 /sm cancel 停止或已过期)、而且发出超过 mail.keep-deleted-days 天的全服邮件,以及它们「谁已经收到」的记录。玩家邮箱里已经收到的那一封不受影响。

结果写在控制台。