⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 checkversion

📁 传奇3源程序, 用vc开发的
💻
字号:
#!/usr/bin/perl

##########################################################################
# Athena梡僒乕僶乕僶乕僕儑儞強摼僣乕儖
#
# 丂婲摦拞偺Athena偺奺僒乕僶乕偵愙懕偟偰忣曬傪昞帵偡傞
#
#-------------------------------------------------------------------------
#   ./checkversion IP:port 偲偟偰巊梡偟傑偡
#   ./checkversion IP port 偱傕摦偒傑偡
#
# 丂惉岟偡傞偲僐乕僪侽偱廔椆偟傑偡
#
##########################################################################



$connecttimeout=10;	# 愙懕僞僀儉傾僂僩(昩)

#-------------------------------愝掕偙偙傑偱-----------------------------




use IO::Socket;

unless($ARGV[0]){
	print "USAGE: $0 server:port\n";
	exit(1);
}

$server=$ARGV[0];
$port=$ARGV[1];
$port=$1 if($server=~s/:(\d+)//);
$port||=6900;

# 僒乕僶乕偵愙懕偡傞
my($so,$er)=();
eval{
	$so=IO::Socket::INET->new(
		PeerAddr=> $server,
		PeerPort=> $port,
		Proto	=> "tcp",
		Timeout	=> $connecttimeout) or $er=1;
};
if($er || $@){
	print "Cant connect to server [$server:$port] !\n";
	exit(2);
}

# 忣曬梫媮
print $so pack("v",30000);
$so->flush();

# 強摼
if( read($so,$buf,10)<10 ){
	print "socket read error. not athena or too old version ?\n";
	exit(5);
}

# 愗抐梫媮
print $so pack("v",30002);
$so->flush();

# 僷働僢僩夝愅
my($ret,$maver,$miver,$rev,$dev,$mod,$type,$mdver)=unpack("v c6 v",$buf);

if($ret!=30001){
	print "server error. not athena or too old version ?\n";
	exit(6);
}

print "[$server:$port]\n";
printf "Athena %s-%d.%d", ("stable","dev")[$dev], $maver,$miver;
printf ".%d",$rev if $rev;
printf "%s%d\n",("","-mod")[$mod],$mdver;
my(@stype)=();
foreach $i(0..3){
	push @stype,(("login","char","inter","map")[$i]) if( $type & (1<<$i) );
}
print join("/",@stype)." server.\n";
exit(0);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -