本帖最后由 1582952890 于 2017-9-16 21:09 编辑 
上面那个是民间非正式译名,官方译名为
《论如何在现有Minecraft多人联机协议条件之下尽可能的惩罚
给Minecraft服务器带来损失的恶意破坏者(民间称呼"熊孩子")等其他任何不受欢迎的游玩者并尽可能使其无法进行报复行为》
未经明示允许严禁转载
注意:此插件虽然会让被ban的玩家进入服务器,但是为了防止他破坏,会把他op下了,再把他游戏模式改为冒险模式。因此您ban了自己进行测试时务必注意这一点。
| 
 | 
《论如何在现有Minecraft多人联机协议条件之下尽可能的惩罚
给Minecraft服务器带来损失的恶意破坏者(民间称呼"熊孩子")等其他任何不受欢迎的游玩者并尽可能使其无法进行报复行为》
未经明示允许严禁转载
- 介绍
 
 - 当您的服务器变的越来越大,玩家越来越多时,相信您一定会遇到“罪大恶极”,给您的服务器带来损失的恶意破坏者等所有不受欢迎的游玩者(下简称"熊孩子")吧?这个时候您会不会感觉“ban了这熊孩子实在是太便宜他了”可是您又能怎么样呢?——有本事钻出屏幕来咬我呀!(比如我就遇到过这种情况:用op帐号给全服人民发钻石块还在那得意洋洋的笑等等等)有了这个插件,再也不用担心“得不到应有的惩罚了”,装了此插件后,被您ban了/banip了的熊孩子可以正常进入服务器,然后插件就会——炸了他的客户端!
- 注意是“炸了他的客户端”准确的说,这个插件不会导致崩溃(虽然那样轻而易举),而是会让客户端进入永久的未响应状态——估计只有天河二号才能抵得住。
- 哦对了,还有一种情况,就是怕你ban了熊孩子,他回来报复/重新开小号换ip进入。在这种情况下,把配置文件设为不提示消息,这样熊孩子永远也不会知道是怎么回事2333(不过如果他看了这帖子/猜到是怎么回事,我可不负责任)。他会以为是客户端问题/电脑问题,甚至去重装系统2333祝他好运
 
 
 
- 当您的服务器变的越来越大,玩家越来越多时,相信您一定会遇到“罪大恶极”,给您的服务器带来损失的恶意破坏者等所有不受欢迎的游玩者(下简称"熊孩子")吧?这个时候您会不会感觉“ban了这熊孩子实在是太便宜他了”可是您又能怎么样呢?——有本事钻出屏幕来咬我呀!
- 效果图
 什么?这都需要效果图啊!要知道我测试时客户端已经崩了不下20次了!好吧好吧,,,
  
  
 就这样吧=。=相信足以说明问题了
 
- 配置文件
 配置文件默认编码为 Windows -> GB2312 (GBK) Linux -> UTF-8
 在Windows环境下建议使用WindowsXP以上自带的"写字板"程序进行编辑。
 复制代码- # ******************** #
 
- # SuperBan by andylizi #
 
- # ******************** #
 
 
- # 是否向崩客户端时向玩家发送理由(也就是"/ban 名字 理由"中的"理由"部分。如果理由不填默认为,,这个依据是否使用ESS而定,自己试试吧
 
- sendBanReason: true
 
- # 自定义消息设置
 
- sendCustomMessage:
 
-     # 是否开启发送自定义消息。此项开启后会无视"sendBanReason"项。
 
-     # 如果把显示理由和显示自定义消息都关闭,将不会有任何提示。这种情况下,虽然"有点便宜他"但是可以防止他回来报复。自行决定。
 
-     enable: true
 
-     # 消息内容。可以使用颜色代码,可以使用%reason%变量代替理由(见"sendBanReason"项的说明)
 
