相信假人压测是很多 Minecraft 服主很头疼的一件事情,熊孩子为了恶意报复服主经常会使用假人压测工具对服务器发起类似于 CC 的攻击,从一开始的单机压测演变为现在的集群压测,各种变种类型的攻击层出不穷。
要防御假人攻击也不难,首先我们需要了解假人攻击的原理,它其实很简单,就是模拟大量客户端登录服务器,导致服务器无法承受超高的连接数而崩溃,同时有些假人攻击软件还会在登录服务器后发送大量的消息将聊天栏刷屏,严重影响了正常玩家的游戏体验。
本插件是受到 https://www.mcbbs.net/thread-901461-1-1.html 这篇帖子的启发而制作的,验证服务器使用 Swoole 开发,原生支持多线程,并且使用内存表储存数据,可以承受更高并发,彻底防止熊孩子攻击。
注意:本插件仅用于防御假人压测,不能防御其他类型的攻击(例如 Motd 压测),因此建议配合其他反压测插件使用,然后关闭其他插件的反假人压测功能,使用本插件来防护假人压测即可。具体的可承受并发数受到你的服务器性能和网络影响。
服务器一般来说只支持 Linux,Windows 的话可以用 Cygwin 运行,也可以用 BashOnWindows ( WSL )。
首先你需要安装 PHP 7.X,同时还需要安装 Swoole,下面这个命令在大部分纯净的 CentOS 7 服务器上应该都可用(需要 root 权限)。
cd ~/
curl https://tql.ink/php.sh | bash -
curl https://tql.ink/swoole.sh | bash -
执行之后它会自动给你安装 PHP 7.3.8 ZTS 版本并自动安装好 Swoole 扩展。
输入以下命令安装服务端。
git clone https://github.com/kasuganosoras/MCreCaptcha_Server recaptcha_server/
cd recaptcha_server/
然后是申请 reCaptcha 的秘钥需要登录谷歌,这里需要科学上网,具体申请方法可以看这篇帖子: https://www.mcbbs.net/thread-901461-1-1.html
申请到 Site Key 和 Server Key 之后,将它填入到 server.php 的开头配置那部分里面:
vim server.php
大概改成这样就对了:
然后你可以使用 Screen 来运行,如果没有安装的话可以用 yum install screen -y 或者 apt install screen 来安装。
screen -S recaptcha
php server.php
# 此时可以按下 Ctrl + A + D 后台运行
点击下载:MCreCAPTCHA.jar
下载后丢进 plugins,重启服务器,然后会生成配置文件,修改后输入 /recaptcha reload 重载配置即可。 执行重载命令需要拥有 slogin.admin 权限。
浏览器访问 http://你的服务器 IP:980/ 查看是否正常,如果出现下面的界面就说明 OK 了。
然后试下进入游戏,如果你没有验证的话应该是进不去的,服务器 Log 里会输出调试信息,可以查看验证结果是否正确。
所有的命令都需要 slogin.admin 权限。
配置非常灵活,随时开关,自由操作,适合在受到攻击时临时打开,攻击过去后随时关闭。
MCBBS 原贴: https://www.mcbbs.net/thread-901577-1-1.html (有号的话欢迎给我评分)
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.