elona 聊天服务器建立方法

本文教你搭建elona聊天服务器,从客户端到服务器端都有。
 

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 睇到。

《elona 聊天服务器建立方法》有1个评分

★★★★★
★★★★
★★★
★★
1
0
0
0
0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注