StreamCamera:修订间差异
无编辑摘要 |
无编辑摘要 |
||
| (未显示同一用户的12个中间版本) | |||
| 第3行: | 第3行: | ||
本插件主要用于方便直播,相关设置还需要自己摸索! | 本插件主要用于方便直播,相关设置还需要自己摸索! | ||
本插件不是直播插件,只是一个可以辅助直播的监控插件!你需要打开一个客户端,将客户端设为相机玩家,然后用直播软件把客户端画面推流到直播间! | |||
'''请注意!焦点玩家和相机玩家都存在时,相机玩家的背包会被设定成和相机玩家相同的背包,请自行避免焦点玩家的恶意操作导致的例如ItemBan不必要麻烦!!!''' | |||
最近更新了很多功能,可能要看看配置文件详解. | |||
==== 相机玩家:Camera Player ==== | ==== 相机玩家:Camera Player ==== | ||
| 第9行: | 第15行: | ||
指令: <code>/actcamera <PlayerName></code>,这个指令中的<code>PlayerName</code>指相机玩家的账户名。 | 指令: <code>/actcamera <PlayerName></code>,这个指令中的<code>PlayerName</code>指相机玩家的账户名。 | ||
在执行这个指令后,相机玩家会变为旁观模式,且除非相机玩家客户端手动切换,否则永久不变。(请不要在相机玩家未清空的情况下更改模式,否则会出bug,这个bug完全是自己作的,不给修) | |||
此时,假定相机玩家名为<code>Notch</code>,指令是:<code>/actcamera Notch | 此时,假定相机玩家名为<code>Notch</code>,指令是:<code>/actcamera Notch</code> | ||
现在,相机玩家已经设置完成,需要注意的是,如果相机玩家客户端需要放入后台,请使用 <code>F3</code> + <code>P</code> 来 <code>关闭</code> <code>失去焦点时暂停</code> 功能 | |||
===== 相机玩家的现存问题和相比原版旁观者的优劣势。 ===== | ===== 相机玩家的现存问题和相比原版旁观者的优劣势。 ===== | ||
现存问题是,每3秒有极小几率(记录:连续直播一周,发生两次,持续一瞬间)出现可察觉性的旁观闪烁问题,造成原因是焦点玩家 (Focus Player)对于相机玩家,在无旁观时可见,但为了解决原版问题,需要每3秒瞬间刷新旁观。该问题可能与延时有关系,但发生几率极低,也许一万个3秒内出现1次,1次持续时间只会在一瞬间。 | |||
相比原版,服主不需要设置配置,不需要设置让旁观者刷新地形。其次,原版旁观者会在玩家传送后发生幽灵旁观事件,但本插件对其有解决。 | 相比原版,服主不需要设置配置,不需要设置让旁观者刷新地形。其次,原版旁观者会在玩家传送后发生幽灵旁观事件,但本插件对其有解决。 | ||
| 第33行: | 第39行: | ||
此时,如果焦点玩家需要移交镜头焦点,使用指令:<code>/migratecam <PlayerName></code>,其中,其中<code>PlayerName</code>指目标的焦点玩家账户名。该指令只能由当前焦点玩家执行,非焦点玩家执行不会被授权。 | 此时,如果焦点玩家需要移交镜头焦点,使用指令:<code>/migratecam <PlayerName></code>,其中,其中<code>PlayerName</code>指目标的焦点玩家账户名。该指令只能由当前焦点玩家执行,非焦点玩家执行不会被授权。 | ||
之所以<code>FocusCam</code>的指令<code>/focuscam</code>允许将初始焦点设置到其他玩家,是保留灵活性,确保在初始状态(RemotePlayer = Null)下,普通玩家可以给另一玩家设置初始焦点以达到“帮助”的目的。 | |||
===== 焦点投票选择 ===== | ===== 焦点投票选择 ===== | ||
| 第66行: | 第72行: | ||
===== 配置文件热重载 ===== | ===== 配置文件热重载 ===== | ||
使用指令<code>/camreload</code> | 使用指令<code>/camreload</code>可以热重载配置文件,热更新投票的通过人数。在已有投票时更新同样会对现有生效,即使投票时间只有短短的、不可修改的10秒。在语言文本设置更新后也需要重载。 | ||
==== 权限组 ==== | ==== 权限组 ==== | ||
| 第73行: | 第79行: | ||
====== streamcamera.actcamera: 指令<code>/actcamera</code> ====== | ====== streamcamera.actcamera: 指令<code>/actcamera</code> ====== | ||
通常地,这个权限不应该开放给普通玩家。因为指令会改变相机玩家 | |||
====== streamcamera.admin.setfocus: 指令<code>/setfocus</code> ====== | ====== streamcamera.admin.setfocus: 指令<code>/setfocus</code> ====== | ||
通常地,这个权限不应该开放给普通玩家。因为指令可以随意切换焦点 | |||
====== streamcamera.agreevote: 指令<code>/agreevote</code> ====== | ====== streamcamera.agreevote: 指令<code>/agreevote</code> ====== | ||
通常地,这个权限可选开放给普通玩家,这是投票的同意功能所需权限 | |||
====== streamcamera.camreload: 指令<code>/camreload</code> ====== | ====== streamcamera.camreload: 指令<code>/camreload</code> ====== | ||
通常地,这个权限不应该开放给普通玩家。因为指令可以随意重载配置,被滥用可能影响服务器性能 | |||
====== streamcamera.focuscam: 指令<code>/focuscam</code> ====== | ====== streamcamera.focuscam: 指令<code>/focuscam</code> ====== | ||
通常地,这个权限应该开放给普通玩家,在没有焦点玩家时,玩家可以通过这个指令直接更改焦点而不是投票 | |||
====== streamcamera.migrate: 指令<code>/migratecam</code> ====== | |||
通常地,这个权限应该开放给普通玩家,焦点玩家需要通过这个指令移交镜头焦点 | |||
====== streamcamera.seefocus: 指令<code>/seefocus</code> ====== | |||
通常地,这个权限应该开放给普通玩家,这样,玩家就可以查看到当前焦点玩家的名字了 | |||
====== streamcamera.seevote: 指令<code>/seevote</code> ====== | |||
通常地,这个权限应该开放给普通玩家,这样,玩家就可以查看最新一次的投票信息了 | |||
====== streamcamera.shutcam: 指令<code>/shutcam</code> ====== | |||
通常地,这个权限不应该开放给普通玩家。因为指令可以重置相机和焦点。 | |||
====== streamcamera.votefocus: 指令<code>/votefocus</code> ====== | |||
通常地,这个权限可选开放给普通玩家,以此,玩家就可以发起投票 | |||
===== streamcamera.dontlookme: 指令<code>/dontlookme</code> ===== | |||
通常地,这个权限可选开放给普通玩家,通过这个指令,玩家可以积极拒绝摄像头对玩家的监视。 | |||
==== 常见问题 ==== | |||
===== 如果相机玩家或焦点玩家掉线了会怎样 ===== | |||
当焦点玩家掉线,RemotePlayer会变为null,此时没有焦点玩家(Focus Player),若当前服务器除相机玩家外有玩家,会随机选取其一,否则相机玩家不受控。 | |||
当相机玩家掉线,CameraPlayer会变为null,插件会在剩余的玩家里选择随机一个作为画面,如果没有人了,将会没有焦点画面。 | |||
==== 无人值守设定 ==== | |||
死设定!当焦点玩家掉线,RemotePlayer会变为null,此时没有焦点玩家(Focus Player),若当前服务器除相机玩家外有玩家,会随机选取其一,否则相机玩家不受控。当焦点玩家为null,即没有焦点玩家时,下一个进来的玩家会自动被设置为焦点! | |||
2023年8月21日 (一) 16:00的最新版本
StreamCamera Wiki
StreamCamera 是由 lmsdscav 独自开发完成的一个完全免费的 Minecraft: Java Edition 的 Bukkit 插件。
本插件主要用于方便直播,相关设置还需要自己摸索!
本插件不是直播插件,只是一个可以辅助直播的监控插件!你需要打开一个客户端,将客户端设为相机玩家,然后用直播软件把客户端画面推流到直播间!
请注意!焦点玩家和相机玩家都存在时,相机玩家的背包会被设定成和相机玩家相同的背包,请自行避免焦点玩家的恶意操作导致的例如ItemBan不必要麻烦!!!
最近更新了很多功能,可能要看看配置文件详解.
相机玩家:Camera Player
相机玩家的游戏画面是在直播中展现的画面。您需要将正在直播的客户端所使用的账户设置为相机玩家。
指令: /actcamera <PlayerName>,这个指令中的PlayerName指相机玩家的账户名。
在执行这个指令后,相机玩家会变为旁观模式,且除非相机玩家客户端手动切换,否则永久不变。(请不要在相机玩家未清空的情况下更改模式,否则会出bug,这个bug完全是自己作的,不给修)
此时,假定相机玩家名为Notch,指令是:/actcamera Notch
现在,相机玩家已经设置完成,需要注意的是,如果相机玩家客户端需要放入后台,请使用 F3 + P 来 关闭 失去焦点时暂停 功能
相机玩家的现存问题和相比原版旁观者的优劣势。
现存问题是,每3秒有极小几率(记录:连续直播一周,发生两次,持续一瞬间)出现可察觉性的旁观闪烁问题,造成原因是焦点玩家 (Focus Player)对于相机玩家,在无旁观时可见,但为了解决原版问题,需要每3秒瞬间刷新旁观。该问题可能与延时有关系,但发生几率极低,也许一万个3秒内出现1次,1次持续时间只会在一瞬间。
相比原版,服主不需要设置配置,不需要设置让旁观者刷新地形。其次,原版旁观者会在玩家传送后发生幽灵旁观事件,但本插件对其有解决。
焦点玩家
当焦点玩家不存在(RemotePlayer = null)时,相机玩家位置不会被插件更改,当焦点玩家存在时,插件会让相机玩家同步焦点玩家的位置。可以操作相机玩家的人称视角,但是不能移动位置(直到失去焦点玩家或不再是相机玩家)。
设置焦点玩家的方法是指令:/setfocus <PlayerName>,其中PlayerName指目标的焦点玩家账户名。
注意!普遍情况下,/setfocus指令不应该开放给普通玩家,因为该指令可以直接设置焦点玩家!可能出现玩家抢夺镜头的情况。
为什么无人值守?因为当玩家进入服务器后,如果焦点玩家不存在(RemotePlayer = null),玩家可以直接设置某人为焦点玩家!
方法:/focuscam <PlayerName>,其中PlayerName指目标的焦点玩家账户名。当设置焦点玩家后,该指令不再可用,当使用时,会有对应提示。
此时,如果焦点玩家需要移交镜头焦点,使用指令:/migratecam <PlayerName>,其中,其中PlayerName指目标的焦点玩家账户名。该指令只能由当前焦点玩家执行,非焦点玩家执行不会被授权。
之所以FocusCam的指令/focuscam允许将初始焦点设置到其他玩家,是保留灵活性,确保在初始状态(RemotePlayer = Null)下,普通玩家可以给另一玩家设置初始焦点以达到“帮助”的目的。
焦点投票选择
补充:注意!投票超时时间是10秒,即10000毫秒,这是无法从配置文件修改的。
该选择方式由于投票人数无法固定,因此方案是10秒内同意人数达到一定数量后设置焦点,默认值为2,即同意玩家需要两个,值得注意的是,投票发起者默认不算投票,但仍然可以自己给自己投。(每个玩家只能投票一次)
默认值为2人,即同意人数达到2人即可切换焦点玩家。投票选择功能是焦点玩家不能操作的,一旦超过指定人数,原焦点玩家将会失去焦点。
投票发起通常所有玩家都应当拥有权限,指令为:/votefocus <PlayerName>,其中PlayerName是投票通过后会被应用的焦点玩家。
投票只有同意票,拒绝票不支持,且未来不会额外开发。(说起来,一个数字,同意的人加,拒绝的人减,这种算法是很奇怪的)。
同意投票指令:/agreevote同样,该指令也应该对所有玩家开放
要修改投票通过人数,请在插件的配置文件夹中修改,文件夹名为StreamCamera,配置文件是config.yml
初始文件内容是VoteApplyCount: 2,其中VoteApplyCount就是通过人数。当发起投票后,使用了/agreevote指令的人数达到该值,焦点玩家就会被设置。例如,当值为x时,第x个玩家执行/agreevote后,焦点玩家被设置。
如果要禁用投票,直接关闭权限即可,权限节点在后面会有提及。
额外功能
查看概况
当相机玩家和焦点玩家都存在时,使用/seefocus指令可以显示相机玩家和焦点玩家,但如果其中有一个不存在,则两者都不显示
查看投票
使用指令/seevote会显示投票是否超时,以及投票希望设置的焦点玩家,但不会显示投票发起者。
关闭相机和聚焦
使用指令/shutcam可以关闭重置相机玩家和焦点玩家 (设置为null)
配置文件热重载
使用指令/camreload可以热重载配置文件,热更新投票的通过人数。在已有投票时更新同样会对现有生效,即使投票时间只有短短的、不可修改的10秒。在语言文本设置更新后也需要重载。
权限组
streamcamera
streamcamera.actcamera: 指令/actcamera
通常地,这个权限不应该开放给普通玩家。因为指令会改变相机玩家
streamcamera.admin.setfocus: 指令/setfocus
通常地,这个权限不应该开放给普通玩家。因为指令可以随意切换焦点
streamcamera.agreevote: 指令/agreevote
通常地,这个权限可选开放给普通玩家,这是投票的同意功能所需权限
streamcamera.camreload: 指令/camreload
通常地,这个权限不应该开放给普通玩家。因为指令可以随意重载配置,被滥用可能影响服务器性能
streamcamera.focuscam: 指令/focuscam
通常地,这个权限应该开放给普通玩家,在没有焦点玩家时,玩家可以通过这个指令直接更改焦点而不是投票
streamcamera.migrate: 指令/migratecam
通常地,这个权限应该开放给普通玩家,焦点玩家需要通过这个指令移交镜头焦点
streamcamera.seefocus: 指令/seefocus
通常地,这个权限应该开放给普通玩家,这样,玩家就可以查看到当前焦点玩家的名字了
streamcamera.seevote: 指令/seevote
通常地,这个权限应该开放给普通玩家,这样,玩家就可以查看最新一次的投票信息了
streamcamera.shutcam: 指令/shutcam
通常地,这个权限不应该开放给普通玩家。因为指令可以重置相机和焦点。
streamcamera.votefocus: 指令/votefocus
通常地,这个权限可选开放给普通玩家,以此,玩家就可以发起投票
streamcamera.dontlookme: 指令/dontlookme
通常地,这个权限可选开放给普通玩家,通过这个指令,玩家可以积极拒绝摄像头对玩家的监视。
常见问题
如果相机玩家或焦点玩家掉线了会怎样
当焦点玩家掉线,RemotePlayer会变为null,此时没有焦点玩家(Focus Player),若当前服务器除相机玩家外有玩家,会随机选取其一,否则相机玩家不受控。
当相机玩家掉线,CameraPlayer会变为null,插件会在剩余的玩家里选择随机一个作为画面,如果没有人了,将会没有焦点画面。
无人值守设定
死设定!当焦点玩家掉线,RemotePlayer会变为null,此时没有焦点玩家(Focus Player),若当前服务器除相机玩家外有玩家,会随机选取其一,否则相机玩家不受控。当焦点玩家为null,即没有焦点玩家时,下一个进来的玩家会自动被设置为焦点!
