• 周年纪念勋章活动已圆满结束,如有已购买但仍未申请的用户,可以通过对应勋章的下载链接申请~

讨论 小服服主抗DDoS福音!MC服务器 社区联合免费CDN计划

SummerGoro

互通板块版主 | IMC.RE

管理成员
版主
组长
注册
2019/09/15
消息
220
金粒
43,605金粒
家宽组MC CDN计划

小服服主抗DDoS福音!MC服务器 社区联合免费CDN计划​

CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。 —— CDN_百度百科 (baidu.com)
说到CDN的话,应用场景大多都是在网站,因为网站的引擎有个很基础的功能支持CDN服务的使用:使用域名进行同端口不同服务的分流加载。游戏服务器用的CDN并不亲民,尽管Cloudflare有MC服务器专用的CDN套餐(例子:Hypixel),以及阿里云近期推出的应用加速可以支持MC JE服务器的加速服务,但是都有个通病:

在MC服务器领域有个司空见惯的攻击方式:DDoS,也就是分布式拒绝服务攻击,使用肉鸡,发包机等进行Udp Flood/SYN洪水攻击等使MC服务器无法正常访问。而绝大多数MC服务器是没有Hypixel一般的财力上Cloudflare CDN那样的服务的,解决方案大多分为两种:要么上高防,要么等死)

那有没有什么方法,可以让自己没有防御的服务器也能承受一定的攻击以保证MC服务器的正常服务呢?这就是我要提出的:MC服务器 社区CDN计划。

为什么说是小服福利?啊,有一定规模的服务器可能都不需要这种东西吧(bushi

众所周知,分布式攻击要用分布式节点缓解防御,俗称以毒攻毒)所以CDN服务有个很牛逼的“BUFF”,便是防御DDoS攻击。CDN的节点越多,防御DDoS的效果也就越好。但是MC服务器有个和网站服务相比很严重的缺陷,即多个服务器无法共享使用相同的端口连接。这就导致MC服务器无法像网站服务一样游刃有余的使用CDN服务。但是这样的缺陷在我“意外”发现的功能中被弥补了。

Force-host,使用域名进入不同的服务器​

force-host是JE的Proxy端的一个功能,他支持识别客户端加入的域名并将玩家分配直接连接到域名对应的子服,从而达到多个服务器使用一个端口的功能。 这样的功能与Nginx等网站程序类似,为MC服务器使用CDN服务器提供了前提。但是BungeeCord的force-host的功能使用场景有限,仅支持JE Bukkit系的服务器,很多服务端诸如Vinalla,Fabric,以及使用Geyser加入的BE玩家等均无法接入BungeeCord,使用这个Force-host功能,并且我在使用过程中发现了很影响体验的问题,那就是服务器一旦加多了就会因发包过多频繁踢人。

前几天在琢磨Velocity的force-host时候偶然发现了一个很牛批的功能:Velocity的Force-host,能够被基岩版玩家识别,从而支持基岩版玩家使用域名直连子服!并且Velocity支持Fabric等mod服务端,而且无需子服开启BungeeCord选项就能获得玩家的真实IP,这让MC CDN的实现成为了可能。

DNS均衡负载式CDN:社区服务应由社区提供​

既然有了上述基础,那么实现MC服务器的均衡负载CDN就并非幻想。有钱的大老板自然可以买节点买IP来组CDN,从而实现MC的商业CDN产业,但这样并不能解决一个实际的问题就是:由单独的一方出资构成的CDN势必会造成经济压力的负担,这样的负担,作为MC这样的社区游戏来说是绝大多数个人势服主无法承担得起的。既然如此,何不我们来自产自足?

社区的游戏,社区的服务器,社区的服务,理应由社区来提供。

原理很简单:采用DNS均衡负载的手段,集成所有参与计划的服主的IP,并让参与计划的服主自行布置Velocity,配置所有参与人员的服务器为子服,再配置域名CNAME解析到集成IP的域名上,实现CDN连接的功能。与传统商业用CDN有个根本区别:这样的模式是完全由社区自愿参与,由社区维护,不会收取任何一方的费用!

参与前提:请保证你的服务器具有公网IP,并可自由使用25565/TCP 和 19132/UDP 端口!

具体配置流程:

  1. 下载VelocityGeyser-Velocity,将Geyser安装至Velocity上,设置Velocity的端口为25565,Geyser的端口为19132。
  2. 获取最新的Velocity社区服务器配置。
  3. 将自己的服务器的公网IP地址以及连接域名添加至社区服务器列表清单中,等待其他服务器节点同步。添加请加群 626525809 联系群主。
  4. 将连接域名CNAME解析至集成节点域名上,集成节点域名加群获取。
  5. 使用连接域名即可进入你的服务器游玩,至此MC服务器用CDN就配置好啦~

