使用虚拟机及puppylinux打造跨平台网游服务器开发环境

来源:互联网 发布:淘宝网淘金币在哪里 编辑:程序博客网 时间:2024/05/18 01:15

本文将详细讲解如何打造一个跨平台的网游开发环境,需要用到虚拟机和puppyLinux。




1.动机

为什么要在linux下开发?为什么选择puppyLinux?为什么要用虚拟机?

很简单,当前大部分服务器都是基于linux的,包括网游服务器,所以要熟悉linux。

而虚拟机是为了跨平台和方便测试。想想一个虚拟的系统拷在u盘里,无论到哪台电脑,无论是mac或win都可以运行(前提是选择vmware或virtualbox这类跨平台虚拟机,你要是用Paralles Desktop就只能受困于mac平台了)。而当你在win后者mac下开发手机应用的同时,打开虚拟机就可以同时测试和服务器的联通情况,是非常方便的。

也正因为这种应用情境会导致较大的系统资源消耗,我们选择puppyLinux这个世界上最流行的mini distro以减少消耗。


2.虚拟机

本文甲骨文旗下的VirtualBox为例。为什么要选择VB?大品牌!可信赖!永久免费跨平台!心动不如行动,马上点击virtualbox.org下载吧。

根据平台下载后记得还要下载下面那个for all flatform的extension,没它就用不了usb2.0了。

安装完之后最好设置一下项目保存的位置,默认是在c盘,还是改成你方便存取的位置吧,因为到时候你要拷走整个虚拟盘到其他机器上用的话也方便。

接下来新建机器,硬盘2到3G就够了,网络建议用桥接或host-only的方式,方便以后获取IP,本文示范用桥接。然后把光盘指向puppyLInux的iso,什么,还没下载?那就去puppy的主页下载吧!记得下Precise版哦,本文用的是Precise 5.6.1版本。然后启动!


3.Puppy

由于还未安装,所以目前Puppy是以Live CD的方式运行,不能保存我们的配置,所以我们要安装。其实很方便,puppy的作者很贴心的为我们写了一个安装器,叫Puppy Universal Installer,在桌面空白处右键菜单的Setup项里面。打开之后,会提示你用Gparted建立分区,记得先建立分区表,再新建分区,一般采用ext2格式化磁盘,执行apply应用操作后千万要记得右键把分区标记为启动分区(manager flags,boot打勾)。建立完分区,就开始安装吧。


安装方式就选择Puppy建议的Frugal方式,具体就不解释,一路ok下去,装完的时候会提示你要再装一个Grub4Dos,也是在setup菜单里面,有一个Grub4Dos bootloader config,打开之后也是一路ok,就完成了。重启一下试试,重启之前Puppy会提醒你把对系统的改动保存起来,你可以选择一个大小来存储,比如Puppy建议的512M,或者更大更好。取一个名字,比如admin,以后你对系统的动作统统会存到这个sfs文件里面。

重启后,如果你跟我一样觉得这玩意真丑啊!作者什么品味啊!可以通过桌面空白处右键菜单里面的desktop项的条目来自定义一下视觉方案,比如JWM configure来调整窗口边框和任务栏的样式,用desktop ICON 来换套图标,pWallpaper来换张壁纸等等,自助吧。

还有一点,你发现分辨率十分不爽,怎么办呢?安装VB提供的驱动!打开VB提供的iso,运行VboxLinuxAdditions.run,别管它提示什么错误,总之显卡驱动是装上了。马上打开桌面空白处右键菜单,setup项里面有Xorg video wizard这一项,打开,点击第一个wizard图标,进入设置界面,看到没,virtualbox的显卡驱动项,选一个你喜欢的分辨率,一路ok下去就好了。


另一个不习惯的就是图标单击就打开了,桌面的我是没辙了,不过文件夹里面的可以在桌面任意图标点右键ROX-filter,option,把single-click navigation钩掉就好了

到这里puppy算装完了,但是木有中文字体,你打开网页就知道了,全是符号,很简单,下一个字体,比如文泉驿的字体wenquanyi micro hei.ttc,放到/usr/share/fonts/default里面就好了,重启浏览器,中文有了!

完美强迫症的人可能还需要能够无缝集成VB的guest additions,按照提示是需要内核补丁,不过我劝你别折腾,因为一番辛苦后,终于提示全部正常啦,哈,爽,重启!黑屏了……什么?刚才没快照?再装一次咯……偷笑


4.python twisted

什么,我不该到现在才告诉你我要用python?惊讶你要用java、c、c++?好吧,选择python的twisted框架是我的个人选择,原因见如下两篇文章:

赖勇浩:Python 于 webgame 的应用

刺鸟:用python来开发webgame服务端

如果你有不同选择,其实往下折腾一下未尝不可,比如你需要gcc编译器,没关系,Puppy作者已经为开发者准备好开发工具包了,就在你刚才下系统的那个页面,有个对应版本的Devx.sfs,下载双击自动安装上,好,你有gcc了。

而安装twisted框架除了需要安装zope.interface外,还需要gcc及python-dev包。现在就告诉你刚才为什么要选择Precise版本,因为这个版本可以用乌班图的软件,爽歪歪了吧,别急着去打apt-get,puppy没有,呵呵,傻眼了吧,老老实实去ubuntu的软件页面下载下来双击安装吧:python-dev for Ubuntu

好,接着就把twsted的源文件包从其主页上下下来,解压,在console里面cd到其目录下,再输入python setup.py install,大功告成!

接下来如果你开发了服务器,运行的时候,可以从宿主机去访问这个基于puppyLinux的服务器了,IP地址在右下角倒数第三个图标就能看到。顺便说一句puppy自带了ftp服务器,如图: