MC群组服开服教程系列四: 权限组件luckperms

您所在的位置:网站首页 我的世界luckperms权限组 MC群组服开服教程系列四: 权限组件luckperms

MC群组服开服教程系列四: 权限组件luckperms

2024-07-11 20:16| 来源: 网络整理| 查看: 265

权限插件简介

在代理端的讲解中,我们知道可以通过配置中permissions配置片段将组和权限进行绑定,通过group配置完成用户和group的绑定。

在服务器中,用户执行一个指令或者完成一些操作,服务端需要判定用户的是否有权限的,如果一个一个给用户添加权限是非常麻烦的事情,通过设置组,给组设置默认的权限,后面我们只需要给用户添加到特定组即可,用户就可以拥有这个组的全部权限。

权限插件主流的有2个,groupmanager和 Luckperm,我这里推荐Luckperm,官方文档: luckperm 。

数据库的安装

这里我们选择mariadb server ,你可以选择mysql。基本一样的。

# 安装数据库软件yum install mariadb-server mariadb # 创建基本目录和授权# mkdir /home/mc/mysql/# chown mysql:mysql -R /home/mc/mysql # 这里有需要的话,可以修改下配置文件,修改下数据库数据文件存放目录和最大连接数。

cat /etc/my.cnf.d/mariadb-server.cnf [mysqld] datadir=/home/mc/mysql/data socket=/home/mc/mysql/mysql.sock log-error=/home/mc/mysql/mariadb.log pid-file=/home/mc/mysql/mariadb.pid max_connections=10000 # 设置数据库开机启动 systemctl enable mariadb # 启动数据库 systemctl start mariadb # 查看启动状态 systemctl status mariadb

数据库启动成功后,剩余我们需要创建一个账号来进行管理,我这里推荐的一个数据库管理软件是dataGrip,下面我们创建一个mc账户。

-- 需要你在服务器的终端来执行的,输入mysql进入mysql的终端,然后执行如下sql语句CREATE DATABASE d_luckperms CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE USER 'mc'@'127.0.0.1' IDENTIFIED BY 'mc_tech_by_panda'; GRANT ALL ON *.* TO 'mc'@'127.0.0.1';

使用工具进行连接

 

 设置一个ssh配置

 设置使用ssh隧道,比较安全。

 

 配置数据库账户和密码进行连接

  

数据库这块还挺复杂的, 有啥问题,可以在评论区进行讨论。

luckperms的安装

luckperm的下载地址 luckperm 可以进行下载,我们需要下载2个版本的, 一个是代理端需要的版本,一个是paper端需要的版本。

 

具体安装如下

我们进行文件的下载和进行配置变更。

# 下载bc端的权限组件 wget https://download.luckperms.net/1467/bungee/loader/LuckPerms-Bungee-5.4.58.jar # 重启服务,我们重启下服务,让插件生存默认的配置文件 systemctl restart mc_wf # 查看插件目录,我们可以已经生存的默认的配置文件了。需要等服务完整起来才有配置文件。 [root@mc plugins]# ll total 1288 drwxr-xr-x 4 root root 106 1月 14 17:10 LuckPerms -rw-r--r-- 1 root root 1315643 1月 6 06:35 LuckPerms-Bungee-5.4.58.jar # 进入插件目录 cd LuckPerms/ # 保持服务的默认配置文件 cp config.yml config.yml.default

 修改配置和more配置对比图如下。

 

 这里先简单说明下对应的配置说明:

server: 制定server name 方便后面授权可以控制到具体分区基本授权的。比如说主城可以设置为zc。 storage-method: 就是权限信息存放的位置,我们是mariadb。 address: 数据库的地址 database: 使用哪个数据库 登陆游戏测试下

我们在游戏内执行下/server 指令,发现提示没有权限执行。那是因为原来代理端使用的静态的授权方式,我们使用数据库后,没有给他默认的权限,他就没有办法校验我们通过了。

 

 我们需要创建几个分组,然后给分组设置下不同的权限即可。在做权限添加之前,我们首先需要再控制台给我们自己(也就是腐竹自身)一个全部的权限。

# 给我们自己的账户添加一个权限组的全部权限, 注意了,在代理端执行lp命令需要使用lpb的。避免操作权限到特定分区的。 [root@mc ~]# /etc/init.d/mc_wf conn "lpb user panda permission set luckperms.* true" mc=wf # 给我们账户添加全部权限 [root@mc ~]# /etc/init.d/mc_wf conn "lpb user panda permission set * true" mc=wf

 

下面我们创建一个默认组 # 先创建我们几个预设的组。 其中default组默认就存在了,我们就不创建了。 /lpb creategroup owner 10000 Owner /lpb creategroup op 1000 OP /lpb creategroup svip 200 SVIP /lpb creategroup vip 100 VIP /lpb creategroup lv3 3 Lv3 /lpb creategroup lv2 2 Lv2 /lpb creategroup lv1 1 Lv1 # 修改default的显示名字为Lv0,保持和其他的等级显示一致。 /lpb group default setdisplayname Lv0 # 创建几个实际的权限组。wf:代理端权限分组 /lpb creategroup g-wf 0 g-wf /lpb group g-wf permission set bungeecord.command.server true /lpb group g-wf permission set bungeecord.command.list true # 创建管理组 /lpb creategroup ga-wf 0 ga-wf /lpb group ga-wf permission set bungeecord.command.* true # 设置权限组的依赖关系 /lpb group default parent add g-wf /lpb group lv1 parent add default /lpb group lv2 parent add lv1 /lpb group lv3 parent add lv2 /lpb group vip parent add lv3 /lpb group svip parent add vip /lpb group op parent add vip

# 设置组的前缀,后面会大量需要的/lp group owner meta addprefix 10000 "&4&l[Owner]&r"/lp group op meta addprefix 1000 "&4&l[OP]&r"/lp group svip meta addprefix 200 "&c&l[SVIP]&r"/lp group vip meta addprefix 100 "&c&l[VIP]&r"/lp group lv3 meta addprefix 3 "&7&l[Lv3]&r"/lp group lv2 meta addprefix 2 "&7&l[Lv2]&r"/lp group lv1 meta addprefix 2 "&7&l[Lv1]&r"/lp group default meta addprefix 0 "&7&l[Lv0]&r"

 我们给其他的分区也设置下

我们目前有个主城分区、登陆分区、生存1区,我们进行一下设置。

# 下载文件 wget https://download.luckperms.net/1467/bukkit/loader/LuckPerms-Bukkit-5.4.58.jar# 编辑权限的配置文件, 类似代理端的配置,注意server修改为分区的简写名字 [root@mc LuckPerms]# vim config.yml # 重启登录分区 [root@mc LuckPerms]# systemctl restart mc_dl # 查看当前目录 [root@mc LuckPerms]# pwd /home/mc/instances/dl/plugins/LuckPerms # 将插件和配置文件目录,给主城复制一份。 [root@mc LuckPerms]# cp -r /home/mc/instances/dl/plugins/LuckPerms* /home/mc/instances/zc/plugins/ # 重启主城 [root@mc LuckPerms]# systemctl restart mc_zc

关于luckperm授权和组创建的这个部分,我们这里不需要做,因为我们的分区连接的是同一份数据库,使用的同一个存储的,在一个分区做操作就可以了。其他的分区都是可以获取到最新的数据的。

Luckperms指令使用说明

官方帮助文档在这里 luckperm

权限树查看 游戏内执行/lp tree 即可,服务会给你提供一个url 你打开url即可看到当前服务的权限树列表  权限树图

 

 编辑权限 游戏内输入 /lp editor 即可

 

 通过图形化界面,可以直接给添加组,给组添加权限,不过我个人不喜欢这种web方式。喜欢指令操作方式的,可以看看下面的。

用户组的创建 /lpb creategroup 组名字 组的权重 组显示名字 /lpb creategroup lv3 3 Lv3 用户组权限的添加

权限添加有2种,临时的和永久的。

# 永久权限添加 /lp group 要修改的组名字 permission set 权限节点 true /lp group default permission set bukkit.broadcast true # 临时权限添加 /lp group 要修改的组名字 permission settemp 权限节点 true 时间 /lp group default permission settemp bukkit.broadcast true 7d # 限定上下文的,比如给用户在特定分区有特定节点的权限。 /lp group default permission set bukkit.broadcast true server=dl

 

用户组权限组的继承

我给lv1设置好权限,其实我不想再给lv2重复设置权限,我只想让lv2继承lv1的权限,然后我额外再给lv2一些权限的话,我们就可以使用继承能力。

/lpb group lv2 parent add lv1 用户组的调整

我想将用户从lv1调整到lv2组,怎么操作?

# 不建议这种 /lp user panda parent set # 推荐 /lp user panda parent add lv2 /lp user panda parent remove lv1 权限的debug

不知道一个操作需要什么权限了,可以如下方式获取指令需要的权限节点是啥。

/lp verbose record [筛选条件] 执行一系列需要权限的操作 /lp verbose paste 打开生成的 URL 常见问题

 

-------------------------------------------

作者:赵杰迪 出处:http://www.cnblogs.com/zhaojiedi1992/

-------------------------------------------



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3