• 周年纪念勋章活动已圆满结束,如有已购买但仍未申请的用户,可以通过对应勋章的下载链接申请~
ServerShout —— 跨服喊话与邀请 | BungeeCord/Velocity/Bukkit [1.8-1.21]

原创 开源 ServerShout —— 跨服喊话与邀请 | BungeeCord/Velocity/Bukkit [1.8-1.21] v2.2.0

版权类型
原创
插件中文名称
跨服喊话
插件英文名称
ServerShout
原帖地址
https://github.com/TheRamU/ServerShout
支持的核心(代理-服务端)
  1. Bungee
  2. WaterFall
  3. Velocity
  4. Spigot
  5. PaperSpigot
  6. Folia
  7. Purpur
  8. Leaves
语言支持
中文(简体)
前置组件
PlaceholderAPI (可选) https://www.spigotmc.org/resources/6245/
LuckPerms (可选) https://www.spigotmc.org/resources/28140/
适配版本(Java)
  1. 1.21
  2. 1.20
  3. 1.19
  4. 1.18
  5. 1.17
  6. 1.16
  7. 1.15
  8. 1.14
  9. 1.13
  10. 1.12
  11. 1.11
  12. 1.10
  13. 1.9
  14. 1.8

📣 ServerShout 2



ServerShout 是一款适用于 BungeeCord/Velocity/Bukkit 的跨服喊话与邀请插件。具备高性能和高度自定义的特点,兼容 PlaceholderAPI和LuckPerms。




🎨 截图

  • 跨服喊话
pAJWekd.md.png

  • 跨服邀请
pAJWmtA.md.png

  • 消息屏蔽
pAJWVTH.md.png




命令 & 权限

/ss help - 显示帮助信息
/ss reload - 重载配置文件
/ss token list - 列出所有代币
/ss token create <名称> - 创建新代币
/ss token delete <名称> - 删除代币
/ss balance get <玩家> <代币> - 查看玩家的代币数量
/ss balance set <玩家> <代币> <数量> - 设置玩家的代币数量
/ss balance give <玩家> <代币> <数量> - 给予玩家代币
/ss balance take <玩家> <代币> <数量> - 扣除玩家的代币

servershout.help - 允许使用 `/ss help`
servershout.reload - 允许使用 `/ss reload`
servershout.token.list - 允许使用 `/ss token list`
servershout.token.create - 允许使用 `/ss token create`
servershout.token.delete - 允许使用 `/ss token delete`
servershout.balance.get - 允许使用 `/ss balance get`
servershout.balance.set - 允许使用 `/ss balance set`
servershout.balance.give - 允许使用 `/ss balance give`
servershout.balance.take - 允许使用 `/ss balance take`
servershout.update.notify - 允许接收更新可用通知

BungeeCord 端命令为:/ssb | Velocity 端命令为:/ssv

⭐ 默认喊话格式为:!<消息>
⭐ 默认邀请格式为:/invite/invite <消息>



PlaceholderAPI 占位符

%servershout_balance_<代币>% 玩家代币的数量值




LuckPerms Meta 占位符

shout.yml 中,可配置在消息中展示玩家的 LuckPerms Meta 数据,例如:

{luckperms_meta_prefix} 展示 prefix Meta 值,即玩家前缀

其他 Meta 值可以通过 /lp user <玩家> meta 来管理




配置文件

config.yml
YAML:
# 配置版本,请勿修改
config-version: 2

# 更新检查相关设置
update-check:
 enabled: true
# 如果有新版本可用,是否通知在线的管理员
  notify: true

# MySQL 数据库配置
database:
# 是否启用数据库
  # 如果禁用,则不扣除玩家的代币,玩家可以无限发送消息
  enabled: false

# 数据库基础配置
  host: 'localhost'
  port: 3306
database: 'servershout'
  username: 'root'
  password: 'root'

  options: 'useSSL=false'
  table-prefix: 'servershout_'

  # 连接池配置
  pool:
 max-size: 10
 min-idle: 2
 max-lifetime: 1800000
 connection-timeout: 30000
 idle-timeout: 600000

shout.yml
YAML:
# 配置版本,请勿修改
config-version: 1

# 全局配置
global:
  # 服务器名称映射
  server-map:
    'lobby': '大厅'
    'survival': '生存'
    'bedwars': '起床战争'

  # 服务器列表
  server-list:
    # 列表模式
    # whitelist: 白名单模式,仅允许列表中的服务器发送/接收消息
    # blacklist: 黑名单模式,仅禁止列表中的服务器发送/接收消息
    mode: blacklist
    # 服务器列表,在黑名单模式下,以下服务器无法发送/接收消息
    servers:
      - 'login'

