管理员写信与管理
管理员写信界面
/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 分钟处理过期邮件,每小时彻底清除旧资料),这个指令让它马上执行一次:
- 把到期的邮件标为过期,玩家寄出的附件退回寄件人;
- 领取超过
mail.auto-delete-claimed-days天的邮件移出邮箱(这个设定默认关闭); - 彻底清除删除 / 过期超过
mail.keep-deleted-days天的邮件,与超过mail.log-keep-days天的记录; - 清除已经结束(被
/sm cancel停止或已过期)、而且发出超过mail.keep-deleted-days天的全服邮件,以及它们「谁已经收到」 的记录。玩家邮箱里已经收到的那一封不受影响。
结果写在控制台。