Archive for 2006年9月29日


SC战网上的聊天室指令

□战网上的聊天室指令 >>>
其实可以用/help查询,先列出一些比较常用的好了。
/whois (+ID) 查目前这个玩家在干嘛
/stats (+ID) 查某玩家的资料料(主要是战绩及Disconnect记录)
/me (+字句) 显示的字体以黄色出现,比较醒目。
/ignore (+ID) 封人给讨厌的人一个大叉叉。
/time 显示当前时间
/whereis + name 显示此人所在频道
/whois + name 显示此人所在频道(与国际连通时可显示对方ip)
/who + game’s name 显示在此游戏中的人
/stats + name 显示此人的战绩
/away + 一句话 别人和你私聊时会出现这句话
/status 显示当前有多少人在战网
/team create + name 建立name组织 ( /team create + 你的名 + 你要建立的队名 )
/team info (+ID) 显示组织名单
/team list 显示所有已建队的队名
/team add + name 邀请某人加入
/team join + 组织名 加入组织
/team del + name 删除组织
/help team 显示所有team命令
/m或/w + name 和某人私聊
alt + q 退出星际
alt + n 复制人名
alt + v 可知道玩家join and left的状况。
/m 加对方的名字 加你想讲的话 (可以和正在里面玩游戏的人说话)

□战网命令 >>>

一、基本命令
/help 此命令用来得到当前所有可用命令的列表,与/help命令等效的命令
还有/help all。如果想得到某个可用命令的详细介绍,则可以使用/help [命
令名],例如用/help set命令就能得到set命令的使用方法。
/msg(等效命令有/m/w/whisper) 此命令用来向指定的用户发送消
息,用法为/msg [用户名] [消息内容]。例如用/msg hotfox Hello!将给用
hotfox发送一条消息,内容为Hello!。为简便起见,多用/w命令代替/msg
命令使用。
/stats 此命令用来查询指定玩家的战绩。用法是/stats [用户名]。附带说
一下,战网表示战绩的方法是用“-”符号相连的三个数字,例如2452,这表示24胜,5负,2次断线。
/assess 此命令用于估算当你与指定的玩家进行积分赛以后,你的积分的变
动情况。用法为/assess [用户名]。或者也可以使用/assess [游戏类型]
[用户名1] [用户名2]来估算两个用户在对战指定的游戏以后分数变化情况,
其中游戏类型可以是sexp(表示BroodWar《母巢之战》)或者StarCraft
表示《星际争霸》)。不过使用该命令的前提条件是用来估算的两个玩家必须
都有积分(Rating)。
/who 此命令主要用来得到当前服务器上玩家的状况。/who local命令可以
返回当前服务器上的所有玩家列表;/who games不但可以得到玩家列表,而且
在用户名后面都会注明该用户使用的游戏类型,例如[SEXP]表示该玩家用的BroodWar,[STAR]则表示他用的StarCraft;而/who [频道名称]可以得知该频道中目前有哪些玩家在线;/who [游戏名称]则可以知道在所指定的游戏中都有哪些玩家。
/whereis(等效命令有/whois) 这个命令用来查询某个玩家当前所处的位置(在哪个聊天室里面或者在哪个游戏里面)。用法很简单:/whereis [用户名]。
/watch 这个命令用于跟踪你所指定的用户,当他(他们)进入战网或者退出站网的时候,战网会自动发消息给你。同时当你进入战网的时候,战网也会自动告诉你watch列表中有哪些用户当前正在战网上。这条命令的用法是:
/watch [用户名]。而使用不加参数的/watch命令将会列出你的watch列表。
/unwatch 这个命令作用是用来从你的watch列表中去掉指定用户的。用法是/unwatch [用户名]。
/away 这个命令用来设置外出留言,用法是/away [外出信息]。例如/away for lunch,那么当任何人用/msg命令给你发送消息时,战网会自动回复他:xxx(你的用户名) is away for lunch。取消外出状态的方法是使用不带参数的/away命令。
/dnd 该命令用来设置自己成为“请勿打扰”(Do Not Disturb)状态,用
法是/dnd [请勿打扰信息]。例如/dnd Call him after 1:00p,那么当别人
/msg 命令给你发送消息时,战网会自动回复他:xxx(你的用户名) is currently in DND mode.Call him after 1:00p。取消DND状态的方法是使用不带参数的/dnd命令。
/ignore(等效命令有/squelsh) 该命令用来设定自己的讨厌者名单。用法为/ignore [用户名]。例如/ignore hotfox,这样hotfox就被加入到你的讨厌者名单中,他不论发送公开消息或用/msg发送私人消息,你都不会收到。同时你也不能发送消息给他。再使用一次/ignore hotfox将会把hotfox从你的讨厌者名单中去掉。而使用不带参数的/ignore命令则能用来查看自己的讨厌者名单。
/status 直接使用该命令即可得到当前战网服务器上的玩家数目,频道数目和游戏数目。
/time 直接使用该命令就可得到当前服务器时间。
/allops 直接用此命令得到当前正在战网上的管理员列表。
/commune 此命令用来向所有正在战网上的管理员发出求助信息。用法是/commune [求助信息]。

