samyyc.dev

点击登入

.. (UTC+8)

-- BPM

Sat Apr 13 2024

Bukkit 正确处理"以玩家身份执行OP指令"

#104

/

samyyc

/

187

/

796日 前更新

Bukkit 正确处理"以玩家身份执行OP指令"

目前主流的做法是:把玩家设置为OP后,执行该指令并立即取消OP身份。这种操作虽然可行,但是无法保证操作的原子性,进而无法保证安全性,可能会出现服务器异常崩溃或者被恶意利用等行为。

更好的解决方法是创建一个新的Player对象,把 isOp() 方法的返回值设置为true,其他的方法都代理给原来的Player对象