分享自己用 Go 写的游戏加速器 IkaGo

2020-05-16 16:45:27 +08:00
 Sketch

作为在校学生以及任系玩家,闲暇时间一直在 Switch 上玩,但平台上的数款游戏的联机都是玩家间各自通过 UDP 连接完成的。如果没有稳定的 UDP 环境,或者 NAT 类型不佳的话可能就只能享受单机。其中一个简单的解决途径便是使用加速器,但因为不想花钱,所以我就自己实现了一个。

IkaGo

IkaGo 是一个以 Go 语言撰写的,用于绕过 UDP 封锁、UDP QoS 以及 NAT 防火墙的代理。

附上程序框图:

特性

与市面上的加速器的比较

一些不得不提的话

实际上,加速器最重要的是线路而不是技术,市面上的加速器使用的 IPLC 、专线等才是其作为加速器最重要的部分。如果想要真的好好游戏,还是建议选择市面上的产品比较好。

从本质上看,IkaGo 可以通过串联代理 ARP 、代理以及 Udp2raw-tunnel 来实现,IkaGo 从某种意义上只是简化了大量的中间流程,使得只需要简单的部署就能完成主机加速。

IkaGo 之所以这样命名,是因为和自己喜欢的游戏有关,イカ+ Go 。

项目地址


希望 IkaGo 能帮助到需要解决联机游戏问题的你 😊

14461 次点击
所在节点    分享创造
72 条回复
Sketch
2020-06-13 21:31:14 +08:00
@EasonSummer 我没试验过,但是我合并了别人提交的在 Arm 上编译的 PR,GitHub Actions 里有对应的 Artifacts
labulaka521
2020-06-29 16:54:02 +08:00
能请教下项目代码 /internal/pcap/fragment.go 这个文件的作用吗
我看代码里传输层网络层数据链路层构建好后,然后调用了这个文件里面的函数,然后是按照 mtu 值将数据分割位 mtu 值得大小,然后在发出去,
Sketch
2020-06-29 18:06:34 +08:00
@labulaka521 你说的没错,这个文件主要包括重组分片与分片(分包) 2 部分。
Defragmenter 是重组分片器,其中 EasyDefragmenter 是一个规则宽松且支持重组“粘包”(由于 IkaGo 上层是通过 TCP 封装包,而 TCP 是一个流协议,故读出的数据并不完全对应一个包)的重组分片器,StrictDefragmenter 是官方的规则严格的重组分片器的一个封装。CreateIPv4FragmentPackets 是一个创建 IPv4 分片的函数,CreateTCPSegmentPackets 是一个创建 TCP 分段的函数。
labulaka521
2020-06-30 14:25:36 +08:00
@Sketch 感谢 学习了
zjgsamuel
2020-07-03 10:47:13 +08:00
昨晚试在我的 Switch 上试了一下 Win 台式机上装了代理 然后 按照教程 运行了命令 可以运行 显示正常 ~
但是 在 Switch 上看不出有加速的迹象么? 我怎么样才能知道命令在运行呢?
当我在 Switch 上 变了 IP 地址 命令行倒是有错误报错
我更改了 我代理客户端上 允许 GDP 转发 允许局域网共享 , 然后 切换了各种代理的模式 貌似都不行呢
肯定是我哪里不对
Sketch
2020-07-03 13:00:33 +08:00
@zjgsamuel 呃……这个描述稍微有一点乱,要不开个 issue 我看看
EasonSummer
2020-07-26 15:08:18 +08:00
server 端一定要关闭 ip 转发嘛?就是不能同时有 VPN 运行了嘛
Sketch
2020-07-26 21:18:48 +08:00
@EasonSummer 是的,不过你也可以看看我后来的 https://www.v2ex.com/t/683486 这个项目
horou
2020-12-28 17:50:28 +08:00
大佬牛皮!!已 star,刚好自己想实现一个 ps4 的加速器,一直找不到思路。^ ^
hkshawn
2021-03-19 08:28:46 +08:00
大佬是否考虑改吧改吧投放市场?可以联系联系~
TG:@GhostShield_Y5
Rx
2021-08-05 19:27:55 +08:00
厉害👍🏻
moksa
2021-08-07 21:24:38 +08:00
不明觉厉。。。。希望有傻瓜教程....

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/672367

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX