tintin++配无线路由,玩玩“情怀”吼不吼啊?
本帖最后由 fccd 于 2017-7-16 04:16 AM 编辑家里的无线路由常常24小时开机,十天半月都不关的,现在挂挂打坐、吐纳、领悟、练习啥的,以后玩玩情怀,好像有搞头啊。作为小白,狠狠捣鼓了两天,未来还要继续折腾,就记在这里,免得下次忘了,呵呵呵呵。
0、硬件准备:windows pc一台,可以刷openwrt的无线路由一台(官方支持硬件列表在此https://wiki.openwrt.org/toh/start,其实国内常见的智能路由器像新路由、极路由、小米路由都是可以的)
1、下载64位linux和虚拟机(ubuntu和VMwear player就行,linux必须64位,否则没法用openwrt官方的SDK工具)。
2、在虚拟机上装完linux后,把编译环境准备一下
sudo apt-get install build-essential
sudo apt-get install zlib1g-devel (也许有些版本的linux的zlib的后缀不同,可以apt-get update后再apt-cache search ^zlib一下看看)
sudo apt-get install libpcre++-dev
3、下载tintin++源码并编译
wget http://downloads.sourceforge.net/tintin/tintin-2.01.1.tar.gz (此处可能要科学上网)
tar -zxvf tintin-2.01.1.tar.gz
cd /tt/src
./configure
sudo make install
4、试试看输入tt++,能用就小功告成25%了,但这只是pc上可用的tintin++,还要继续努力才能弄到路由器上用。
5、windows上下载openwrt固件,列表是https://downloads.openwrt.org/chaos_calmer/15.05/,可以根据上面第0步的硬件列表找到自己的无线路由对应的固件。例如新路由是这个https://downloads.openwrt.org/ch ... shfs-sysupgrade.bin
6、下载完后刷机,还是以新路由为例,插上电源后按住后面的reset按钮10秒,再用windows的浏览器访问192.168.1.1,按提示上传固件刷机。等重新启动后进入openwrt的初始页,设置好root密码并能上外网就ok,这方面的资料网上挺多,可以事先查查,心中有数。
7、现在用linux访问路由器,ssh root@192.168.1.1 看能否正常登录,到这里就小功告成50%了
8、下载openwrt的SDK,同一型号的cpu一般是通用的,例如https://downloads.openwrt.org/ch ... inux-x86_64.tar.bz2
9、解压缩后,设置2个环境变量
export PATH=$PATH:$HOME/OpenWrt-SDK-15.05-ramips-mt7620_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/bin
export STAGING_DIR=$HOME/OpenWrt-SDK-15.05-ramips-mt7620_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/staging_dir
10、到这里,交叉编译环境的雏形就有了,先测试一下编译个hello world看看行不行
输入一个hello.c
#include <stdio.h>
int main()
{
printf("Hello, world!\n");
return 0;
}
编译一把 mipsel-openwrt-linux-uclibc-gcc hello.c -o hello
生成hello就是执行文件,用scp hello root@192.168.1.1: (最后这个冒号不能省略) 传到路由器上
登录到路由器上,执行./hello能输出Hello, world!就说明交叉编译初步完成。到此处小功告成80%
11、接下来是有点小麻烦的20%,tintin++要用到2个额外的库,要自己编译。
1> zlib,上面第2步install的那个zlib是给电脑用的zlib,俺们得编译出给路由器用的zlib才行
下载wget http://downloads.sourceforge.net ... 8/zlib-1.2.8.tar.gz
解压缩 tar -zxvf zlib-1.2.8.tar.gz
export CC=mipsel-openwrt-linux-uclibc-gcc
./configure --prefix=$HOME/zlib
make
make install
2> pcre
下载 wget ftp://ftp.csx.cam.ac.uk/pub/soft ... e/pcre-8.39.tar.bz2
解压缩 tar -jxvf pcre-8.39.tar.bz2
./configure --prefix=$HOME/pcre --host=mipsel-openwrt-linux-uclibc
make
make install
12、再准备编译正主tintin++
cd /tt/src
1> 修改config.h
把 #define HAVE_REALLOC 0 这一行的最后一个0改成1
把 #define realloc rpl_realloc 这一行删除
2> ./configure --host=mipsel-openwrt-linux-uclibc CFLAGS="-I $HOME/zlib/include -I $HOME/pcre/include" CPPFLAGS="-I $HOME/zlib/include -I $HOME/pcre/include" LDFLAGS="-L $HOME/zlib/lib -L $HOME/pcre/lib"
到这里会自动产生一个Makefile文件,由于tintin++的作者似乎没考虑到交叉编译的问题,所以还要手工修改Makefile
"#this is the standard CFLAGS"开头的行之下,加2行:
CFLAGS = -I /home/root/zlib/include -I /home/root/pcre/include
CPPFLAGS = -I /home/root/zlib/include -I /home/root/pcre/include
"LIBS"开头的这一行最后加几个字" -lgcc_eh -static"
13、编译、上传、小功告成。
make
scp tt++ root@192.168.1.1:
14、下载其它工具
下载 windows 的ssh客户端 putty https://the.earth.li/~sgtatham/putty/latest/x86/putty.exe
还有 windows 的ssh传输文件工具 pscp https://the.earth.li/~sgtatham/putty/latest/x86/pscp.exe
路由器上通过浏览器安装screen 进入菜单 system-Software下Available packages找到screen这个软件,install 之。
15、putty用来登录路由器,主要设置2个地方
1> 字体选用中文GB2312的,字体质量设为true type
2> Remote character set设置为“Use font encoding"
16、pscp.exe是windows版的scp,用来传输文件,例如pscp -scp dazuo.tt root@192.168.1.1:
18、screen用来挂机
1> 用putty登录路由器后,先进入screen,再用./tt++进入游戏,挂好了之后先按ctl+a然后按d暂离screen,再exit退出putty。
2> 下次用putty登入,用screen -r 回到之前挂机的页面。
19、就算afk了,也可以用无线路由当npc挂机吧,无线路由本身就很便宜,电费也几乎可以忽略不计,反正俺已经想好了,未来就像牛肉面师兄那样假冒npc,传递正能量了。
不必追求高效练功,用无线路由挂tintin++的好处是降低了玩情怀的成本(不用额外付出什么代价就能成年累月活在mud里,不耗电也不用忍受电脑的风扇声和led灯光),试着去体验金庸武侠世界的情怀。
================================== 扯完技术扯情怀的分割线================================
“情怀”这2个字,只能用在小众身上,现在玩mud的人少,正是玩情怀的好时机。感觉北侠还是挺有情怀的,一代高人,就算肉身离开了,一丝魂魄还可以留在这个世界里,有的成了武庙二楼的npc、有的是聊天室的npc、还有的满世界回收物品。还有热心玩家自己挂机留在mud里,helpme find也好、陪李莫愁也好、免费治疗也好,都挺有情怀的。俺武功还很差,但先厚着脸皮意淫起来:
1、那天,游方和尚又问俺“找到亲戚了吗”,这一回,俺放下手头的一切,马不停蹄赶到长安,和尚终于告诉亲戚是康王府佛堂的仆人,俺兴冲冲赶到康王府,新人么,很容易就走进了与佛堂只有一墙之隔的康王府书房,3个侍卫二话不说就把俺秒了。唉...京城的官兵就是这么横啊 ,以后武艺大成了就挂在这里吧。
2、后来,护新手镖到岳王庙,好好地推着车,谁知那“盗墓高手”见了红货就动了杀机。唉...以后武艺大成了就挂在这里吧。
3、最初的号是丐帮的,做完了扬州城的打探任务,鲁长老的第一个任务就让俺去风波亭找秦桧聊聊,“大内高手”守在门前,唉...以后武艺大成了就挂在这里吧。
4、死几次也没啥,都可以弥补回来,作为新人,俺最怕的是错过了洗澡,嗯,以后就挂自己家里吧,有新人没钱买房又要洗澡的,chat一下,俺就invite.
未来、还有无数的黑白无常和无数次的"唉...以后武艺大成了就挂在这里吧"
当然,还可以更入戏一些:
1、萧峰自杀身亡,阿朱托付给他的未竟事业由俺来完成:守护小姨子,俺就挂在阿紫这里,有人来做门忠fight也就罢了,下kill的,俺就和他拼命,打不过也好、自己被杀也好,尽我所能、鞠躬尽瘁而已。
2、岳灵珊小师妹,即不挡路还给新手任务,做为华山派弟子,守护小师妹也是应该的。
3、襄阳,与郭大侠一起抗击蒙古,至死方休,侠之大者,为国为民。
......
每个人心中的江湖都不一样,实现各自的情怀也不错哈。
如果天神大大给予一点政策倾斜的话,就像“休闲玩家”那样给出一个“情怀玩家”的身份,那还可尝试更多的情怀,举个例子先:
俺们华山派的紫霞神功最高的师傅是200级,似乎略低了一点,新人修炼起来很费潜能,等俺武艺大成了,就挂在思过崖,华山弟子可以向俺这个华山前辈xue紫霞神功,最高可以学到俺紫霞神功/3的等级。
这样,不至于太影响平衡,且为了本门的发展壮大,各位师兄们也更有动力努力修炼了,想afk时师弟师妹们也不是乐呵乐呵的要遗产了,而是要转情怀!转情怀!万一对系统平衡有影响,也可以提高“情怀玩家”的门槛嘛,例如必须纯门派、传授时俺自己也会耗精耗气啥的。
嗯,“情怀”还是有搞头的吧?而且这和北侠的风格比较搭,俺们玩的不是一个游戏,俺们是在体验另一个世界。又想起一部片子《人工智能》,DVD封面上印着一句话:His love is real , but he is not.异曲同工啊,情怀是真的,即便这个世界并不是。
=============================半年之后========================================
openwrt官方的固件用了半年,正如高手所说,openwrt的开源无线驱动有坑,信号不佳,无奈刷回newifi原厂固件1.6.13.20 (1.x的最后一个版本,稳定第一,不折腾2.x和3.x了)
再做一些小改动:
1、开启原厂固件的telnet
原厂固件的web设置页面地址类似这样http://192.168.99.1/cgi-bin/luci/;stok=b7ad03efd58765371937583776eab8473/admin/wifi_home
把最后的"wifi_home"替换成"system/startup"可以进入“本地启动脚本”编辑页面,在"exit 0"前一行加入"busybox telnetd -p 23",提交,重启路由器。
2、下载挂机用screen
直接下载https://downloads.openwrt.org/ba ... -2_ramips_24kec.ipk,用7z直接解压缩.ipk文件,压缩了好几层,解好几次才可以得到330k左右大的screen
3、开启ftp服务
telnet 上路由器,用户root,密码即wifi接入密码,再运行pure-ftpd便可
#pure-ftpd
4、ftp至路由器,上传tt++和screen以及tt机器人
ftp> bin
ftp> cd /tmp
ftp> put tt++
ftp> put screen
ftp> put fullSkill.tt
5、ctrl+c退出pure-ftpd,再运行上传的tt
#chmod +x /tmp/tt++ /tmp/screen
#/tmp/screen
#/tmp/tt++
又能愉快地挂机fullskill了。
有些同学已有光猫或主路由,这个小路由插上网线就扔在阁楼的角落里。那么可以再修改防火墙以便从主路由访问
还是用telnet登录,修改防火墙配置
1、web管理界面
uci add firewall rule
uci set firewall.@rule.name=LuCI
uci set firewall.@rule.src=wan
uci set firewall.@rule.proto=tcp
uci set firewall.@rule.dest_port=80
uci set firewall.@rule.target=ACCEPT
uci commit
2、telnet
uci add firewall rule
uci set firewall.@rule.name=telnet
uci set firewall.@rule.src=wan
uci set firewall.@rule.proto=tcp
uci set firewall.@rule.dest_port=23
uci set firewall.@rule.target=ACCEPT
uci commit
3、ftp
uci add firewall rule
uci set firewall.@rule.name=ftp
uci set firewall.@rule.src=wan
uci set firewall.@rule.proto=tcp
uci set firewall.@rule.dest_port=21
uci set firewall.@rule.target=ACCEPT
uci commit
最后重启一下防火墙
/etc/init.d/firewall restart
=============================又过了2个月=============================================
newifi 1.6.x版固件好像不支持upnp,近期b站的美剧、日剧都挂了,又要重回bt下载的日子,升至最新固件3.2,升完只需做2件小事
1、先开启ssh,只需浏览器访问一次 http://192.168.99.1/newifi/ifiwen_hss.html
2、ssh进入后看看top,有个newifi-alink不知发什么疯,cpu占用99%,kill 之
好了,其它一切照旧,wifi、迅雷、mud都不误。 沙发~~好贴
话说路由器可以一边挂mud一边当普通路由用吗? 回复 2# hypnos
不知道跑大型机器人会不会造成路由器系统资源占用太高,挂挂领悟、打坐这些的,没问题,路由器的标准功能毫无影响。 哇,欢迎欢迎。
不过这个感觉好高端的样子。没点基础弄不来。 回复 3# fccd
tt+是否会有临时文件?如果有,日积月累,路由器那点存储空间怕不够。 本帖最后由 fccd 于 2016-8-5 03:46 AM 编辑
回复 4# nrm
就是编译麻烦一点,其它如:刷机、设置openwrt、用tintin++,网上都有教程,学习成本也就和咱们手动做某个门派的新手任务差不多吧,反正是没有丐帮的新手任务难度大。
附件是编译好的tintin++,适用于主芯片是mt7620的无线路由,这款芯片国内用得很多,以jd售价99的newifi为例,580M主频+128M内存+16M flash,俺在练功室挂了一个领悟,在其它师兄满屏的"xxx一凝神,精神好多了"之下,系统显示tt++内存占用2%,cpu占用0%,总内存还有98M空闲,总cpu占用基本在0%~2%之间,flash空间剩余87%(10.89M),系统资源绰绰有余。 本帖最后由 fccd 于 2016-8-3 02:10 AM 编辑
回复 5# maliyu
俺用了静态编译、不需要动态库、也不产生临时文件,环保无污染。 回复 6# fccd
不错不错~俺回头也试试家里的小米路由。加个精,期待更多精彩内容。
附件的事儿不知,换个浏览器试试。 回复 8# hypnos
开心地编译成功,开心地上传成功,咦,网络怎么断了?啊,难道变砖了?flee 想法和思路不错,不过我倒是认为不适合普通玩家。
原因很简单:路由器的硬件配置并不高。运算量和内存开销可能会直接当掉中低端路由。而高端路由么,公司的路由器肯定不会让随便刷,自己买个高端路由倒是可以试试
话说谁支援我个高端思科玩?{:7_278:}