二、战队命令
  所有跟组队相关的命令都是/team命令的子项。想拉上几个志同道合的人成立一个战队的话,你就需要仔细看看下面这些命令了。当你真正掌握这些命令以后,人们可就要改称你为队长啦。:)
/team list 这条命令用来列出当前战网上注册的战队列表。
/team info 这条命令用来得到指定的战队或者战队成员的信息。用法为
/team info
[战队名]或者/team info [战队成员名]。如果直接使用/team info将会返回你自己所在战队的信息。
/team create 这条命令用来创建(注册)一个战队。用法为:/team create [战队简称] [战队名]。其中战队简称似乎没有任何用处,战队名就是所创建的战队名称。
/team leader命令(战队队长才能使用) 这条命令用来指定你的队伍中的某一个成员成为本队队长,同时自己丧失队长的权限。当使用/team create命令创建一个战队的时候,创建者自动成为队长。
/team add(战队队长才能使用) 这条命令用来邀请别人加入你的战队。使用方法是/team add [用户名]。只有对方收到邀请才能够使用/team join命令加入你的战队。
/team join 当收到某个战队队长的邀请(/team add命令)以后,你就可以使用/team join [战队名]加入到那个战队中去。加入以后你就成为该队队员。
/team del(战队队长才能使用) 从你的队伍中去掉某个队员或者取消以前发出的邀请。用法是/team del [用户名]。
/team seturl(战队队长才能使用) 设置你的战队的主页地址。用法为:
/team seturl [主页地址]。这个信息将会在/team info命令中显示出来。 /team setemail(战队队长才能使用) 设置你的战队的电子邮件地址。用法为:/team setemail [电子邮件地址]。这个信息也将会在/team info命令中显示出来。
/team setdesc(战队队长才能使用) 设置战队的描述信息。用法为:
/team setdesc [描述信息]。这个信息也是/team info命令中显示出的战队信息中的一项。
/teamgame 当你在某一个游戏的选择种族的时候,你可以使用/teamgame
命令。这时这个游戏就成为了TeamLadder-Game(战队积分赛),也就是不同战队之间进行积分赛。这时所有加入这个游戏的人必须都是某个战队的成员才行。

三、管理员命令
  如果你有幸成为某个战网的管理员,你就要学学下面的几个命令了。当你真正掌握这些命令以后,人们可就要改称你为网管啦。:)
