Minecraft(我的世界)中文论坛

标题: [原创][管理]VipSystem——老牌的VIP插件的Nukkit版本[全版本]

作者: zhanshi123    时间: 2020-2-15 20:50
标题: [原创][管理]VipSystem——老牌的VIP插件的Nukkit版本[全版本]
本帖最后由 zhanshi123 于 2020-2-26 12:50 编辑

VipSystem

简介

VipSystemEx可以帮你自主管理服务器的vip,支持限时,永久,可切换的vip。本插件使用带索引的SQLite或MySQL进行数据存储,支持自定义开启/关闭连接池,保证了兼容性和高效性。现在,VipSystem来到了Nukkit,本版本的VipSystem和Bukkit4.6版本的VipSystemEx功能基本类似
插件需要使用MultiPass或LuckPerms作为前置,请点击链接下载安装

命令

命令用途权限
/vipsys me查看你的vip情况
/vipsys give [玩家名] [Vip组名] [时间]给予玩家Vip(时间格式为xdxhxmxs,x天 x小时 x分 x秒)vipsys.give
/vipsys remove [玩家名]移除玩家的Vipvipsys.remove
/vipsys list查看Vip列表vipsys.list
/vipsys look [玩家名]查看玩家Vip情况vipsys.look
/vipsys reload重载插件vipsys.reload
/vipsys customs查看自定义函数vipsys.customs



用法介绍

基础用法

准备工作

将插件安装至服务器,重启
如果你需要使用中文版的插件,请找到/plugins/VipSystem/config.yml
将文件中的lang: en改为lang: zh_CN
并在服务器输入命令/vipsys reload以重载
你不需要额外配置默认组,插件会自动根据权限组插件返回默认组
创建好对应的vip组待命,例如创建一个组名为vip的组
如果你之前使用了旧版本的VipSystem 你可以直接将新版本安装进服务器并删除旧版本 插件会自动进行版本间的配置文件更新和数据结构更新


发放Vip

设玩家名为 Test 需要发放给Test 30天的vip权限组
则输入命令/vipsys give Test vip 30d
玩家可以使用/vipsys me来查看自己的vip情况
若需要移除vip,只需管理员输入/vipsys remove Test即可移除  


进阶用法

语言设置

插件内置了英语和中文,你可以将配置文件中的lang项目的值改为zh_CNen来使用插件内置的两种语言
你也可以自定义语言,将lang的值改为语言名之后,重载插件,插件会在messages目录下多生成一个以英文为模板的语言文件,你可以自主修改并重载生效语言文件


UUID模式

如果你的服务器是正版服务器
建议你在配置文件中启用UUID模式uuid: true


默认组设置

插件会根据权限组插件来决定vip到期后返回的权限组
如果你需要修改默认组,请在配置文件中设置 defaultGroup: builder
将返回的默认组改为builder或其他


返回开通前的上一个组

如果你想在玩家Vip到期时返回玩家开通Vip前的权限组
你可以设置previousGroup: true来实现这个功能
注意: 本功能和默认组设置不能同时使用


数据库

插件默认使用HikariCP连接池连接SQLite数据库,如果没有特殊需要,你无需改动该部分配置文件
如果你的服务端无法使用默认配置文件启动,并且报错中有hikarcp字样,请修改usePool的值为false
如果你需要使用MySQL,你可以设置useMySQL的值为true并在下方配置数据库地址等信息


全局Vip

如果你需要在指定世界使用VIP,你可以关闭isGlobal并配置下方的世界

  1. worlds:
  2.   - world
  3.   - world_nether
  4.   - world_the_end
复制代码

自定义到期时间格式

如果需要更改日期格式,可以参考https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html的占位符进行修改

自定义命令

你可以自定义vip开通/到期时的命令,下面是默认的配置文件

  1. customCommands:
  2.   vip:
  3.     activate:
  4.       - 'say {0} has activated vip!'
  5.       - 'give {0} minecraft:diamond'
  6.     expire:
  7.       - 'say {0} is no longer a vip'
  8.   svip:
  9.     activate:
  10.       - 'say {0} has activated svip!'
  11.       - 'give {0} minecraft:diamond'
  12.     expire:
  13.       - 'say {0} is no longer a svip'
复制代码

意思是,在vip开通时,执行下方命令,发送消息并给玩家一个钻石

  1. say {0} has activated vip!
  2. give {0} minecraft:diamond
复制代码

在vip到期时,执行下方命令,发送消息

  1. say {0} is no longer a vip
复制代码

svip组同理,如果你有更多的vip种类,可以按照上方格式自行添加
如果不需要使用该功能,可以直接整项删除


自定义函数

插件支持你自己编辑自定义函数,来完成一些自动的定时操作
比如你可以通过插件实现临时权限的功能

具体编辑的方法可以查看 http://www.zhanshi123.me/?p=320
上图的功能你可以直接前往https://www.mcbbs.net/thread-959456-1-1.html进行下载


插件下载

1.0: https://pan.baidu.com/s/1VZtYb6P0g1igCFa9on0n8Q 提取码: gkpg1.1: https://pan.baidu.com/s/1UTidKkE9VZsUHYlLOG9Phw 提取码: nwb9

API

你可以通过VipSystemAPI.getInstance()来获取VipSystemAPI的实例
更多内容待补充(目前Nukkit版本事件不可用)


联系作者

如果你想提交bug,你可以发送issue或加群563012939联系群主获取帮助
你同样也可以通过email联系 Email: [email protected]


额外功能
目前插件集成了一些额外的功能下面将为你介绍每个功能的使用方法
具体请查看下方链接
http://www.zhanshi123.me/?p=355

源码: https://gitee.com/Soldier233/VipSystemNukkit
本插件所用代码部分来自其他开源或闭源(已授权)作品










作者: 雪月霜落    时间: 2020-2-15 20:56
膜拜大佬,先支持一波
作者: 秋韵    时间: 2020-2-16 11:59
原来昨天你在肝这个,辛苦了辛苦了
人气发完了还没恢复等恢复了跟金粒一起评上
战士加油
作者: 神奈川归尘    时间: 2020-2-16 12:37
强大!真就整出来VIP了
作者: Corex95    时间: 2020-2-17 00:58
Server crashed after using this plugin
作者: zhanshi123    时间: 2020-2-17 08:22
Corex95 发表于 2020-2-17 00:58
Server crashed after using this plugin

Please provide your crash log and nukkit version
作者: 冬天冬天W    时间: 2020-2-19 00:29
找了好久的nukkitx的vip插件了感谢作者无私的分享
作者: a1391410773    时间: 2020-2-21 02:00
很老的vip插件了
作者: W1649121837    时间: 2020-2-21 19:26
有更详细的教程吗

作者: zhanshi123    时间: 2020-2-21 20:21
W1649121837 发表于 2020-2-21 19:26
有更详细的教程吗

这已经是插件的全部教程了
如果你需要的功能只是发放定时vip
直接使用/vipsys give命令提供的功能即可
作者: Corex95    时间: 2020-2-23 12:41
zhanshi123 发表于 2020-2-21 20:21
这已经是插件的全部教程了
如果你需要的功能只是发放定时vip
直接使用/vipsys give命令提供的功能即可 ...

Im using Luckperms not Multipass is that the false
作者: zhanshi123    时间: 2020-2-23 13:31
Corex95 发表于 2020-2-23 12:41
Im using Luckperms not Multipass is that the false

Luckperms support may be added in next version.
作者: Corex95    时间: 2020-2-24 00:35
zhanshi123 发表于 2020-2-23 13:31
Luckperms support may be added in next version.

Thanks :o
作者: zhanshi123    时间: 2020-2-26 12:51
Corex95 发表于 2020-2-24 00:35
Thanks :o

LuckPerms support is added in 1.1
Works fine with default Vipsystem config.
Some functions may not work correctly due to lacking of LuckPerms API
作者: Tim0716    时间: 2020-3-1 10:45
这个很不错,可以用在服务器试试
作者: 405507398    时间: 2020-3-5 00:08
高很好哈哈哈哈
作者: 真的太难了qwq    时间: 2020-4-7 14:05
得在服务器试试
作者: xiaoluan50    时间: 2020-6-14 23:28
很不错的插件,我的服务器正在用
作者: 15171657756    时间: 2020-6-22 09:29
大佬,这个插件可以增加对Tips变量的支持吗
作者: Hunter0137    时间: 2020-7-12 18:32
18:29:33 [INFO ] 开启 VipSystem v1.1 中
18:29:33 [ERROR] Throwing
java.lang.RuntimeException: java.lang.IllegalAccessError: tried to access method org.sqlite.core.DB.bind_parameter_count(J)I from class org.sqlite.core.CorePreparedStatement
        at cn.nukkit.plugin.PluginManager.enablePlugin(PluginManager.java:443) [nukkit-1.0-SNAPSHOT.jar:?]
        at cn.nukkit.Server.enablePlugin(Server.java:746) [nukkit-1.0-SNAPSHOT.jar:?]
        at cn.nukkit.Server.enablePlugins(Server.java:735) [nukkit-1.0-SNAPSHOT.jar:?]
        at cn.nukkit.Server.<init>(Server.java:571) [nukkit-1.0-SNAPSHOT.jar:?]
        at cn.nukkit.Nukkit.main(Nukkit.java:112) [nukkit-1.0-SNAPSHOT.jar:?]
