ET7 软路由
ET7分支已经添加软路由功能~

早期分享
最近在做防攻击设计,今天终于完成并且实现了,这里分享给大家,特别是搞棋牌的项目,还有小公司没法通过法律手段来防止别人攻击。特别有用处。因为高防实在太贵,用不起。
设计思路如下:
- 需要有很多ip,客户端能够随时切换连接,这样别人攻击一个可以切换其他的进程去连接。
- 需要保证状态不丢失,消息不丢失不重发,显然tcp做不到。
- 使用udp。因为udp是无连接的
- 需要保证消息可靠,所以kcp是非常合理的选择
- 可以设计一个路由进程来转发,udp消息通过路由再转发给realm gate等等
- 路由进程可以起非常多个,客户端在连接realm或者gate之前先请求路由进程,告诉路由进程自己需要真正连接的地址,路由进程记录下来。然后客户端用kcp连接,路由进程把发过来的udp消息转发给真正的地址,比如gate。所以服务端对外的是路由进程,gate realm变成了内网地址。
- 客户端连接会每隔2秒ping一次,ping超过10s没有回消息则重新请求一个路由来连接。这样别人攻击一台路由我们就可以不停的关闭被攻击的路由进程,或者开启新的路由都可以。
- 因为udp无连接状态,kcp会保证不丢消息会重发,所以即使换了路由进程,仍然能够保证消息一致性
这种类似防攻击方案有人卖几十万,让我感觉不齿,我免费分享给大家了
这个是保证攻击还让玩家能稳定游戏。用高防打过来,玩家都不能游戏了.租100台路由,每台10个ip。怎么都够用了
不能理解的多看看下面的对话讨论。
群友的实现
小菜鸟nginx没毕业
https://gitee.com/wryl/router-et
软路由实现.有兴趣的可以看看.多提修改意见.搭配简单视频