在Linux上安装和运行BF2服务器

BF2 V1.5补丁放出,就想乘机架设几台服务器起来。Windows版的BF2服务器架设、管理什么的已经是轻车熟路。但是由于Windows Server 2003不能识别超过4G的内存,还有其他性能、安全方面的原因(其实服务器我挺不熟悉的)。就想尝试在Linux服务器上架设BF2服务器。不过对于Linux我更不熟,因此在安装过程中遇到几个问题,耗费了不少时间,最终还是解决了。

下载后上传至Linux服务器,第一次安装,服务器版本是RedHat 4 企业版。

在BF2服务器linux版安装文件(从上述地址下载到的文件名是bf2linux.sh)运行以下命令:

sh  bf2linux.sh

完毕后会有一个检测的过程。检测完后分别会要求阅读和接受BF2服务器linux版以及PunkBuster的安装协议,到了协议结尾分别输入accept和yes接受即可。

然后需要指定安装路径。输入一个存在的路径即可。程序会自动在制定路径下生成一个名为bf2的文件夹。

安装完毕进入安装目录。运行

./start.sh

提示:

/opt/bf2/bin/ia-32/bf2: error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory

找不到需要的C++库。去网上找到方法,将libstdc++.so.5上传至/usr/lib/目录下。再次运行./start.sh
提示:

/opt/bf2/bin/ia-32/bf2: /lib/tls/i686/libc.so.6: version `GLIBC_2.4′ not found (required by /opt/bf2/bin/ia-32/bf2)
/opt/bf2/bin/ia-32/bf2: /lib/tls/i686/libc.so.6: version `GLIBC_2.4′ not found (required by /opt/bf2/bin/ia-32/libdice_py.so)

GUN的C库找不到。这是浪费我很多时间的一个问题。花了一个下午也没弄出来,根据网上说的方法,去找RPM包安装什么的,都因为库版本冲突而失败,甚至还把一台机器的Linux搞崩溃了。最终迫于时间,只好重装成Windows Server 2003来运行。一个残念。

后来最终解决了这个问题。根本方法就是借助yum来升级Glibc。

一般的机器都会装了yum,如果键入yum提示没有此命令,则请去搜索如何安装yum。Yum的升级和更新源也需要配置。文末给出这些已经写好的yum源配置文件。

运行如下命令:

yum update glibc。
升级就会自动开始,期间,可能需要输入几次yes来确认更新源是否正确。

升级完毕后再次进入BF2服务器Linux版安装目录,运行./start.sh。成功启动。

至于BF2服务器Linux版的控制问题,尚待研究。貌似不能用BF2CC之类的来控制。

可惜这时候我负责的服务器已经全部用Windows平台了……。那么,我负责的BF2 1.5服务器及其模组服务器如下:

Battlefield2(BF2,战地风云2):124.232.131.67(目前是空战特色服务器,无限载具)
Forgotten Hope 2.2 (FH2.2,失落的希望2.2):124.232.131.66
Project Reality(PR,真实战场):220.168.249.144

最后是yum升级和安装源,将这些文件下载后上传到/etc/yum.repos.d目录,有覆盖提示则直接覆盖即可

dag.repo
CentOS-Media.repo
CentOS-Base.repo.rpmnew
CentOS-Base.repo

本文要用到的相关文件全部在安科网的3号FTP服务器里,下载地址方法见 http://www.linuxidc.net/thread-1187-1-1.html