Author:zumikua Updated at:2014-02-25 09:24:25 UTC
最近投奔了ArchLinux的怀抱,wiki这种东西真是美好啊,尤其是对于我这种一点也不相信社区的人来说(等下wiki不也是社区写的么)。
说实在的我个人认为与其多少大牛蹲在一个论坛里每天帮新手回答问题不如写一篇像archlinux的那个beginners' Guide来的更方便。毕竟大牛是有限的,而问题是无穷的,把有限的大牛投入到无限的问题中去,大牛们都不是雷锋,或者说他们不能永远是雷锋。而且还有像我这样的急性子完全没耐心去社区等大牛回复的人存在。
能搞定ArchLinux的安装的确让人受益匪浅,比如我为了安archlinux就把zdcclient断线问题解决了……同时还附带学会了怎么用fdisk分区以及linux的“一切皆文件”的哲学。我个人觉得比那些安装比windows还方便的某些发行版好太多。
说起来zdcclient的修复也很有意思,本来因为游戏玩腻了想去Ubuntu研究一下到底是哪里出了问题,结果手贱去更新了那五百多个包,再然后就没有然后了,unity崩溃,重启后登陆只能对着一片白屏幕,正好我本来就因为ubuntu的软件源各种坑爹而蛋痛,这次索性就换了archlinux。
然后在windows下用wireshark抓包,大概搞清楚包结构之后checkout下来zdcclient的源码然后开始在windows下修改。修改完了再放到archlinux里编译。(这时候我还没装图形界面)某种意义上来说还真是大胆,在archlinux里没法抓包(tcpdump很难用啊),一旦逻辑上出错很难改,那样的话还得回到windows下面……不过我运气很好,一次就通过了(除去一些语法错误以及低级逻辑错误以外)。说起来编译完以后一下就成功运行这种感觉好像从我开始学OI到最近学ACM(虽然半途而废了)还是第一次。C语言我还是能写一点的嘛。
说起来在抓包的过程中发现ruby干这种事情不是一般的方便啊,标准库自带md5,数据可以用数组pack,下次有心情写个ruby版的zdcclient好了。
说起来改写zdcclient才用了不到半天的时间,但是自从zdcclient停止更新到现在快4年的时间没有一个人修复这个问题(或者说修复了没外传?),虽然也有我们应该算是第一届住进桂园(武大只有桂园是神州数码验证)的计院学生的原因,但是四年没有一个人遇到这个问题还真是让人觉得不可思议啊,这里可是大学,而且还是所“985大学”欸?连上网客户端都得让一个外校的大牛(Pentie大牛,他的文章在改写zdcclient方面给了我非常大的帮助)写?真的没问题么?
----
Update
其实是有修复的,在fork到了github上的那个版本已经修复了这个问题……当初的我怎么就那么傻逼没想到去试试这个比较新的版本呢……