elona的聊天包含普通聊天同死亡信息。
从elona原版到各种MOD都系度用官方的服务器,唔知仲有冇人记得3DM的汉化导致日本玩家看大量乱码果件事。
最近elonaplus的汉化同样要面对呢个问题,删咗网络功能静系选择咗自建服务器,答案自然是后者。
先讲下前提条件,本文假设你已经识HSP、CGI编程,反编译,有个支持PERL网站空间和相关网络经验,所以唔会有任何基础同点解要咁的讲解,而且本文只讲相应的关键点。
唔废话了,开始。
一,elona 客户端修改
1,start.hsp
搜索“net_read 4”,得一处,注释掉。
再向下睇7行,“dialog "" + var_1057”,同样注释掉。
2,server.txt
将
noaneko.squares.net%elona.squares.net%
修改为
aaa.bbb.com%elona.squares.net%
第一个是聊天,第二个是投票。
要注意客户端内读的网址是加www的,即 www.aaa.bbb.com
二,服务器端配置
聊天程序是使用“WebTalk v1.6”
应用路径是 http://www.aaa.bbb.com/cgi-bin/wtalk/wtalk.cgi,程序同文件的权限、其它设置自己解决。
1,init.cgi
$logfile = "../../log.txt";
$max = 30;
2,wtalk2.cgi
要修改两个函数,自己参考我下边改的。
sub regist {
...
...
...
$i=0;
$match=0;
@temp=();
$besti=1;
foreach (@lines) {
chop($_);
if ($match) { $i++; push(@temp,"$_\n"); }
elsif ($_ eq '<!--START-->') { $match=1; }
if ($i > $max-2 || $_ eq '<!--END-->') { last; }
if ( 0 == $i ) {
($thisi, $nouse) = split(/<C>/, $_);
if ( $thisi > $besti ) { $besti = $thisi; }
}
}
sub renew_log {
open(OUT,">$logfile") || &error("Write Error : $logfile");
#print OUT "<html><head>\n";
#print OUT "<STYLE TYPE=\"text/css\"><!-- body,tr,td,th{font-size:$b_size} --></STYLE>\n";
#print OUT "<META HTTP-EQUIV=\"Pragma\" CONTENT=\"no-cache\">\n";
#print OUT "<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=zh-CN\">\n";
#print OUT "<META HTTP-EQUIV=\"refresh\" CONTENT=\"$resec; URL=$chat_log\"></head>\n$body\n";
# 参加者表示
#print OUT "参加者($num):$member<hr>\n<!--START-->\n";
$newbest = $besti+1;
print OUT "$newbest<C>\n<!--START-->\n";
# 発言本文
#print OUT "<font color=\"$color\"><B>$n_name</B> > $in{'comment'}</font> <small>($date)</small><!--$host--><!--$date--><hr>\n";
$tempdate = sprintf("%s\/%02d(%02d)",$mon+1,$mday,$hour);
print OUT "$besti%$tempdate%$in{'comment'}%$ENV{'REMOTE_ADDR'}%\n";
print OUT @temp;
# 著作権表示:削除禁止
#print OUT "<!--END-->\n<!-- $ver --><center><small><a href='http://www.kent-web.com/' target='_top'>WebTalk</a></small></center>\n</body>\n</html>\n";
print OUT "<!--END-->\n<!-- $ver --><center><small><a href=\"http://www.kent-web.com/\" target='_top'>Web TALK</a></small></center>";
close(OUT);
}
3,网站根目录
新建一个空的log.txt
可以被读取 http://www.aaa.bbb.com/log.txt
4,针对英文版
由于做汉化的话应该冇人去玩英文的了,你想完美的话可以复制一份,再改下。
http://www.aaa.bbb.com/cgi-bin/wtalken/
$logfile = "../../logen.txt";
http://www.aaa.bbb.com/logen.txt
或者费事烦用SFTP登陆做两个SSH的连接,一个目录连接和log文件的连接。
三,测试
请先自行保证服务端程序能正常运行。
运行重新编译过的elona主程序,按“TAB”键打开聊天,输入聊天内容(你钟意去送死都得的),之后可以直接系 http://www.aaa.bbb.com/log.txt 睇到。