- msg: '&c嘿嘿嘿嘿嘿..叫你熊我服!'
 
 
- # ******************** #
- 命令 & 权限
 命令 权限 说明 /crash <玩家名> superban.crash 崩了玩家的客户端! 
 注意,这个命令不会给玩家任何提示可以用来整人不过玩家找你算账可别怪我
 注意:/ban指令或/ban-ip指令不会触发crash操作而是会像默认的一样,t出熊孩子并显示他已被服务器封禁。所以当你封禁的那个玩家在线时,可以先/crash了再/ban。因为一旦熊孩子被crash,他的客户端未响应了就不会显示任何服务器的操作,所以,当你在/crash后执行的任何操作,都不会被他看见。也就是说,他不会知道你ban了他
 隐藏玩法Get:/crash xxxxx ,"xxxx你个大【数据删除,自行脑洞】,有本事你来【数据删除】啊,来啊!" (可怜的人,永远不会知道有人骂他了)
 
- 原理
 这个插件崩玩家客户端时不会给服务器带来任何副作用。其原理是:向玩家发送30个数据包。数据包的类型是PacketPlayOutExplosion——也就是,给玩家发送一个指定位置的爆炸数据包。这个数据包的参数如下。
 - 爆炸的位置:玩家所在位置
- 爆炸的强度:Float.MAX_VALUE。这个值是Java中float类型所能表示的最大值——相当于3.4028234663852886 E+38(科学计数法,转换为普通数字为340282346638528860000000000000000000000,转换为大写为【高能,请做一个深呼吸】 ——三百四十涧两千八百二十三沟四千六百六十三穰八千五百二十八秭八千六百垓——不要问我"涧,沟,穰,秭,垓"都是些什么玩意,由于我实在不知道"千兆"后面的计数单位是什么了,于是我专门查了【百度百科】计数单位
 注:一个普通TNT的爆炸强度为4,苦力怕的强度为3,高压苦力怕的强度为5。请不要问我那个数字会带来什么结果,嘿嘿嘿嘿,我实在太黑了
 这个爆炸的发生会把玩家炸飞。飞多远呢?
- 击飞向量:X=Float.MAX_VALUE,Y=Float.MAX_VALUE,Z=Float.MAX_VALUE。(不要逼我重复Float.MAX_VALUE是多少)
 
 
 但是关键是,MC处理爆炸效果不会烧内存只会烧CPU,所以客户端永远也不会崩。嘿嘿嘿嘿
 还有一点很重要:这个数据包在服务端看来只是一个普普通通的数据包,而在客户端那边就必须运算数据包带来的结果。因此服务端唯一做的几件事就是发了几个数据包而已,不会对服务端造成任何影响。
 
注意:此插件虽然会让被ban的玩家进入服务器,但是为了防止他破坏,会把他op下了,再把他游戏模式改为冒险模式。因此您ban了自己进行测试时务必注意这一点。
- Q & A
 - Q1: 这个插件会把被ban的玩家放进服务器,那要是他客户端没炸,不就可以继续做坏事了吗?
 A1: 如果被ban玩家20秒后还在线,会将他以"java.net.SocketTimeoutException: Time out"理由踢出。也就是常见的“连接超时”错误。并且,插件会拦截服务端发给玩家的地图数据和实体数据,所以他的客户端无法显示周围的环境,这也就意味着他会被卡住无法移动。
- Q2: 那要是熊孩子能使用天河二号呢?
 A2: 放弃吧,金钱的力量是无穷的!
 
 
- Q1: 这个插件会把被ban的玩家放进服务器,那要是他客户端没炸,不就可以继续做坏事了吗?
- 下载
 SuperBan.jar (18.11 KB, 下载次数: 6897) 
 此插件需要前置插件ProtocolLib!在开始使用前请确保您安装了ProtocolLib ↓
 [ProtocolLib v3.4.0] 适用于 1.7.2~1.7.10 服务器
 [ProtocolLib v3.6.4] 适用于 1.8 服务器
 ProtocolLib原发布帖 | ProtocolLib MCBBS转载贴
 
开发不易。如果您觉得这插件帮到了您惩罚熊孩子,请不要吝惜一个评分哦!
给予人气不会消耗自己的积分
给予人气不会消耗自己的积分
可以崩人客户端?
我喜欢
我喜欢
 本帖最后由 孤独秋叶 于 2016-2-20 17:27 编辑 
上次有个技术熊来我服务器,自从我用了这个插件对付他后,他现在坟头草已经两米高了。
上次有个技术熊来我服务器,自从我用了这个插件对付他后,他现在坟头草已经两米高了。
脑洞大得惊人。
孤独秋叶 发表于 2016-2-17 19:55
我觉得这个插件可以完美打技术熊了!
要看技术熊的技术如何.
然而我看到了标题是娱乐
这个脑洞真是够大的
绝妙的办法2333333
绝妙的办法2333333
厉害,已下载,赞一下……
顺便火钳刘明{:10_515:}
顺便火钳刘明{:10_515:}
恐怖的脑洞{:10_499:}
厉害啊支持一下
熊孩子和我们有仇有怨
 本帖最后由 终究暴走 于 2016-2-17 20:15 编辑 
好狠啊......吓屎宝宝啦!
好狠啊......吓屎宝宝啦!
LZ虽说是上古之石的成员,但是这还刚刚开始新的一年,这2016插件之最就被LZ抢稳了
好6,熊服主万一拿去插件随意BAN玩家,玩家就蹦喀拉卡呢...要是渣机...会不会崩掉电脑
有办法避免吗?如果很难避免不妨说出来 如果很容易就不用说了
初见丶LOVE 发表于 2016-2-17 20:17
有办法避免吗?如果很难避免不妨说出来 如果很容易就不用说了
避免什么?。。
群里发来的福利,楼主你太伟大了。虽然现在我的服务器还没公开,但是听着传言也怕了。
楼主解决的广大辅助的问题啊。
楼主解决的广大辅助的问题啊。
造福人类 ... 
andylizi 发表于 2016-2-17 20:22
避免什么?。。
就是避免客户端无响应
初见丶LOVE 发表于 2016-2-17 20:31
就是避免客户端无响应
魔改客户端√
andylizi 发表于 2016-2-17 20:35
魔改客户端√
最后问一个问题?这个有时间限制吗?是自定义世界还是有关闭无响应的功能
初见丶LOVE 发表于 2016-2-17 20:35
最后问一个问题?这个有时间限制吗?是自定义世界还是有关闭无响应的功能 ...
时间限制是什么,,自定义世界是什么,,
关闭无响应基本是不可能的,除非,魔改客户端
“天河二号”是由国防科大研制的超级计算机系统,以峰值计算速度每秒5.49亿亿次、持续计算速度每秒3.39亿亿次双精度浮点运算的优异性能位居榜首,成为全球最快超级计算机。
{:10_522:}
5.49亿亿=5.49京
3.402823466385******* E+38≈5.49京的10的23次方倍
再加上发送30个数据包
依我看也顶不住{:10_492:}
andylizi 发表于 2016-2-17 20:41
时间限制是什么,,自定义世界是什么,,
关闭无响应基本是不可能的,除非,魔改客户端 ...
口胡 - - 就是只要给玩家/crash 是不是就无法挽回了←他就一直无响应?
LZ我忘记问一件很重要的事啦,熊孩子被ban了之后就会变成LZ所说的什么客户端无响应,那假如辅助有一天闲得无聊把那只熊孩子解ban了,那那只被解了ban的熊孩子是不是又可以开心的进入服务器玩(熊)呢?
1746257500 发表于 2016-2-17 20:43
LZ我忘记问一件很重要的事啦,熊孩子被ban了之后就会变成LZ所说的什么客户端无响应,那假如辅助有一天闲得 ...
有那么闲的腐竹吗....{:10_493:}
初见丶LOVE 发表于 2016-2-17 20:42
口胡 - - 就是只要给玩家/crash 是不是就无法挽回了←他就一直无响应?
目前来说是这样。毕竟我没有天河二号来测试啊2333
Q: 要是熊孩子能使用天河二号呢?
A: 放弃吧,金钱的力量是无穷的
 本帖最后由 wujinze 于 2016-2-17 21:01 编辑 
....理论上是能用外部程序来识别并过滤掉那一堆爆炸数据包不让其被发送到客户端的吧=-=
本地挂个代理再连上服务器,本地的代理程序中过滤掉指定数据包这种实现方式不难,而且压根不用改客户端
不管怎么说这方式很6666666
不过还是建议插件添加拦截掉客户端发向服务器的数据包的功能,这样即使依靠上面的办法屏蔽掉也不能干任何事情,并且可以取消掉自动下op和切冒险的功能(数据包根本发不到服务器那的话就完全没法干任何事情),而目前的插件从原理上看解决掉崩溃数据包后还是能说话打指令什么的
(未测试,只是从插件的介绍进行分析)
....理论上是能用外部程序来识别并过滤掉那一堆爆炸数据包不让其被发送到客户端的吧=-=
本地挂个代理再连上服务器,本地的代理程序中过滤掉指定数据包这种实现方式不难,而且压根不用改客户端
不管怎么说这方式很6666666
不过还是建议插件添加拦截掉客户端发向服务器的数据包的功能,这样即使依靠上面的办法屏蔽掉也不能干任何事情,并且可以取消掉自动下op和切冒险的功能(数据包根本发不到服务器那的话就完全没法干任何事情),而目前的插件从原理上看解决掉崩溃数据包后还是能说话打指令什么的
(未测试,只是从插件的介绍进行分析)
666666666666666666不错不错
wujinze 发表于 2016-2-17 20:56
....理论上是能用外部程序来识别并过滤掉那一堆爆炸数据包不让其被发送到客户端的吧=-=
本地挂个代理再连上 ...
1、插件会拦截服务端发送给客户端的地图数据。如果没有地图数据,客户端就无法移动
2、如果插件发送客户端时报错(表明发送失败),会立刻踢出玩家,理由为"java.net.SocketTimeoutException: Time out",玩家以为只是连接超时而已
3、如果插件发送数据包后20秒(这是服务端连接超时的时间)后玩家还在线,t了,理由跟上面一样
有避免的方法 我提供一个想法A,A 实现什么的 谁要是想的话可以做
| 【夺目】Xiao_HuiHui(1025184872) 20:28:46 我要不要开发一个客户端封包接受 如果有异常封包自动拦截A.A | 
| 【荣耀】zhouhaha<[email protected]> 20:28:58 你怎么判断“异常” | 
| 【荣耀】zhouhaha<[email protected]> 20:29:09 监听是很容易的,拦截是很容易的,判断是很不容易的 | 
| 【夺目】Xiao_HuiHui(1025184872) 20:29:25 靠这个 ProtocolLib | 
| 【荣耀】zhouhaha<[email protected]> 20:29:33 .咋判断呢 | 
| 【荣耀】zhouhaha<[email protected]> 20:29:42 什么样才算”异常封包“ | 
| 【荣耀】zhouhaha<[email protected]> 20:29:51 凋零封包吗2333 | 
| 【夺目】Xiao_HuiHui(1025184872) 20:30:00 这些拿配置项设计 | 
| 【夺目】Xiao_HuiHui(1025184872) 20:30:05 用户自己定义 | 
| 【晋级】Leng_Guang(1447375349) 20:30:05 我需要那个崩溃插件 | 
| 【荣耀】zhouhaha<[email protected]> 20:30:40 @Xiao_HuiHui 怎么自定义,你的意思是像ColorMOTD的%STATE%一样,执行腐竹写的js文件吗 | 
| 【夺目】Xiao_HuiHui(1025184872) 20:30:46 至于封包类型 | 
| 【夺目】Xiao_HuiHui(1025184872) 20:30:58 完全可以依照Protocol写 | 
| 【夺目】Xiao_HuiHui(1025184872) 20:31:11 我设计个json | 
| 【夺目】Xiao_HuiHui(1025184872) 20:31:15 或者yaml | 
| 【夺目】Xiao_HuiHui(1025184872) 20:31:28 上面标注每个封包类型 | 
| 【夺目】Xiao_HuiHui(1025184872) 20:31:36 然后封包的关键性数据判断 | 
| 【夺目】Xiao_HuiHui(1025184872) 20:31:45 监听到超出这个范围的封包 | 
| 【夺目】Xiao_HuiHui(1025184872) 20:31:49 就直接拦截 | 
| 【夺目】Xiao_HuiHui(1025184872) 20:32:04 至于这个值 | 
| 【夺目】Xiao_HuiHui(1025184872) 20:32:16 我可以按照MC一般的值来定义默认值 | 
| 【晋级】Leng_Guang(1447375349) 20:32:23 | 
| 【晋级】Leng_Guang(1447375349) 20:32:24 算了不用了 | 
| 【夺目】Xiao_HuiHui(1025184872) 20:32:28 如果要修改用户自己修改就好了 | 
andylizi 发表于 2016-2-17 21:01
1、插件会拦截服务端发送给客户端的地图数据。如果没有地图数据,客户端就无法移动
2、如果插件发送客户 ...
1:的确无法移动,但是还是能发指令说话的吧(从介绍的原理判断,只是拦截到客户端的地图数据但是并没有拦截客户端向服务器发送数据)
2.代理接收数据包,并向服务器返回成功,但是不发送到客户端...好吧这是高级技术熊的事情,普通撒比熊一般只会用压测和xray-fly等东西
3.20秒内还是正常在线吧=-=只要想办法屏蔽掉崩溃数据包,根据1他照样能发聊天和指令,被查出来就在服务器公屏骂街的熊一点都不少
llopllop 发表于 2016-2-17 20:42
5.49亿亿=5.49京
3.402823466385******* E+38≈5.49京的10的23次方倍
再加上发送30个数据包
这只是运算速度 不是值域大小
wujinze 发表于 2016-2-17 21:12
1:的确无法移动,但是还是能发指令说话的吧(从介绍的原理判断,只是拦截到客户端的地图数据但是并没有拦截 ...
理论上 拦截并正常返回 服务端并不知道你客户端是不是真的BOOM了
然后你就有20秒的时间装逼 之后就被T了
 本帖最后由 wujinze 于 2016-2-17 21:20 编辑 
被t也有解决方法.......直接重新上线不就行了么而且这样的话20秒内完全可以各种刷/baltop tab补全 等各种消耗服务器资源 或者 公屏刷屏骂街 等,聊天里面满屏的脏话玩家谁会喜欢=-=
我才是小灰灰 发表于 2016-2-17 21:17
理论上 拦截并正常返回 服务端并不知道你客户端是不是真的BOOM了
然后你就有20秒的时间装逼 之后就被T了 ...
被t也有解决方法.......直接重新上线不就行了么而且这样的话20秒内完全可以各种刷/baltop tab补全 等各种消耗服务器资源 或者 公屏刷屏骂街 等,聊天里面满屏的脏话玩家谁会喜欢=-=
wujinze 发表于 2016-2-17 21:17
被t也有解决方法.......直接重新上线不就行了么
被T之后就ban了
不不不,我不关心怎么吊打熊孩子,我只关心!这绝对是mc历史上最长的插件名字
我才是小灰灰 发表于 2016-2-17 21:08
有避免的方法 我提供一个想法A,A 实现什么的 谁要是想的话可以做
来吧,拯救那些熊孩子【斜眼】
报复熊孩子计划{:10_513:}炸炸炸,国际熊梨子{:10_521:}
建议去掉ban和banip也可以加入,就只有/crash <玩家名> 就很不错啦,ban的玩家加入还是有危险的~
楼主我这里有两个疑惑,请问一下:
1. 我不是很清楚为什么发三十个大威力的爆炸就可以让客户端计算量过大,这是mc的设计缺陷还是什么的,能稍微解释一下么?
2. lz是如何想到可以用三十个爆炸数据包就可以(卡)崩客户端的?以前我写的插件的崩客户端方法基本上都是发送错误的数据包导致游戏崩溃或者刷上万个实体卡客户端的,效果都不是很理想。
1. 我不是很清楚为什么发三十个大威力的爆炸就可以让客户端计算量过大,这是mc的设计缺陷还是什么的,能稍微解释一下么?
2. lz是如何想到可以用三十个爆炸数据包就可以(卡)崩客户端的?以前我写的插件的崩客户端方法基本上都是发送错误的数据包导致游戏崩溃或者刷上万个实体卡客户端的,效果都不是很理想。
真心求解释 这是为什么?? 
An internal error occured while attempting to perform this command
为什么会出现这个问题,上古之石的插件 不应该存在这种问题的啊
然后后台一直狂报错,本人 1.7.2 和 1.7.10 服务器 都测试过了
An internal error occured while attempting to perform this command
为什么会出现这个问题,上古之石的插件 不应该存在这种问题的啊
然后后台一直狂报错,本人 1.7.2 和 1.7.10 服务器 都测试过了
 本帖最后由 connection_lost 于 2016-2-17 22:50 编辑 
同时有一些小事儿:
1. 插件会给对方下OP和调冒险模式,但是这不能用在玩家登录的时候,你需要稍微等半秒。
2. 建议缓存一下被ban的玩家列表,发一个包就要重新查一遍ban好像不是很合适。
3. event.setJoinMessage(null);
4. 禁言,禁指令
同时有一些小事儿:
1. 插件会给对方下OP和调冒险模式,但是这不能用在玩家登录的时候,你需要稍微等半秒。
2. 建议缓存一下被ban的玩家列表,发一个包就要重新查一遍ban好像不是很合适。
3. event.setJoinMessage(null);
4. 禁言,禁指令
楼主脑洞大死了66666666666666666666666666666666666666666
梨子哥,你已经很久没跟我搞基了{:10_524:}你怎么能这么熊。。。
 本帖最后由 Monn_Dik 于 2016-2-18 00:03 编辑 
如果你熊我服,我就要跟你嘿嘿嘿。
赫,明明是你自己写的{:10_532:}↑
这下子可以整整一些论如何在现有Minecraft多人联机协议条件之下尽可能的惩罚给Minecraft服务器带来损失的恶意破坏者(民间称呼"熊孩子")等其他任何不受欢迎的游玩者并尽可能使其无法进行报复行的熊孩子。
如果你熊我服,我就要跟你嘿嘿嘿。
赫,明明是你自己写的{:10_532:}↑
这下子可以整整一些论如何在现有Minecraft多人联机协议条件之下尽可能的惩罚给Minecraft服务器带来损失的恶意破坏者(民间称呼"熊孩子")等其他任何不受欢迎的游玩者并尽可能使其无法进行报复行的熊孩子。
不过我觉得你最好加上下载权限...指定用户组才能下载...
怕有的服务器利用这个插件对一些玩家造成不可估量的伤害…←可以在基础上修改。
于是你获得了成就:世界上第一位利用Minecraft服务器“黑”他人电脑。
楼主非常好 刚刚有个技术熊熊我服 感谢你的插件!
梨子。。我只问一句,怎么解除crash。。。
楼楼你的中文名称为什么这么长 
楼主  群组服里面   对玩家使用指令后出现下面的错误提示是怎么回事?
Unexpected exception while parsing console command "crash meronc"
org.bukkit.command.CommandException: Unhandled exception executing command 'crash' in plugin SuperBan v1.0
Unexpected exception while parsing console command "crash meronc"
org.bukkit.command.CommandException: Unhandled exception executing command 'crash' in plugin SuperBan v1.0