非想天则的时代并不是我所了解的时代,而在我了解的时代里, SiHuaN 向大家传教,我才知道有则这个东西,我才知道有 Shitama 这个东西。 SiHuaN 将 Shitama 推入 AUR ,而在我开始使用 Shitama 时, Shitama 已经没有了默认服务器。 AGPLv3.0 是好文明,而 Shitama 恰恰是基于此发布,于是我试图自行搭建服务,但效果差强人意,大概是青岛到杭州再回青岛确实太远了吧……我的代码阅读能力巨差,改进 Shitama 的尝试失败了,一个偶然的想法驱使我自己实现一个,名字就取叫 thlink 。粗略算来,入坑东方马上就要一年了,尽管 thlink 用起来依然会卡,而且我还不知道为啥,不管怎么说作为给自己的一周年礼物也不差吧。
白玉楼製作所 ThLink
ThLink 的目标是,有则的地方就能联机。本体使用 GoLang 编写, GTK3 客户端使用 GoLang 和 C 联合编写。
v0.0.9 加入了非想天则的观战支持,感谢 delthas 的 非想天则协议文档 。
v0.0.11 加入了凭依华的观战支持。凭依华的协议要简单一些,和非想天则的协议相比,更像是我能接受的复杂程度。到这个版本,凭我的能力已经不知道如何再继续改进了。
这里的观战,观战方是完全独立与对战双方的存在,故设计上希望实现对战方和多个观战方共用一个端口。
对战方获得的观战数据是由 thlink-client 发送的,而 thlink-client 发送的数据是其自身作为观战方从对战中的某一方获取的数据,对战双方所能感知到的观战客户端只有 thlink-client 而已。
项目主页:github
国内镜像:gitee
预编译的二进制:github release
预编译的二进制国内镜像:gitee release (部分二进制无法上传)
AUR安装:
$ yay -S thlink-client-gtk
$ yay -S thlink-client
$ yay -S thlink-broker
GTK3 图形化客户端使用指导
这是 thlink-client-gtk 的简明指导。
Local port
是本地游戏监听的端口。这个参数在非想天则默认是 10800
,故 thlink 默认也设置为 10800
,如果有需要则更改之。
对于传输协议, TCP 和 QUIC 的性能在一般情况下差不多,所以 TCP 其实就是一个很好的选择。
默认不打开任何插件( Plugin
置 OFF
),此时只作一般转发用。打开插件得到对应的观战功能,且在底部信息栏会显示相应的信息。 TH123
对应非想天则, TH155
对应凭依华,开错有可能导致对战中程序崩溃(我只能尽力保证这不会发生)。
下拉菜单中 Network discovery
用于显示服务器网络中的其他服务器,可以根据 ping 延迟手动双击选择。这个功能没有做成自动选择的原因是这个延迟只能片面地表示 client 和 broker 之间的延迟,而对战另一方到服务器的延迟在对战开始前都是未知的。
下拉菜单中 Tunnel status
用于图形化显示 client 和 broker 之间的 ping 延迟,在打开 TH123
插件时还将显示对战双方之间的延迟。
一切就绪后点击 Connect
即建立与转发服务器的连接,且连接 IP 将即时显示,点击 Copy
将复制该 IP 到剪贴板,对方在获得这个 IP 后即可实现联机。
如果想要应用新的设置或在当前配置下更换 IP ,则点击 Refresh
,新的 IP 也将即时显示。
最后,整个项目并没有经过广泛的测试,所以我也好奇它还有什么 bug 是我不知道的。
by SDUST weilinfox