Caused by: java.lang.IllegalAccessError: tried to access method org.sqlite.core.DB.bind_parameter_count(J)I from class org.sqlite.core.CorePreparedStatement
        at org.sqlite.core.CorePreparedStatement.<init>(CorePreparedStatement.java:50) ~[?:?]
        at org.sqlite.jdbc3.JDBC3PreparedStatement.<init>(JDBC3PreparedStatement.java:30) ~[?:?]
        at org.sqlite.jdbc4.JDBC4PreparedStatement.<init>(JDBC4PreparedStatement.java:19) ~[?:?]
        at org.sqlite.jdbc4.JDBC4Connection.prepareStatement(JDBC4Connection.java:35) ~[?:?]
        at org.sqlite.jdbc3.JDBC3Connection.prepareStatement(JDBC3Connection.java:241) ~[?:?]
        at org.sqlite.jdbc3.JDBC3Connection.prepareStatement(JDBC3Connection.java:205) ~[?:?]
        at me.zhanshi123.vipsystem.data.Database.prepare(Database.java:146) ~[?:?]
        at me.zhanshi123.vipsystem.Main.onEnable(Main.java:88) ~[?:?]
        at cn.nukkit.plugin.PluginBase.setEnabled(PluginBase.java:89) ~[nukkit-1.0-SNAPSHOT.jar:?]
        at cn.nukkit.plugin.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:117) ~[nukkit-1.0-SNAPSHOT.jar:?]
        at cn.nukkit.plugin.PluginManager.enablePlugin(PluginManager.java:439) ~[nukkit-1.0-SNAPSHOT.jar:?]
        ... 4 more
18:29:33 [INFO ] 关闭 VipSystem v1.1 中
呜呜呜
作者: Hunter0137    时间: 2020-7-12 18:34
18:29:27 [INFO ] 开启 LuckPerms v5.1.75 中
18:29:27 [INFO ]         __
18:29:27 [INFO ]   |    |__)   LuckPerms v5.1.75
18:29:27 [INFO ]   |___ |      Running on Nukkit - Nukkit
18:29:27 [INFO ]
18:29:27 [INFO ] [LuckPerms] Loading configuration...
18:29:27 [INFO ] [LuckPerms] Loading storage provider... [H2]
> java.lang.NullPointerException
        at xiaokai.bemilk.cmd.ShopCommand.reload(ShopCommand.java:52)
        at xiaokai.bemilk.mtp.startThread.run(startThread.java:81)
18:29:29 [INFO ] [LuckPerms] Loading internal permission managers...
18:29:29 [INFO ] [BugReport] 侦测到一个错误,正在生成错误报告。
18:29:29 [INFO ] [LuckPerms] Performing initial data load...
18:29:29 [INFO ] [BugReport] 创建错误报告:C:\Users\Administrator\Desktop\Nukkit1.16.0\logs\bug_reports\202007121829476_NullPointerException.md
18:29:29 [INFO ] [LuckPerms] Successfully enabled. (took 2609ms)

18:29:32 [INFO ] 开启 Multipass v${pom.version} 中
18:29:32 [INFO ] [Multipass] Data provider: YAML

emm是因为我下载的前置有问题吗
作者: zhanshi123    时间: 2020-7-12 23:32
Hunter0137 发表于 2020-7-12 18:32
18:29:33  开启 VipSystem v1.1 中
18:29:33 [ERROR] Throwing
java.lang.RuntimeException: java.lang.Ill ...

看不懂 请提供插件列表
作者: Hunter0137    时间: 2020-7-14 14:57
14:57:01 [INFO ] 插件 (70):AshManPro v1.0.4, AutoLagClear v1, Bank v1.0.0, BanSystemNK v2.0.0-SNAPSHOT, BlackBE v1.5.0, ChatBubble v1.0.5, CommandEcho v1.1, DIYCraft v1.0.9, DbLib v1.0.1, DogImage v1.0.4, DogSign v1.0.0, EssentialsNK v1.9.2, FakeInventories v1.0.3, FastAsyncWorldEdit v19.03.29-d13b946-1257-22.0.14, FirstCmd v1.0.1, FloatingText v1.0.0, FormAPI v2.1-SNAPSHOT, GUI v1.14.0, HealthBar v1.0.1, Knickers v2.1.5, KotlinLib v1.3.72, LuckPerms v5.1.75, Mesmerize v20.1.1, MobPlugin v1.13.0, MoeDB v2.2.0, Multipass v${pom.version}, MultiWorld v1.0, MyLock v1.3.1, NuclearMusic v1.2.0, AutoBackUp v2.0.0, AutoSaveWorld v1.0.0, NukkitCustomScoreBoard v1.0, IpLog v1.0.0, PlaceholderAPI v1.3.1, PlayerWorld v1.0.0, PmChair v2.0.3, RSTask v1.4.9, svaeInventoryNbtItem v1.0.3, ScoreboardPlugin v1.0, SeeInv v1.0, Targets v1.0.0, TheEnd v1.1.0, TimeToRestart v1.0, Tips v1.3.3, TransferCommand v1.0, VipSystem v1.1, QuasiStructurePopulator v1.0.2, VanillaCommands v1.0.0, WorldBorder v1.2, WorldReset v1.0.1, Worlds v1.0.3, XiaoJoinItem v1.0.0, ZSociety v1.0.7alpha, RapdaNoKillDrop v1.0.0, CustomItem v1.0.2, Mining v1.0.4, Friends v1.1.6, EasyAPI v1.1.9, EconomyAPI v2.0.1, EconomyLand v1.0.0-b40, Land v1.3.5, Money v1.0, WorldProtect v1.0.0, XiaoEnchant v1.1.0, Bemilk v1.1, BlocklyNukkit v1.2.8.0, CoMusic v1.0, RadomOre v1.0.0, GAC v1.0.6, QuickShopX v1.5.2


14:24:46 [INFO ] Loading nukkit.yml ...
14:24:46 [INFO ] Loading server.properties ...
14:24:46 [INFO ] 将 中文(简体) (chs) 设置为基本语言
14:24:46 [INFO ] 正在启动 Minecraft: BE v1.16.0
14:24:47 [INFO ] Selected Zlib Provider: 2 (cn.nukkit.utils.ZlibThreadLocal)
14:24:47 [INFO ] RCON 运行于 0.0.0.0:19132
14:24:47 [INFO ] 正在于 *:19132 启动服务器
14:24:47 [INFO ] 此服务器正在运行 Nukkit git-f96ce6e 版本 "" (API 1.0.11)
14:24:47 [INFO ] Nukkit 根据 LGPL 许可发行
14:24:48 [INFO ] Loading recipes...
14:24:48 [INFO ] Loaded 1507 recipes.
14:24:48 [INFO ] 成功加载 0 个资源包
作者: zhanshi123    时间: 2020-7-14 15:21
Hunter0137 发表于 2020-7-14 14:57
14:57:01  插件 (70):AshManPro v1.0.4, AutoLagClear v1, Bank v1.0.0, BanSystemNK v2.0.0-SNAPSHOT, Bl ...

试一下删除dblib能否运行
作者: Hunter0137    时间: 2020-7-17 22:20
ok,有时间试试,谢了
作者: Hunter0137    时间: 2020-7-18 00:46
zhanshi123 发表于 2020-7-14 15:21
试一下删除dblib能否运行

结果还真行,谢谢
作者: zhanshi123    时间: 2020-7-18 00:49
Hunter0137 发表于 2020-7-18 00:46
结果还真行,谢谢

VipSystemEx-Nukkit-1.1.jar (1.47 MB, 下载次数: 2)
那么你把DbLib保留 使用附件中的VipSystemEx

作者: 509819514    时间: 4 天前
vip过期或者移除  为什么还是vip  那个返回组已经开了
作者: dongyundong2005    时间: 3 天前
谢谢分享