# 喊话频道配置,可以添加多个自定义频道
channels:
  SHOUT_CHANNEL:
    enabled: true
    # 消息前缀
    chat-prefix: '!'
    # 发送消息所需的权限
    permission: ''

    # 是否允许发送空消息,即玩家只发送 '!'
    allow-empty-message: false

    # 消息发送所需的代币
    # 如果代币数量为 0,则不扣除代币,玩家可以无限发送
    # 默认的代币类型有:SHOUT, INVITE,可通过命令 /ss token 进行管理

    # 发送完整消息时扣除的代币数量,格式:代币类型:数量
    token-cost-full: SHOUT:1

    # 发送空消息时扣除的代币数量
    token-cost-empty: SHOUT:1

    # 是否向同一服务器的玩家发送消息
    # 如果为 false,则只向其他服务器的玩家发送消息,发送者本人不受影响
    local-broadcast: true

    # 允许发送和接收消息的服务器列表
    # 发送者只能在 sender-server-list 列表中的服务器发送消息,
    # 接收者只能在 receiver-server-list 列表中的服务器接收消息。
    # 如果列表为空,则不限制。
    # mode:
    #   whitelist: 白名单模式,仅允许列表中的服务器发送/接收消息
    #   blacklist: 黑名单模式,仅禁止列表中的服务器发送/接收消息
    sender-server-list:
      mode: whitelist
      servers: [ ]
    receiver-server-list:
      mode: whitelist
      servers: [ ]

    # 冷却时间(秒)
    cooldown: 60

    # 消息的有效时间(秒),超过该时间的消息将无法使用"加入"和"屏蔽"按钮
    expiration: 300

    # 消息格式设置
    # 支持 LuckPerms Meta 变量,如 {luckperms_meta_prefix}

    # 空消息格式
    format-empty: [ ]
    # 完整消息格式
    format-full:
      - '&7[&b全服喊话&7]&7[&e{server}&7]BUTTON(MUTE,"&f{player}","&7点击屏蔽")&f: {message}'

  INVITE_CHANNEL:
    enabled: true
    chat-prefix: '/invite '
    permission: ''
    allow-empty-message: true
    token-cost-full: INVITE:2
    token-cost-empty: INVITE:1
    local-broadcast: true
    sender-server-list:
      mode: whitelist
      servers: [ ]
    receiver-server-list:
      mode: whitelist
      servers: [ ]
    cooldown: 60
    expiration: 300
    format-empty:
      - ''
      - '&f 玩家 &e{player} &f邀请大家加入 &e{server} &f(&e{server_players}&f在线)'
      - ''
      - ' BUTTON(JOIN,"&8[&a&n点击加入&8]","&a点击加入")  BUTTON(MUTE,"&8[&7&n点击屏蔽&8]","&7点击屏蔽")'
      - ''
    format-full:
      - ''
      - '&f 玩家 &e{player} &f邀请大家加入 &e{server} &f(&e{server_players}&f在线)'
      - '&f 信息: &e{message}'
      - ''
      - ' BUTTON(JOIN,"&8[&a&n点击加入&8]","&a点击加入")  BUTTON(MUTE,"&8[&7&n点击屏蔽&8]","&7点击屏蔽")'
      - ''

language.yml
YAML:
# 配置版本,请勿修改
config-version: 1