优势:​

  • 服务器由社区自愿提供维护,参与者均可免费使用他人提供的节点
  • 有效缓解因源站IP暴漏导致的DDoS集火攻击。

劣势:​

  • 因为是社区提供节点,无法保证节点的稳定性和安全性。

当前该计划还在测试中,欢迎各位踊跃参加!交流群:626525809

 
最后编辑:
说实话,这种情况完全靠社区。悲观的来看,我觉得相信社区的力量是无用的。
并且,遇到DDoS完全可以上临时高防。长期来看可以购置多台负载均衡,玩家通过对加载负载均衡的域名->验证服务器,反正验证服务器被打就算了,验证服务器->游戏服务器。
或者试试网易服?网易给机器我个人感觉还是很大气的,除了必须用https://mc.163.com/dev的工具开发链接服务器(我只申请了BE机器,BE网易说是BDS魔改,但是实际操作上BDS资源完全不兼容网易),其他都挺好的。
 
另外,我想在这个论坛水帖的用户,服务器也没有什么成绩,就我所知目前情况下顶天注册企业,但是无法以其为盈利,小服更不用说。与其消耗这么多资源不如就让攻击者慢慢打。如您所说“
  • DDoS并非无成本攻击。如果是小量的DDoS攻击,或许可以经过各种途径获取。但是如果想要打出百G级别的攻击,很多情况下并不是“免费”就可以搞定的。需要耗费一定的“资源”。而这种资源的表现有很多种,如:钱,服务器,肉鸡等。

引用自https://www.minebbs.com/threads/ddos.7590/

反正DDoS对于被攻击者与攻击者,两败俱伤。参与更多伤害更大,等到服务器作为吃饭的来源,如www.mchyt.com www.easecation.net mc.163.com 之后再去考虑DDoS也是个不错的选择。
 
最后如您所言的大厂。我目前也是采用大厂进行攻击/活动临时扩容的。至少我是游戏服务器全上大厂,这就无所谓了。这种情况下就是对刚开服的服主不友好。
 
当然并不是反驳此帖的CDN计划,就目前来说站在路人角度是不可行/无效的,但说不定就能改变撬动地球呢对吧~很多改变世界的产品也是最开始被否定的呢~
 
另外,我想在这个论坛水帖的用户,服务器也没有什么成绩,就我所知目前情况下顶天注册企业,但是无法以其为盈利,小服更不用说。与其消耗这么多资源不如就让攻击者慢慢打。如您所说“
  • DDoS并非无成本攻击。如果是小量的DDoS攻击,或许可以经过各种途径获取。但是如果想要打出百G级别的攻击,很多情况下并不是“免费”就可以搞定的。需要耗费一定的“资源”。而这种资源的表现有很多种,如:钱,服务器,肉鸡等。

引用自https://www.minebbs.com/threads/ddos.7590/

反正DDoS对于被攻击者与攻击者,两败俱伤。参与更多伤害更大,等到服务器作为吃饭的来源,如www.mchyt.com www.easecation.net mc.163.com 之后再去考虑DDoS也是个不错的选择。
此次计划也仅仅是试水,我想看看单凭社区的力量能不能气到作用,不过也正如你所说,从悲观来看,不如说从现阶段得到的答复来看,完全依靠社区的力量是无用的)
顺带一提,你引用的那篇文章也是我写的)
 
此次计划也仅仅是试水,我想看看单凭社区的力量能不能气到作用,不过也正如你所说,从悲观来看,不如说从现阶段得到的答复来看,完全依靠社区的力量是无用的)
顺带一提,你引用的那篇文章也是我写的)
874CAFCB-D3ED-450E-8876-3CE7DFE14AD2.jpeg
 
总得来说想法还算不错 加油
 

在线会员

  • 茶茶space
  • ENDxDDA
  • fanting
  • 狐风轩汐
  • Nickelodeon
  • wuyewoi
  • qqt8023
  • SASOURI
  • 一远征2
  • 御坂御坂
  • xliang
  • AkkTNT
  • 红葵
  • Carrido
  • 一二九
  • Super_Ling
  • soft
  • 嚣兮
  • 1905373790
  • hhhhGG
  • PuddingKC
...和 42 更多。
后退
顶部 底部