/admin 使用/admin [远程管理密码]这个命令以后,你会发现你的用户名前面的图标变了,成了一个大喇叭,这时你就可以使用管理员的命令了。再使用一次/admin [远程管理密码]你就又恢复成普通用户身份。这个管理员密码就是在设置FSGS战网服务器时设定的密码。
/kick 这个命令我不说恐怕你也知道,就是踢人啦。只要你用kick [用户名]
,这个指定的用户就“嗖”的一声从服务器上消失了。
/ban 这个命令就更厉害了,除了将指定的用户踢出服务器以外,还会禁止该用户再次进入服务器。使用方法是/ban [用户名]。
/announce 这个命令用来进行战网广播。用法是/announce [广播消息]
。利用这个命令可以同时对战网上的所有人发送信息。
/setmotd 这个命令用来设置MOTDMessage of The Day)信息,也就是当每一个用户刚一进入战网服务器就能看到的那个青色的信息。用法是/setmotd [MOTD信息]。

  1.linux安装
  安装过程就不多说了。需要注意的是安装时,如果机群不与外界联网则可以不考虑安全方面的因素而把rsh选为可信赖的服务,注意安装相应的软件包;如果还要与外界保持联网,出于安全需要应把ssh选为可信赖的服务。安装以后,应该保证各节点之间能够用ssh相互登录。每个节点的sshd都应该能正常提供服务。主机名:node1…noden (我所构建的系统n=2)

  2.创建NFS服务
  在服务器节点public目录下建立mpi目录,并将其配置成NFS服务器,在/etc/exports文
  件中加入一行:
  /public/mpi node1(rw) node2(rw)
  在客户端节点的/etc/fstab文件中增加一行:
  sever :/pubilc/mpi nfs rw , bg , soft 0 0
  将/public/mpi这个目录从服务器节点输出,并装载在各客户端,从而便于在各节点间分发任务

  3.修改/etc/hosts文件,将所有节点名称极其ip地址填入。例如:
  127.0.0.1 localhost.localdomain localhost
  192.168.1.1 node1
  192.168.1.2 node2
  …………………….
  每个节点都进行类似的配置。这样做的目的是使节点之间能够通过node1 … noden的名称相互访问。你可以通过ping noden 或 ssh noden进行测试。

  4.修改(或创建)/etc/hosts.equiv文件
  将所有你允许访问本机进行mpi计算的机器名填入,一行一个机器名。这一步是为了使节点对其它的节点放权。
  例如,我的node1是我用于启动mpi集群计算的机器,其他的节点是参与计算者,在node1的/etc/hosts.equiv文件是这样的:
  node1 #给自己放权,这样在只有一台机器时也可以模拟并行计算环境
  node2
  …..
  noden
  在node2…noden的/etc/hosts.equiv文件:
  node1 #对node1放权
  node2
  ……
  noden

  5.修改~/.bash_profile文件
  首先决定一个用于启动集群计算的用户名,不提倡使用root进行集群计算。这里在每个节点上建立新用户chief,他们的主目录都是/home/chief,必须采用同样的密码,将来的计算程序必须放在相同的路径上。譬如你的程序为:fpi.f和a.out,则必须把a.out放在同样的路境内,比如~/mpirun/a.out,每个节点都是如此。修改~/.bash_profile文件,主要是加入下列几行脚本:
  export PATH=$PATH:/usr/local/mpich/bin
  export MPI_USEP4SSPORT=yes
  export MPI_P4SSPORT=22
  export P4_RSHCOMMAND=rsh 或ssh
  这里我们预定了将来mpich的运行环境安装在目录/usr/local/mpich下面。其余的三个变量是用来通知mpi运行环境采用rsh(或ssh)来作为远程shell。linux的运行环境到此就配置完毕了。

  6.配置rsh 或ssh
  对于采用rsh来作为远程shell运行MPI的用户只要保证在各个节点上都具有相同的用户,并把这一用户的密码设为空密码就可以运行了。
  若采用ssh作为远程shell则按如下配置:以你设定的用于启动mpi计算的用户登录,运行
  ssh-keygen,这将生成一个私有/公开密钥对,分别存放在~/.ssh/identity和~/.ssh/i
  dentity.pub文件内。然后进行访问授权,运行:
  cp ~/.ssh/identity.pub ~/.ssh/authorized_keys
  chmod go-rwx ~/.ssh/authorized_keys
  ssh-agent $SHELL
  ssh-add
  在每个节点重复一遍。试着在某一节点上登录其它节点,ssh noden,则在.ssh/下生成一个known_hosts2文件,里面放着访问该主机的密钥,把所有密钥收集起来,在各个节点上作同样的拷贝。这样做的目的是使各节点相互之间访问无需输入密码。

  7.开启各项必需的服务
  如果是以根用户root 登陆系统的则可以用ntsysv命令启动ntsysv实用程序。ntsysv 实用程序允许使用简单的菜单界面启动或关闭各种运行等级的服务。在其中我们选择开启rsh ,rlogin,telnet等。也可以关闭一些服务以加快启动速度如sendmail。
  如果是使用su命令转为root用户的则很可能运行ntsysv并不出现ntsysvs实用程序。此时可以直接去修改/etc/xinetd.d下的rlogin, rsh ,telenet的设置。用vi编辑器打开xin
  etd.d:
  vi /etc/xinetd.d
  则可看到如下所示的配置文件:

  关于rsh的设置如下
  # default: off
  # description: The rshd server is the server for the rcmd(3) routine and,
  # consequently, for the rsh(1) program. The server provides
  # remote execution facilities with authentication based on
  # privileged port numbers from trusted hosts.
  service shell
  {
  disable = yes
  socket_type = stream
  wait = no
  user = root
  log_on_success += USERID
  log_on_failure += USERID
  server = /usr/sbin/in.rshd
  }

  关于rlogin的设置如下
  # default: off
  # description: rlogind is the server for the rlogin(1) program. The server
  
  # provides a remote login facility with authentication based on
  # privileged port numbers from trusted hosts.
  service login
  {
  disable = yes
  socket_type = stream
  wait = no
  user = root
  log_on_success += USERID
  log_on_failure += USERID
  server = /usr/sbin/in.rlogind
  }

  关于telnet的设置如下
  # default: off
  # description: The telnet server serves telnet sessions; it uses
  # unencrypted username/password pairs for authentication.
  service telnet
  {
  disable = yes
  flags = REUSE
  socket_type = stream
  wait = no
  user = root
  server = /usr/sbin/in.telnetd
  log_on_failure += USERID
  }
  所有这些服务在安装完系统之后都是默认为禁用的,要进行修改来打开这些服务。如要通过修改启动telenet则就需要改disable = yes为disable = no。对于其他的服务的启动的修改与之相同。若启动这些服务则只需要简单执行:
  #/etc/rc.d/init.d/xinetd restart
  或重起计算机就可以使所作的更改生效。

  在服务器节点编译、安装Fortran90编译器
  先将Fortran90(我用的是Intel的)编译器拷贝至/tmp下,然后用tar xvfz fortran90
  .tar.gzj解压缩。运行./install
  选择你所要安装的类型,如果你的机器是基于IA-32,就选择1。如果你的机器是基于It anium(TM)-based system就选择2。如果要停止安装,就选择X。选择过之后安回车进入下一步,此时会要求你选择 :
  1. Intel(R) Fortran Complier for 32-bit Applications,Version 6.0 build 02031
  2Z
  2. 2.Linux Applicationdebugger for 32-bit Applications,Version 6.0 buid 2002
  0
  x. Exit
  按顺序选择1,2 。最后选择X 完成安装并退出。在选择完1之后会要求你看版权声明,输入Accept继续安装。默认的安装路径为/opt/intel,选择默认路径按Enter继续。选2之后的情形与1相同。如果不注册可以用90天。

   在服务器节点编译、安装mpich 1.2.3
  将mpich 1.2.4:ftp://ftp.mcs.anl.gov/pub/mpi/mpich.tar.gz拷贝到一个临时目录下,放在/tmp下了。用root用户登录进行编译安装。
  1. 对mpich的安装进行预处理:
  首先,用tar xvfz mpich.tar.gz解压。生成mpich-1.2.3目录。切换到mpich-1.2.3目录。运行预处理:
  ./configure –prefix=/usr/local/mpi –对应于用rsh进行远程登录的系统
  ./configure –prefix=/usr/local/mpi -rsh=ssh –对应于用ssh进行远程登录的系统
  这里我们通知编译系统mpich的安装位置为/usr/local/mpich,运行环境的远程shell为rsh或ssh。
  2.编译:
  make
  运行此命令后mpich软件包会自动编译形成MPI系统的函数库,需要数分钟的时间,根据不同的机器可以略有不同。
  3.安装:
  make install
  运行此命令可以将MPI软件包安装到由./configure –prefix选项指定MPICH安装目录即/usr/local/mpi
  修改文件/usr/local/mpi/share/util/machines/machines.LINUX。如下:
  node1
  ndoe2
  ……
  ndoen
  这一步是通知mpich运行环境都有那些节点可供集群计算。每个节点都这样输入一遍。
  4.测试安装是否正确
  在/usr/local/mpi/examples/basics下编译cpi.c:
  make cpi
  用命令行:
  ../../bin/mpirun -np 2 cp
  运行。将会获得如下信息。
  Processes 0 on node1
  Processes 1 on node2
  ……..………………..
  如果能正常运行即证明mpich软件包安装完全成功。