失落的方舟(Lost ARK)11月8日韩国公测,暂时不对韩国以外地区提供服务,甚至需要绑定韩国18周岁以上身份证才能试玩。我有同学他们很期待这个作品,500元一个账号购买了9个,配合韩国IP代理从而进行抢先体验。

由于市场上的加速器都是多人共用一台服务器,经常因为共用同一个IP导致被封号。而同学的账号500软妹币一个,被封号了那得多心疼。之前我为了科研的需要搭建过VPN,所以同学让我试着帮忙给搞一个私人的代理服务器。

韩国网络很发达,可是比起日本美国服务器还是相当昂贵的。VPS是买的KDATACENTER家的,价格不是最实惠但是看网上的帖子都说他家是最稳定的。游戏代理不要求高速,稳定性才是第一。所以狠了狠心19刀一个月买下我迄今用的最贵的服务器。

这个前后端以及Web监控游戏加速器搭建过程记录我不打算写特别的仔细,因为里边牵扯的东西太多了,我只记录下来关键点,所以这篇博文更多的意义是给自己的一个搭建记录备份。

开始我打算用PPTP VPN来实现代理,因为我弄过多次轻车熟路,可是国内人反应每隔一段时间会被游戏检测到区域不对,然后被强制退出了游戏。他们让我试试搭建个SSR看看效果怎样,我猜测是游戏客户端通过IP以外的形式检测玩家的真实地理位置,开始我并没有报很大希望。可我实际搭建好测试时候发现效果出奇的好,游戏挂机一天也不再弹出任何出错信息。这是我第一次尝试搭建SSR,配合SSTap来实现游戏加速,所以计划记录一下这个过程,这样之后在此需要搭建加速器时候不需要再去查网上的资料了。

加速器是用的shadowsocks方案。官方的代码仓库由于不可控原因被清空了,现在网上的代码都是之前的备份或者是第三方维护的版本。SSR也是同样的命运。SS服务器端有Shadowsocks-Python, ShadowsocksR, Shadowsocks-Go, Shadowsocks-libev四个版本。用不同的语言来实现相同的功能,他们各有优略,一般常用的是Python和libev版本。通常来讲libev更省资源,而Python版本主打多用户。

开始我使用的是网络上的一键安装命令,确实挺好用的。我用的是 https://segmentfault.com/a/1190000015243145 帖子中的SSR方案。如果作为单用户,这个教程很适合的,我一次安装成功。其中大约需要两三小时编译一些包。我猜测这个版本用的是libev版本的代码。简单稳定,适合服务器就自己一个人用。其中账号可以多终端登陆,从另一个帖子我记得看到过是允许64台设备,没有求证这个数据得真假,可是我自己测试五六个终端同时登陆是没问题的。

由于有好几个同学,最好是给他们分配不同的账号,并且记录各自流量信息。所以刚才那个版本不再适用。

后来了解到有一个ss-panel的项目,可以和Python版本配合从而实现网页端管理加速器用户信息。这个项目有v2和v3 两个版本,其中v3超级强大,有在线支付功能,也就是说可以特别迅速搭建一个商业SSR节点的销售网站。可是我看了很多教程搭建过程就相比v2繁琐了很多,我用不到那些花里胡哨的功能,所以后来我选择了v2版本,通过这个教程搭建成功: https://teddysun.com/486.html/comment-page-1 

系统开始选用的是Ubuntu 16.04 LTS,没有用文中一键安装lamp,而是选择了手动装Apahce和MySQL,其中安装数据库时候没有让我输入默认密码,和之前的经验不太一样,所以改root的密码耽误了我一些时间。同时默认MySQL只能本机连接,想要外网连接需要在配置文件/etc/mysql/my.cnf中注释掉 bind-address 127.0.0.1 这一行然后重启MySQL。

当phpmyadmin能成功运行后,新建一个shadowsocks的用户并建立同名数据库以及赋予全部权限。这个数据库用来存SSR账户信息。

ss-panel项目地址:ss-panel 我们用的是v2版本。

本机以及服务器都下载一份,然后本机找到sql文件夹中的5个数据表,通过phpmyadmin导入到数据库中。并且将lib/config-sample.php 改名为config.php 并将里边的内容修改如下:

刚才那些表的意义可以从这里了解到: https://doub.io/ss-jc15/

还有一些设置根据需求修改,其中有很多有意思的配置。之后就可以登陆ss-panel后台了: ip/admin  默认账户是 默认密码是1993 看帖子V3版本由于加密方式不一样,密码可能不是这个。

这样前端就弄好了,根据那个帖子安装的后端也是很顺利,可是之后发现通过SSTap连接的时候UDP转发不能通过。网上查很多资料都说Python版本是默认支持UDP转发的,我的不成功很有可能是这个镜像并不是最终版本的代码。

在一个帖子中找到了一个相对新一些的版本解决了这个问题: https://github.com/ToyoDAdoubi/shadowsocksr (前几天还正常,就这一两天这个库就被删了?? https://github.com/WooSoftware/shadowsocksr-origin

克隆后会有shadowsocksr目录,其中根目录的是多用户版(即数据库版),子目录中的是单用户版。根据Github上边的介绍,执行一些初始化命令:

之后修改配置文件: vim usermysql.json

如果像我一样是个远程的数据库,那么这个账户需要是可以远程连接权限的。接下来配置加密方式,协议,混淆相关的信息: vim user-config.json 下边是我的设置,相对很基础,可以说没有用到SSR高级混淆特性,基本上就是SS的基础加密功能。

其中大部分也不用改保持默认就行,或者设置成像我一样。现在可以测试代理能不正常工作:python server.py 之后用SSTap建立连接,配置方式如下图:

点击保持并连接,不出意外的话就可以以代理服务器的IP上网了。这个版本作者给准备了一些脚本方便用户:

如果日志太大需要清理,可以通过这个命令清空:

最后一步我们需要设置开机启动:

vim /etc/rc.local 在 exit 0 前添加bash /root/shadowsocksr/logrun.sh

 

另一个后台运行以及开机启动的方法:

screen -dmS Shadowsocks python server.py

screen -dmS 用来创建一个处于断开模式的会话,Shadowsocks为session name。

screen -r Shadowsocks 可以恢复指定的会话,忘记了可以用screen -list来查看。

vi /etc/rc.local

编辑添加以下内容:

cd /root/shadowsocks/shadowsocks

screen -dmS Shadowsocks python server.py

另外关于流量定期清零可以参考这个帖子https://doub.io/ss-jc23/

到此游戏代理服务器搭建结束。我们可以通过那个Web端设置账户相关的信息,并通过SSTap连接到服务器进行游戏加速。他们测试效果还是很满意的。

 

 

网上的资源特别容易404,即使我就是想安安静静玩个游戏而已。。。于是我将这次搭建用到的所有工具在Github做了一个备份,以免之后我需要再一次配置游戏加速器找不到有效的资源。

https://shuspieler.com/blog/1072/

 


2018年11月30日更新

同学反馈在高峰期丢包率比较高,建议开启BBR。我使用的kdatacenter没有控制面板,就连硬重启或者重装系统都得联系客服,麻烦了很多。我之前使用的Ubuntu 16.04 LTS默认内核是4.4而开启BBR最低版本要求是4.9。起初我想升级内核版本,这我之前也有过相关经验,可是这家vps的虚拟机模式似乎对于升级内核不友好,我尝试自动或者手动升级都导致kernel panic。并且每次需要联系客服才能解决,麻烦得很。所以后来我决定将系统换成Ubuntu 18.04,刚才查看默认内核是4.15,所以就避开了升级内核这一步。之后的步骤就简单多了,下面的几步在termilal执行一下就可以:

写入配置文件:

保存配置文件:

输入以下命令以检查是否成功

若返回

则说明开启成功。

另外几个查询是否开启成功的方法:

结束。

 

 

 

 

 

Reference:

https://segmentfault.com/a/1190000015243145/
https://teddysun.com/486.html/comment-page-1/
https://blog.augustdoit.bid/Shadowsocks-Panel/
https://github.com/orvice/ss-panel/tree/v2/
https://blog.augustdoit.bid/Shadowsocks-Panel/
https://github.com/shadowsocksr-backup/shadowsocksr/
https://www.sockscap64.com/zh-hans/sstap/
https://doub.io/ss-jc15/
https://doub.io/dbrj-5/
https://doub.io/ss-jc33/
https://doub.io/ss-jc14/
https://doub.io/ss-jc13/
https://doub.io/ss-jc11/
https://www.cnblogs.com/Eason1024/p/8177665.html

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.