指令
主指令是 /starmail,平常打 /sm 就好。所有子指令都支持 Tab 补全,只会补全你有权限使用的指令。
config.yml 的 command-aliases(默认 [sm])里的指令,玩家输入时一律交给星月邮箱,即使别的插件也注册了 /sm。
控制台不受这个设定影响;控制台遇到 冲突时请写完整的 starmail。见 config.yml。
看懂指令写法
| 写法 | 意思 |
|---|---|
<名称> | 必填 |
[文字] | 选填,可以不写 |
a|b | 二选一 |
<目标> | 收件人,见下方「目标写法」 |
目标写法
send、text、item、money、points 的 <目标> 可以写:
| 目标 | 谁会收到 | 邮件类型 |
|---|---|---|
玩家名 | 一个玩家。在线、离线都可以,只要他在本服或连同一数据库的任何子服上线过;不分大小写 | 管理员 |
@online(也可以写 @a) | 执行指令的这个子服上现在在线的所有人,每人一封 | 管理员 |
@all(也可以写 *) | 全服邮件:在线的人立刻收到,离线的人下次上线收到,之后第一次进服的新玩家也收到;每人一封 | 全服 |
@all-existing | 全服邮件,但只发给发送前就进过服的玩家 | 全服 |
- 全服邮件的细节(跨服、停止发放、 期限怎么算)见 管理员写信与管理 与 跨服设置。
- 用指令寄出的信,寄件人是
config.yml的default-sender(默认「星月邮局」),期限是mail.system-expire-days(默认 30 天)。想自订寄件人、期限、指令奖励,请做成 模板 再用/sm send。
指令一览
| 指令 | 作用 | 权限 |
|---|---|---|
/sm | 打开邮箱 | starmail.use |
/sm write [玩家] | 写信 | starmail.write |
/sm claimall | 一键领取全部附件 | starmail.use |
/sm help | 显示帮助 | 无 |
/sm admin | 管理员写信界面 | starmail.admin.compose |
/sm send <目标> <模板> | 发送模板邮件 | starmail.admin.send |
/sm text <目标> <标题> [正文] | 发送文字邮件 | starmail.admin.send |
/sm item <目标> [标题] | 寄出手上物品的副本 | starmail.admin.send |
/sm money <目标> <数量> [标题] | 寄金币 | starmail.admin.send |
/sm points <目标> <数量> [标题] | 寄点券 | starmail.admin.send |
/sm template … | 管理邮件模板 | starmail.admin.template |
/sm view <玩家> | 查看并管理玩家的邮箱 | starmail.admin.view |
/sm log <玩家> [页] | 邮件记录 | starmail.admin.log |
/sm restore <编号> [天数] | 恢复邮件 | starmail.admin.restore |
/sm broadcasts | 进行中的全服邮件 | starmail.admin.send |
/sm cancel <编号> | 停止发放全服邮件 | starmail.admin.send |
/sm purge | 立即清理过期邮件 | starmail.admin.purge |
/sm reload | 重载配置 | starmail.admin.reload |
/sm version | 版本信息 | 无 |
全部权限节点见 权限。
还没填授权码、或授权还在验证中时,除了 /sm reload 与 /sm version,所有子指令都只会提示「星月邮箱尚未授权」。见 安装与获取。
玩家指令
/sm
打开自己的邮箱。
| 项目 | 内容 |
|---|---|
| 用法 | /sm 或 /sm open |
| 权限 | starmail.use(默认所有人) |
| 控制台 | 不行,只能玩家 |
- 界面与操作见 玩家邮箱。
- 新邮件提示、上线提示的「点击打开」执行的也是这条指令。
- 输入不存在的子指令会显示帮助。
例子
/sm
/sm open
/sm write
打开写信界面,给其他玩家寄信。
| 项目 | 内容 |
|---|---|
| 用法 | /sm write [玩家] |
| 权限 | starmail.write(默认所有人) |
| 控制台 | 不行,只能玩家 |
| 参数 | 必填 | 说明 |
|---|---|---|
[玩家] | 否 | 收件人先填好;不写就在界面里填。Tab 补全在线玩家 |
- 服务器关闭玩家互寄(
player-mail.enabled: false)时提示「本服没有开放玩家互寄」。 - 还在寄信冷却中时打不开,提示还要等几秒。
- 写信规则(邮费、次数、黑名单…)见 玩家写信。
例子
/sm write
/sm write Steve
/sm claimall
领取邮箱里所有附件待领取的邮件,等于邮箱里的「一键领 取」按钮。
| 项目 | 内容 |
|---|---|
| 用法 | /sm claimall |
| 权限 | starmail.use(默认所有人) |
| 控制台 | 不行,只能玩家 |
- 背包放不下的邮件整封留在邮箱里,提示还有几封没领。规则见 一键领取。
- 适合绑在菜单插件的按钮上。
例子
/sm claimall
/sm help
列出指令。
| 项目 | 内容 |
|---|---|
| 用法 | /sm help |
| 权限 | 无 |
| 控制台 | 可以 |
- 所有人都会看到
/sm、write、claimall、help四条。 - 管理指令按每一行的权限显示:有哪个权限就看到哪几行(例如只有
starmail.admin.view的客服只看到/sm view)。/sm version所有人都看得到。
发信指令
这些指令都可以在控制台执行(/sm item 除外),所以能直接写进其他插件的奖励指令、定时任务、活动脚本里。执行结果:
| 结果 | 提示 |
|---|---|
| 发给一个玩家 | 已发送给 Steve (1) |
@online | 已发送给 全部在线玩家 (12)(数字是收到的人数) |
@all / @all-existing | 全服邮件已发出 (#3):在线玩家立即收到,其他玩家上线时收到 |
| 找不到玩家 | 找不到玩家 xxx(对方需要在本服或连同一数据库的子服上线过) |
/sm send
发送一个 邮件模板。最常用的发信指令:寄件人、正文、物品、金币、点券、领取指令、期限都在模板里设定好。
| 项目 | 内容 |
|---|---|
| 用法 | /sm send <目标> <模板> |
| 权限 | starmail.admin.send |
| 控制台 | 可以 |
| 参数 | 必填 | 说明 |
|---|---|---|
<目标> | 是 | 玩家名、@online、@all、@all-existing,见 目标写法 |
<模板> | 是 | templates.yml 里的模板名。Tab 补全现有模板 |
- 模板不存在时提示「没有模板 xxx」。
- 模 板的物品数据读不出来时(例如在更新版本的服务器保存的)不会发送,提示「模板 xxx 的物品数据无法读取…请重新保存这个模板」。
- 模板的物品超过
mail.max-items时:发给玩家 /@online会拆成好几封;全服邮件只保留前max-items组。
例子
/sm send Steve vote
/sm send @online event_reward
/sm send @all newbie
/sm send @all-existing sorry
控制台 / 其他插件的奖励指令里(不加 /):
sm send %player% vote
/sm text
发送一封只有文字的邮件。
| 项目 | 内容 |
|---|---|
| 用法 | /sm text <目标> <标题> [正文] |
| 权限 | starmail.admin.send |
| 控制台 | 可以 |
| 参数 | 必填 | 说明 |
|---|---|---|
<目标> | 是 | 见 目标写法 |
<标题> | 是 | 一个词;要空格的地方写 _,会变成空格。支持颜色与 MiniMessage |
[正文] | 否 | 后面全部文字都是正文,用 | 分行。支持颜色与 MiniMessage |
例子
/sm text Steve 测试邮件 第一行|第二行
/sm text @all 维护公告 今晚 22:00 起停机一小时|请提前下线,感谢配合
/sm text @online <gold>活动开始 <yellow>主城广场集合!
/sm item
把手上拿着的物品复制一份寄出(你手上的不会被拿走)。
| 项目 | 内容 |
|---|---|
| 用法 | /sm item <目标> [标题] |
| 权限 | starmail.admin.send |
| 控制台 | 不行,只能玩家 |
| 参数 | 必填 | 说明 |
|---|---|---|
<目标> | 是 | 见 目标写法 |
[标题] | 否 | 后面全部文字都是标题(可以有空格)。不写默认「物品邮件」 |
- 手上没东西时提示「请把要寄的物品拿在手上」。
- 寄出整组(手上有 64 个就寄 64 个),物品的所有数据完整保留。
例子
/sm item Steve 送你的剑
/sm item @all 开服纪念品
/sm money
寄金币。玩家领取时直接存入账户,领取的那个子服需要装 Vault 与经济插件。
| 项目 | 内容 |
|---|---|
| 用法 | /sm money <目标> <数量> [标题] |
| 权限 | starmail.admin.send |
| 控制台 | 可以 |
| 参数 | 必填 | 说明 |
|---|---|---|
<目标> | 是 | 见 目标写法 |
<数量> | 是 | 金币数量,可以有小数。不是数字时提示「xxx 不是有效的数字」 |
[标题] | 否 | 后面全部文字都是标题。不写默认「金币邮件」 |
金币是凭空发放的,不会从任何人的余额扣除。
例子
/sm money Steve 1000 活动奖金
sm money %player% 50 签到奖励
/sm points
寄点券(PlayerPoints)。领取的那个子服需要装 PlayerPoints。
| 项目 | 内容 |
|---|---|
| 用法 | /sm points <目标> <数量> [标题] |
| 权限 | starmail.admin.send |
| 控制台 | 可以 |
| 参数 | 必填 | 说明 |
|---|---|---|
<目标> | 是 | 见 目标写法 |
<数量> | 是 | 点券数量,整数(写小数会去掉小数部分) |
[标题] | 否 | 后面全部文字都是标题。不写默认「点券邮件」 |
例子
/sm points Steve 30 充值返利
/sm points @all-existing 10 停机补偿
管理指令
/sm admin
打开管理员写信界面:可以选发送对象(指定玩家 / 本服全部在线 / 全服含新玩家 / 全服不含新玩家),设寄件人、金币、点券、领取时执行的指令、附件说明、期限,或存成模板。
| 项目 | 内容 |
|---|---|
| 用法 | /sm admin(/sm compose 也可以) |
| 权限 | starmail.admin.compose |
| 控制台 | 不行,只能玩家 |
详见 管理员写信与管理。
/sm template
管理 邮件模板。
| 项目 | 内容 |
|---|---|
| 用法 | /sm template <list|create|edit|delete> [名称](templates 也可以) |
| 权限 | starmail.admin.template |
| 控制台 | list、delete 可以;create、edit 只能玩家 |
| 子指令 | 说明 |
|---|---|
list | 列出所有模板(只写 /sm template 也一样) |
create <名称> | 打开管理员写信界面来做模板;名称已存在时载入它 |
edit <名称> | 载入现有模板修改 |
delete <名称>(或 remove) | 删除模板 |
做好之后要在界面里点「存为模板」才会保存。edit 载入的模板原有物品是副本,关闭时不退回;你自己放进去的会退回,见 邮件模板。
模板的物品数据读不出来时(例如在更新版本的服务器保存的),edit 与 /sm send 都会停止并提示「模板 xxx 的物品数据无法读取」。
例子
/sm template list
/sm template create vote
/sm template edit vote
/sm template delete vote
/sm view
查看并管理一个玩家的邮箱(玩家不在线也可以)。
| 项目 | 内容 |
|---|---|
| 用法 | /sm view <玩家> |
| 权限 | starmail.admin.view |
| 控制台 | 不行,只能玩家 |
- 可以阅读、删除(包括附件未领取的),不能替他领取,也不会把邮件标为已读。见 查看玩家的邮箱。
例子
/sm view Steve
/sm log
查看一个玩家的邮件记录:收到、寄出、领取、删除、过期、恢复。
| 项目 | 内容 |
|---|---|
| 用法 | /sm log <玩家> [页](logs 也可以) |
| 权限 | starmail.admin.log |
| 控制台 | 可以 |
| 参数 | 必填 | 说明 |
|---|---|---|
<玩家> | 是 | 玩家名,离线也可以 |
[页] | 否 | 每页 10 条,默认第 1 页(最新的记录) |
格式说明见 邮件记录。
例子
/sm log Steve
/sm log Steve 2
/sm restore
把已领取、已删除或已过期的邮件恢复成「未领取」。
| 项目 | 内容 |
|---|---|
| 用法 | /sm restore <邮件编号> [有效天数] |
| 权限 | starmail.admin.restore |
| 控制台 | 可以 |
| 参数 | 必填 | 说明 |
|---|---|---|
<邮件编号> | 是 | 邮件说明里的 #编号,128 或 #128 都可以 |
[有效天数] | 否 | 恢复后几天过期,默认 7;0 = 永不过期 |
- 成功提示「邮件 #128 已恢复(未领取状态)」,玩家在线时邮箱计数立即更新。
- 已领取的邮件恢复后可以再领一次,使用前请先
/sm log确认。见 恢复邮件。 - 玩家寄出、过期后附件已经退回寄件人的信不能恢复,提示「过期后附件已退回寄件人,不能再恢复」。
- 编号不是数字时提示「xxx 不是有效的数字」。
- 彻底清除(超过
mail.keep-deleted-days)的邮件找不到,提示「找不到邮件 #编号」。
例子
/sm restore 128
/sm restore #128 30
/sm restore 128 0
/sm broadcasts
列出还在发放中的全服邮件(最新的 20 封)。
| 项目 | 内容 |
|---|---|
| 用法 | /sm broadcasts |
| 权限 | starmail.admin.send |
| 控制台 | 可以 |
每行显示 #编号 标题 · 发出时间 → 到期时间(永不过期显示「永不过期」)。没有时提示「没有进行中的全服邮件」。
/sm cancel
停止发放一封全服邮件。
| 项目 | 内容 |
|---|---|
| 用法 | /sm cancel <全服邮件编号> |
| 权限 | starmail.admin.send |
| 控制台 | 可以 |
- 编号是
/sm broadcasts或发出时提示的#编号(可以写#)。不是数字时提示「xxx 不是有效的数字」;没有这个编号、或它已经停止时提示「找不到进行中的全服邮件 #编号」。 - 还没收到的玩家不会再收到;已经收到的玩家不受影响,邮箱里那封照常可以领。
例子
/sm cancel 3
/sm purge
立即执行一次过期处理与清理(平常会自动执行)。
| 项目 | 内容 |
|---|---|
| 用法 | /sm purge |
| 权限 | starmail.admin.purge |
| 控制台 | 可以 |
处理内容见 立即清理,结果写在控制台。
/sm reload
重新载入设定。
| 项目 | 内容 |
|---|---|
| 用法 | /sm reload |
| 权限 | starmail.admin.reload |
| 控制台 | 可以 |
- 重新载入
config.yml、messages.yml、templates.yml、menus/*.yml,重新连接 Vault / PlayerPoints,更新command-aliases。 menus/里缺少的菜单文件会重新生成默认的。- 所有人打开中的星月邮箱界面会被关闭;写信界面里的附件退回背包。
- 数据库(
database)、跨服(sync)设定与menu.cloudui需要重启服务器才会生效。
/sm version
显示版本;管理员另外看到版本类型、数据库类型与子服 ID。
| 项目 | 内容 |
|---|---|
| 用法 | /sm version |
| 权限 | 无(详细信息需要 starmail.admin) |
| 控制台 | 可以 |
例子输出(有 starmail.admin 或在控制台)
✉ 星月邮箱 » StarMail 1.0.0 · 简体授权版 · MySQL · 子服 lobby
一般玩家只看到 StarMail 1.0.0。
跨服时用它检查每个子服是不是都连上了 MySQL、子服 ID 有没有设对。