Skip to content

🚀 性能

UltimateShop 只是一个商店插件,对服务器并没有太多的影响。大多数情况下,性能问题都是由其他插件不合理的设置导致的,如下所述。

尽可能不使用 ANY 或 ALL 定价/物品模式

CLASSIC_ANYCLASSIC_ALL 模式不同的是,ANYALL 模式的每次购买与出售计算均为独立进行。请尽可能只在动态定价或限售时使用这两个模式。

MMOItems/MythicMobs 物品生成性能

相较原版物品,这两个物品库生成物品的速度需要消耗更多服务器资源。

设置中的 placeholder.click.enabled 选项

将其设置为 false 可减少不必要的性能消耗。

YAML
  click:
    # 启用后,{buy-click} 和 {sell-stick} 会根据商品状态显示不同的内容。
    # 如果服务器规模较大且商品数量众多,可能会导致卡顿。
    enabled: false

为菜单设置点击冷却

如果你运行的服务器规模较大,则建议设置冷却。它可以让玩家减少点击或重复打开界面的频率,减轻 UltimateShop 对服务器的影响。

YAML
  # 若服务器规模较大,则建议开启此功能,可放置玩家频繁点击或重复打开菜单
  # 防止 UltimateShop 卡服。
  # 单位为刻。
  cooldown:
    click: 6 # 默认值为 -1,建议设置为大于 5 的值。
    reopen: 20 # 默认值为 -1,建议设置为大于 5 的值。

关闭自动更新界面功能

启用这个选项会显著提高服务器性能消耗,但菜单中的按钮可以自动更新。

YAML
  shop:
    # 商店菜单是否每隔一秒刷新一次。
    # 会刷新展示物品描述中的变量。
    # 如果在线玩家较多且打开商店的玩家较多,可能会导致服务器卡顿。
    update: false
    # 是否在每次点击后都刷新商店菜单。
    # 会刷新展示物品描述中的变量。
    # 如果在线玩家较多且打开商店的玩家较多,可能会导致服务器卡顿。
    click-update: false

大多数情况下,你只需要界面能在重置购买或出售次数时更新即可,你可以通过 use-times.auto-reset-mode 设置实现。

YAML
  auto-reset-mode: false

如果你追求极致的插件性能,同样不建议启用这个功能。

使用 Bukkit 的物品给予方法

这种方法性能最佳,但代价是给予物品的堆叠数量可能会存在问题,当玩家的背包已满时,我们只能将多余的物品掉落在地上而不是阻止玩家进一步交易。

YAML
give-item:
  # 可填入的值:BUKKIT, SMART
  # SMART 模式下性能消耗更大,但会遵守原版的最大堆叠数给予玩家物品,同时自带背包空位检查。
  give-method: BUKKIT
  # 仅支持 SMART 物品给予方法。
  check-full: false

贡献者

页面历史