message:
  prefix: "&e&lServerShout &r&f> "
  plugin:
    database-error: "&c数据库出现错误! 请查看控制台."
    database-disabled: "&c数据库未启用,无法使用此功能!"
  update-available: "&eServerShout &a有新版本可用! 你当前落后 &f{2} &a个版本. 下载地址: &b&n{3}&r"
  command:
    unknown: "&c未知命令! 使用 &f/{0} help &c查看帮助."
    parameter-error: "&c参数错误! 使用 &f/{0} help &c查看帮助."
    no-permission: "&c你没有使用此命令的权限!"
    not-player: "&c你不是一名玩家!"
    token-not-found: "&c代币 &f{0} &c不存在!"
    invalid-amount: "&c数量必须是正整数!"
  commands:
    help:
      usage: "&e/{0} help &7- &f显示帮助信息"
    reload:
      usage: "&e/{0} reload &7- &f重载配置文件"
      success: "&a配置文件重载完成!"
    token-create:
      usage: "&e/{0} token create <名称> &7- &f创建新代币"
      success: "&a代币 &f{0} &a创建成功!"
      invalid-name: "&c代币名称只能包含大写字母、数字和下划线!"
      name-too-long: "&c代币名称不能超过 &f16 &c个字符!"
      already-exists: "&c代币 &f{0} &c已存在!"
      failed: "&c代币 &f{0} &c创建失败!"
    token-delete:
      usage: "&e/{0} token delete <名称> &7- &f删除代币"
      success: "&a代币 &f{0} &a删除成功!"
      failed: "&c代币 &f{0} &c删除失败!"
      confirm: "&c确定要删除代币 &f{1} &c吗?这可能导致玩家数据丢失。若确定,请输入 &f/{0} token delete {1} confirm"
    token-list:
      usage: "&e/{0} token list &7- &f列出所有代币"
      list-header: "&a代币列表:"
      empty: "&c没有添加任何代币!"
    balance-get:
      usage: "&e/{0} balance get <玩家> <代币> &7- &f查看玩家的代币数量"
      success: "&a玩家 &f{0} &a的代币 &f{1} &a数量为 &f{2}"
    balance-set:
      usage: "&e/{0} balance set <玩家> <代币> <数量> &7- &f设置玩家的代币数量"
      success: "&a已将玩家 &f{0} &a的代币 &f{1} &a数量设置为 &f{2}"
    balance-give:
      usage: "&e/{0} balance give <玩家> <代币> <数量> &7- &f给予玩家代币"
      success: "&a已给予玩家 &f{0} &a代币 &f{1} &a数量 &f{2} &a个,当前总数为 &f{3}"
    balance-take:
      usage: "&e/{0} balance take <玩家> <代币> <数量> &7- &f扣除玩家的代币"
      success: "&a已扣除玩家 &f{0} &a代币 &f{1} &a数量 &f{2} &a个,当前总数为 &f{3}"
      not-enough: "&c玩家 &f{0} &c的代币 &f{1} &c数量不足!"
    migrate:
      confirm: "&c确定要迁移数据吗?这可能导致现有数据受到旧版本数据影响。若确定,请输入 &f/{0} migrate {1} confirm"
      table-not-found: "&c旧版本数据表不存在!"
      success: "&a数据迁移成功! 共迁移 &f{0} &a条数据."
  shout:
    empty: "&c消息不能为空!"
    token-not-enough: "&c你的代币不足 &f{1} &c个!"
    cooldown: "&c请等待 &f{0} &c秒后再次使用!"
    success: "&a消息已发送,剩余代币数量为 &f{1}"
    success-free: "&a消息已发送!"
    timeout: "&c消息发送超时!"
  join:
    expired: "&c该信息已过期!"
    illegal-server: "&c该信息不适用于当前服务器!"
    same-server: "&c你已经在该服务器中!"
  mute:
    selector: |
      &f屏蔽范围:
      &f
      &f  BUTTON(MUTE_PLAYER,"&8[&f&n屏蔽玩家&8]","&f点击屏蔽")  BUTTON(MUTE_CHANNEL,"&8[&f&n屏蔽频道&8]","&f点击屏蔽")
      &f
      &f  BUTTON(MUTE_GLOBAL,"&8[&f&n所有频道&8]","&f点击屏蔽")  BUTTON(UNMUTE,"&8[&c&n取消屏蔽&8]","&c点击取消屏蔽")
    player: "&a玩家 &f{0} &a已被屏蔽! 重新加入服务器可取消屏蔽状态."
    channel: "&a频道 &f{0} &a已被屏蔽! 重新加入服务器可取消屏蔽状态."
    global: "&a所有频道已被屏蔽! 重新加入服务器可取消屏蔽状态."
    unmute: "&a已取消所有屏蔽."
    self: "&c你不能屏蔽自己!"





使用方法
  1. 下载 jar 文件后后,放入代理端(BungeeCord/Velocity)的 plugins 目录下。(必须)
  2. 将 jar 文件放入 Bukkit 端的 plugins 目录下,作为 ServerShout 的管理端。(可选)
  3. 重启服务器。
  4. 编辑 config.yml 来配置数据库,并重载插件(可选)。如不配置数据库则不扣除玩家代币,玩家可以无限发送消息。




从 1.x 迁移

ServerShout 1.x 与 2.x 数据并不互通,从 1.x 升级到 2.x 需要进行数据迁移。
迁移数据前,确认连接的数据库与 1.x 相同,执行以下命令进行迁移:

/ss migrate <代币>





统计

BungeeCord

ServerShout.svg



Velocity
ServerShout.svg



Bukkit
ServerShout.svg
  • 喜欢
反馈: 信标Beacon
作者
TheRamU
下载
628
查看
1,757
首次发布
最后更新

评分

0.00 星 0 次评分

最新更新

  1. ServerShout v2.2.0 发布

    添加 颜色代码支持 修复 无法免费发送消息
  2. ServerShout v2.1.4 发布

    修复无法添加自定义频道
  3. ServerShout v2.1.3 发布

    修复了 Velocity 平台在 Linux 系统中的路径问题
后退
顶部 底部