处女作还是献给钟爱的 Call of Duty: Modern Warfare 2。
cod6的游戏服务器运行在windows下,但是也可以用wine在Linux下跑,优点:
- 省钱
- 省钱
- 省钱
1核CPU、512M内存的最低配阿里云ECS,可以无压运行一个游戏服,32块/月。然而这种配置单跑windows系统都是impossible。
当然你需要有一点点Linux基础,如果不懂还想折腾就去翻一翻《鸟哥的Linux私房菜》前几章就足够了。
你还需要先懂得如何在windows下搭建cod6的服务器,如果也不懂,去看逗比41的帖子:http://bbs.3dmgame.com/thread-4389344-1-1.html
以下方法只在Ubuntu 14.04 32位下测试通过,其他Linux发行版或64位Ubuntu测试未成功,没深究原因。
全部操作过程的SecureCRT打屏在这:securecrt_output.txt
下面贴一下主要的步骤和命令:
购买云主机
配置选择
当然可以选别人家的云主机,也可以自己装一个虚拟机来尝试。
-
CPU: 1核
-
内存:512M
-
网络:按使用流量付费(没人玩的时候不扣钱,有人玩每小时也就几分钱)
-
带宽:随意
-
系统:Ubuntu 14.04 32位
上述阿里云ECS最低配只够启一个服,如果要开两个服,需要加到1GB内存,其他不需要升级。
连接云主机
SecureCRT,不会百度google。
安装依赖软件包
基础软件包
apt-get update
apt-get install wine vnc4server fluxbox screen wget
wget http://kegel.com/wine/winetricks
有几处需要手动确认的,Yes或者Ok就行了。
每个软件包的作用自行google。
启动vncsrever
后续软件包的安装需要用到vncserver,所以需要先启动。
vncserver -geometry 800x600 -depth 24
记住要求设置的密码,连接时会用到。
第一次启动主要是让vncserver生成一个默认的配置文件,vim ~/.vnc/xstartup 编辑自动生成的配置文件,结果如下:
# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 800x600+10+10 -ls -title "$VNCDESKTOP Desktop" &
x-window-manager &
重启vncserver,使用新的配置文件:
vncserver -kill :1
vncserver -geometry 800x600 -depth 24
export DISPLAY=:1
连接vncserver
下载TightVNC,配置连接,IP后面的“:1”跟上面的export DISPLAY=:1对应,当然也可以使用其他数字。
点击connect,输入启动vncserver时设置的密码,点击OK连接:
连接成功:
安装corefonts
sh winetricks corefonts
安装dotnet20
sh winetricks dotnet20
切换到TightVNC操作,一路Next、Install、Agree、Finish
安装vcrun2008
sh winetricks vcrun2008
切换到TightVNC操作,一路Next、Install、Agree、Finish
下载游戏文件
为了方便,我直接从另一台云主机上scp过来的。游戏下载地址可以到上面41的帖子里找。
启动服务器
写一个启动脚本:
export DISPLAY=:1
cd /home/cod/cod6_server/
nohup wine iw4mp_server.exe -dedicated -console +set net_port "28962" +set party_maxplayers 8 +exec ffa.cfg +map_rotate &
保存为ffa.sh, chmod +x ffa.sh 加执行权限,运行就可以启动服务器了。
ps查看进程是否存在:
服务器有时候不太稳定,最好在crontab里加个监控,每分钟检查一次进程是否存在,不存在就重新启动:
* * * * * ps -ef | grep "iw4mp_server" | grep -v grep || /home/cod/cod6_server/ffa.sh
测试
启动cod6游戏客户端,可以在Server List找到刚才启动的服务器:Final Stand[FFA]:
双击进入, Oh Yeah!
珍爱生命,远离蛋拐。欢迎加入QQ群460443581,CHN COD6 FINAL STAND,国服cod6最后一战!
666