当前位置:首页 » 云服务器 » 搭建多个moon服务器

搭建多个moon服务器

发布时间: 2022-06-09 13:26:19

1. 战地1942用的BFstart软件联机,一进去101.200.166.4:14567,就显示服务器连接失败,怎么办

通过修改系统的host文件,使1942换个服务器搜索平台来防止点“网际网纲”时卡死
1、战地1942 多人游戏界面修复补丁:
http://tieba..com/p/3257021603

2、如果软件打失败的话,可以尝试自己来修改host文件
【尊重原帖,尊重作者:http://tieba..com/p/3203314303】
直接去修改Windows系统里的C:\Windows\system32\drivers\etc\hosts 文件,加入以下指向条目:
109.71.69.254 master.gamespy.com
这样就能解决网际网路卡死问题了

几个常用的服务器地址
=SUPER=服务器(目前唯一的国服):162.222.166.15:14567
ping值很低,人基本只在放假的才有,以及星期五、六、日白天和晚上有人

= -ax- =服务器:109.71.69.254:14567
很多人,但是ping高
MoonGamers服务器:64.120.56.204:14567
人数也很多,ping略好点
日本服务器:111.100.165.130:14567
除了国内服就是日本服ping不多了。不过人少。。。。。
希望被采纳,谢谢

2. docker安装zerotier设置tup

步骤如下:
1.安装DOCKER
云服务器上安装DOCKER,简单一点的可以先安装宝塔面板,在宝塔面板市场里搜索DOCKER,这个几个docker管理器都可以用,关于如何安装宝塔可以自行网络一下,一天命令,非常简单。
2.部署moon服务
安装dockerzerotier-moon服务打开宝塔终端工具,输入命令dockerpullseedgou/zerotier-moon,在docker上部署zerotier服务dockerrun--namezerotier-moon-d--restartalways-p9993:9993/udp-v/home/zerotier-moon:/var/lib/zerotier-oneseedgou/zerotier-moon-410.0.0.1。运行之后可以在docker面板里看到正常运行的moondocker服务。
注意:在宝塔面板安全里开放9993端口,如果是腾讯云或者其他云服务器记得在防火墙里开放9993端口服务。把刚刚挂载的目录里自动生成moons.d文件夹下载到本地备用
3.配置win客户端
Windows客户端加入moon自建节点将moons.d文件夹整个复制到ZeroTier安装目录下默认路径为:C:ProgramFiles(x86)ZeroTierOne,打开WindowsPowershell,输入命令zerotier-cliorbitxxxxxxxxxxxxxxxxxxxx,将xxxxxxxxxx替换为你的moonid,在服务器终端面板里运行下面命令查看moonid,dockerlogszerotier-moon,WindowsPowershell显示提示200orbitok表示添加moon节点成功此后重启zerotier,完毕。
4.测试服务
查看是否成功加入moon服务器节点,查看节点信息命令zerotier-clilistpeers,当你看到某一行后面带有moon字样,就证明已经加入到moon自建节点中其中PLANET为官方的根服务器。

3. moonlight怎么添加游戏

手机和电脑处于同一局域网下,打开手机上的moonlight,可以看到我的电脑已经被识别。点击这个电脑图标,进入后会发现我们刚才添加的游戏或者桌面,点击进入,手机开始串流你的电脑。moonlight里的设置可以根据你的网络情况和配置更改了。

moonlight介绍

使用月光有一个前提条件,因为月光是基于英伟达的技术实现,所以作为运行游戏的服务器,必须使用的是英伟达显卡,如果你当前使用的是AMD的显卡。

有类似的应用,可以自行查找。首先我们需要下载月光相关安装包,月光当前支持所有主流平台:Windows、Mac、linux、iOS、Android、ChromeOS。

简单描述就是利用高性能电脑运行游戏,在以视频的方式发送到其他设备,让我们可以在更多设备中常玩大作,当前国内腾讯、网易,国外的谷歌、steam、微软等众多一线互联网公司提供的云游戏服务使用的就是类似的串流技术。

但不同的是,那些串流技术使用厂商提供的服务器和游戏,如果我们自己有高性能PC和众多游戏,完全可以自行搭建一个串流服务器。

steam虽然提供了一个游戏串流技术,但steam的局域网串流还好,外网串流需要经过一个国外服务器,使得体验极差,并且无论是在串流优化还是游戏支持(steam只支持steam上你买的游戏)上,都没有月光做的好。

4. 想用moonlight engine来玩地下城与勇士(1.14的)

希望对你有帮助。 下面是教程。
ME是基于CE而修改的程序,简单点说,ME是一款内存修改工具,更简单一点,ME就是一个修改器。
通过ME修改数据,一般在5分钟左右会被T。
HOST是什么呢?
HOST是通过架设虚拟服务器,阻止游戏更新,并且可以修改装备属性达到全屏幕秒怪的效果。
使用HOST进入游戏一般20秒左右会被T。
内自带CT表.

开机第一时间开ME,开游戏,修改……基本都能成功。教程:
地下城与勇士开挂,需要用到下面几个工具
第一个,ME。这个是开CT的工具。
[img]http://www.zhaowaigua.com/dnf/pic/zc.jpg[/img]
请注册,需要注册一下才行,点文件夹里的注册码
点注册后重启电脑,就能用ME了
第二个需要用到的是CT文件
文件夹里的下面这个图片就是
[img]http://www.zhaowaigua.com/dnf/pic/ct.jpg[/img]
准备好这两个工具后,我们开始进行开挂
第一步骤:先打开ME软件
打开文件夹,找到下面这个图标,点开他(圆头带眼睛那个图标)
[img]http://www.zhaowaigua.com/dnf/pic/1.jpg[/img]
打开后,界面如下;
[img]http://www.zhaowaigua.com/dnf/pic/2.jpg[/img]
接下来,在ME界面上点开这个图标
[img]http://www.zhaowaigua.com/dnf/pic/3.jpg[/img]
选择我们刚才下好的CT文件。界面如下图
[img]http://www.zhaowaigua.com/dnf/pic/4.jpg[/img]
打开后功能列表将出现,如下图
[img]http://www.zhaowaigua.com/dnf/pic/5.jpg[/img]
接下来,我们打开游戏 。注意是打开地下城与勇士游戏。到这一步。游戏频道这一步,图片如下
[img]http://www.zhaowaigua.com/dnf/pic/6.jpg[/img]
这个时候,等10秒中,然后我们用ME进行进程截取。(注意,一定要在这个时候进行进程截取。)
转到ME软件。在界面上找到下面这个图标
[img]http://www.zhaowaigua.com/dnf/pic/7.jpg[/img]
点开他
[img]http://www.zhaowaigua.com/dnf/pic/8.jpg[/img]
选中 NDF.EXE这个进程。点open process
接下来就进行选择你要的功能,进行打钩
[img]http://www.zhaowaigua.com/dnf/pic/9.jpg[/img]
然后就选择游戏频道进行游戏
第一次会20秒掉线,后面就会少掉

5. zerotier moon原理

frp 很多人都了解,是一个用于内网穿透的高性能的反向代理应用,简单点说就是可以把 NAT 后面的某台机器的端口转发到公网 IP上去,类似 ngrok 或者花生壳内网版,好处是可以自建。
UDP 打洞是一种 NAT 穿透技术,与上面 frp 的区别在于,frp 的转发模式本质是通过具有公网 IP 的服务器 M
来进行流量转发(frp 也提供 xtcp 模式来进行 NAT 穿透,但是成功率太低,效果不佳),这样如果服务器 M的带宽有限,就会成为传输时的瓶颈,无法有效利用全部带宽。
Zerotier 就是利用 UDP 打洞来实现内网穿透的工具,而且相比其他工具成功率更高、部署更简单。

6. 操作系统是如何随着硬件的发展而发展的

通信量。因特网将从一个单纯的大型数据中心发展成为一个更加聪明的高智商网络,将成为人与信息之间的高层调节者。其中的个人网站复制功能将不断预期人们的信息需求和喜好,用户将通过网站复制功能筛选网站,过滤掉与己无关的信息并将所需信息以最佳格式展现出来。同时,个人及企业将获得大量个性化服务。这些服务将会由软件设计人员在一个开放的平台中实现。由软件驱动的智能网技术和无线技术将使网络触角伸向人们所能到达的任何角落,同时允许人们自行选择接收信息的形式。

2、带宽的成本将变得非常低廉,甚至可以忽略不计。随着带宽瓶颈的突破,未来网络的收费将来自服务而不是带宽。交互性的服务,如节目联网的视频游戏、电子报纸和杂志等服务将会成为未来网络价值的主体。

3、在不久的未来,无线网络将更加普及,其中cnet:短距无线网络前景看俏。短距无线通讯标准Zigbee与超宽频UWB(Ultra wideband)即将制订完成,未来将与蓝芽(Bluetooth)共同建构短距离无线网络环境,包括蓝芽、Zigbee与UWB等相关产品出货量都将大幅成长。随着电子电机工程师协会(IEEE)推出802.15个人局域网络(WPAN)标准后,新一代的短距离无线通讯发展趋势逐渐确定,除了蓝芽(802.15.1)外,Zigbee(802.15.4)与UWB(802.15.3a)标准也将于今年或明年初陆续通过,未来Zigbee与UWB将以各自不同特性,如速度、价格等切入短距离无线网络环境。

4、计算机网络飞速发展的同时,安全问题不容忽视。网络安全经过了二十多年的发展,已经发展成为一个跨多门学科的综合性科学,它包括:通信技术、网络技术、计算机软件、硬件设计技术、密码学、网络安全与计算机安全技术等。

在理论上,网络安全是建立在密码学以及网

络安全协议的基础上的。密码学是网络安全的核心,利用密码技术对信息进行加密传输、加密存储、数据完整性鉴别、用户身份鉴别等,比传统意义上简单的存取控制和授权等技术更可靠。加密算法是一些公式和法则,它规定了明文和密文之间的变换方法。由于加密算法的公开化和解密技术的发展,加上发达国家对关键加密算法的出口限制,各个国家正不断致力于开发和设计新的加密算法和加密机制。

从技术上,网络安全取决于两个方面:网络设备的硬件和软件。网络安全则由网络设备的软件和硬件互相配合来实现的。但是,由于网络安全作为网络对其上的信息提供的一种增值服务,人们往往发现软件的处理速度成为网络的瓶颈,因此,将网络安全的密码算法和安全协议用硬件实现,实现线速的安全处理仍然将是网络安全发展的一个主要方向。

在安全技术不断发展的同时,全面加强安全技术的应用也是网络安全发展的一个重要内容。因为即使有了网络安全的理论基础,没有对网络安全的深刻认识、没有广泛地将它应用于网络中,那么谈再多的网络安全也是无用的。同时,网络安全不仅仅是防火墙,也不是防病毒、入侵监测、防火墙、身份认证、加密等产品的简单堆砌,而是包括从系统到应用、从设备到服务的比较完整的、体系性的安全系列产品的有机结合。

总之,网络在今后的发展过程中不再仅仅是一个工具,也不再是一个遥不可及仅供少数人使用的技术专利,它将成为一种文化、一种生活融入到社会的各个领域。

操作系统(Operating System,简称OS)传统上是负责对计算机硬件直接控制及管理的系统软件。操作系统的功能一般包括处理器管理、存储管理、文件管理、设备管理和作业管理等。当多个程序同时运行时,操作系统负责规划以优化每个程序的处理时间。

一个操作系统可以在概念上分割成两部分:内核(Kernel)以及壳(shell)。一个壳程序包裹了与硬件直接交流的内核:硬件<->内核<->壳<->应用程序

在有些操作系统上内核与壳完全分开(例如Unix、Linux等),这样用户就可以在一个内核上使用不同的壳;而另一些的内核与壳关系紧密(例如Microsoft Windows),内核及壳只是操作层次上不同而已。

Windows 98是一个发行于1998年6月25日的混合16位/32位的图形操作系统。这个新的系统是基于Windows 95上编写的,它改良了硬件标准的支持,例如USB、MMX和AGP。其它特性包括对FAT32文件系统的支持、多显示器、Web TV的支持和整合到Windows图形用户界面的Internet Explorer,称为活动桌面(Active Desktop)。Windows 98 SE(第二版)发行于1999年6月10日。它包括了一系列的改进,例如Internet Explorer 5、Windows Netmeeting 3、Internet Connection Sharing和对DVD-ROM的支持。Windows 98被人批评为没有足够的革新。即使这样,它仍然是一个成功的产品。第二版被批评为不能在第一版的基础上自由升级。

Windows 98的最低系统需求:486DX/66MHz或更高的处理器,16MB的内存,更多的内存将改善性能;如果使用FAT16文件系统, 典型安装需250兆;因系统设置和选项不同, 所需空间范围在225兆到310兆之间;如果使用FAT32文件系统, 典型安装需245兆;因系统设置和选项不同, 所需空间范围在200兆到270兆之间;CD-ROM或DVD-ROM驱动器和VGA或更高分辨率的显示器,微软鼠标或兼容的指向设备。

Windows ME是一个32位图形操作系统,由微软公司发行于2000年9月14日。这个系统是在Windows 95和Windows 98的基础上开发的。它包括相关的小的改善,例如Internet Explorer 5.5。其中最主要的改善是用于与流行的媒体播放软件RealPlayer竞争的Windows Media Player 7。但是Internet Explorer 5.5和Windows Media Player 7都可以在网上免费下载。Movie Maker是这个系统中的一个新的组件。这个程序提供了基本的对视频的编辑和设计功能,对家庭用户来说是简单易学的。但是,最重要的修改是系统去除了DOS,而由系统恢复代替了。

在概念上,这是一个大的改进:拥护不再需要有神秘的DOS行命令的知识就可以维护和修复系统。实际上,去除了DOS功能对维护来说是一个障碍,而系统恢复功能也带来一些麻烦:性能显着的降低;它也被证明并不能有效的胜任一些通常的错误。由于系统每次都自动创建一个先前系统状态的备份,使得非专业人员很难实行一些急需的修改,甚至是删除一个不想要的程序或病毒。有观点认为这个系统只是Windows 98的升级版本,不应该独自成为一个版本。也有观点认为这是微软自3.0版以后最差的第一个没有发行第二版的Windows。

Microsoft Windows 2000(起初称为WinNT 5.0)是一个由微软公司发行于2000年12月19日的32位图形商业性质的操作系统。Windows 2000有四个版本:Professional、Server、Advanced Server和Datacenter Server。另外,微软提供了Windows 2000 Advanced Server限定版,用于运行于英特尔Itanium 64位处理器上。所有版本的Windows 2000都有共同的一些新特征:NTFS5,新的NTFS文件系统;EFS,允许对磁盘上的所有文件进行加密;WDM,增强对硬件的支持。

Microsoft Windows 2000的最低系统要求:133 MHZ或更高主频的Pentium级兼容CPU,推荐最小内存为64MB,更多的内存通常可以改善系统响应性能[最多支持4GB内存],至少有1GB可用磁盘空间的2GB硬盘(如果通过网络进行安装,可能需要更多的可用磁盘空间),Windows 2000 Professional支持单CPU和双CPU系统。

Windows XP,或视窗XP是微软公司最新发布的一款视窗操作系统。它发行于2001年10月25日,原来的名称是Whistler。微软最初发行了两个版本,家庭版(Home)和专业版(Professional)。家庭版的消费对象是家庭用户,专业版则在家庭版的基础上添加了新的为面向商业的设计的网络认证、双处理器等特性。字母XP表示英文单词的“体验”(experience)。

在XP之前,微软有两个相互独立的操作系统系列,一个是以Windows 98和Windows ME为代表的面向桌面电脑的系列,另一个是以Windows 2000和Windows NT为代表的面向服务器市场的系列。Windows XP是微软把所有用户要求合成一个操作系统的尝试,而为此付出的代价是丧失了对基于DOS程序的支持。

Windows XP是基于Windows 2000代码的产品,同时拥有一个新的用户图形界面(叫做月神Luna),它包括了一些细微的修改,其中一些看起来是从Linux的桌面环境(desktop environmen)诸如KDE中获得的灵感。带有用户图形的登陆界面就是一个例子。此外,Windows XP还引入了一个“基于人物”的用户界面,使得工具条可以访问任务的具体细节。然而,批评家认为这个基于任务的设计指示增加了视觉上的混乱,因为它除了提供比其它操作系统更简单的工具栏以外并没有添加新的特性。而额外进程的耗费又是可见的。

它包括了简化了的Windows 2000的用户安全特性,并整合了防火墙,以用来确保长期以来以着困扰微软的安全问题。

由于微软把很多以前是由第三方提供的软件整合到操作系统中,XP受到了猛烈的批评。这些软件包括防火墙、媒体播放器(Windows Media Player),即时通讯软件(Windows Messenger),以及它与Microsoft Pasport网络服务的紧密结合,这都被很多计算机专家认为是安全风险以及对个人隐私的潜在威胁。这些特性的增加被认为是微软继续其传统的反竞争行为的持续。

另外受到强烈批评的是它的产品激活技术。这使得主机的部件受到监听,并在软件可以永久使用前(每30天一个激活周期)在微软的记录上添加一个唯一的参考序列号(reference number)。在其它计算机上安装系统,或只是简单的更换一个硬件,例如网卡,都将产生一个新的与之前不同的参考序列号,造成用户必须重新输入安装序列号来激活Windows XP的麻烦。

Windows XP的最低系统要求:推荐计算机使用时钟频率为 300 MHz 或更高的处理器;至少需要 233 MHz (单个或双处理器系统);推荐使用Intel Pentium/Celeron 系列、AMD K6/Athlon/Duron 系列或兼容的处理器,推荐使用 128 MB RAM 或更高(最低支持64M,可能会影响性能和某些功能),1.5 GB可用硬盘空间,Super VGA (800x600) 或分辨率更高的视频适配器和监视器,CD-ROM或DVD驱动器,键盘和Microsoft 鼠标或兼容的指针设备。

计算机操作系统发展现状与存在的问题? 发展模式比较单一,越来越多的人先入为主,先接受了windows,其实它并没有那么好,导致越来越多的人依赖它。
16
操作系统课程设计报告
一. 简介
Linux系统是从UNIX发展来的。UNIX是世界上最流行的操作系统之一,它是一种实时操作系统,可以运行于大型和小型计算机上的多任务系统。但由于它比较庞大,而且价格昂贵,所以不适合PC机用户使用。而Linux正好弥补了这些缺点,同时还继承了UNIX大多数优点。由于它基于PC机上运行的操作系统,并且内核源代码是公开的,使得Linux成为时下最浒的操作系统。Linux是一种适用于PC机的计算机操作系统,它适合于多种平台,是目前唯一免费的非商品化操作系统。由于有结构清晰、功能强大等特点,它很快成为许多院校学生和科研机构的研究人员学习和研究的对象。在他们的热心努力下,Linux渐渐成为一个稳定可靠、功能完善的操作系统。Linux是由UNIX发展来的,它不仅继承了UNIX操作系统的特征,而且许多方面还超过了UNIX系统。另外它还有许多UNIX所不具有的优点和特征。它的源代码是开放的,可运行于许多硬件平台 ,支持多达32种文件,支持大量的外部设备等。 Linux有广泛的用处,它可用于:
个人UNIX工作站。
终端用户和应用服务器。
UNIX开发平台。
商业开发。
网络服务器。
Internet服务器。
终端服务器、传真服务器、Modem服务器。
二、Linux系统下C编程原理
1. Linux系统的主要优异性能
Linux系统是真正的爽用户。多任务、多平台操作系统。
Linux系统提供提供具有内置安全措施的分层的文件系统,支持多达32种文件系统。
Linux系统提供命令解释程序和编程语言。
Linux系统提供强大的管理功能。
Linux系统具有内枋的编程接口。
Linux系统具有图形用户接口。
Linux系统许多组成部分的源代码是开放的,任何人都能修改和重新发布它。
Linux系统不公可以运行许多自由发布的应用软件,还可以运行许多商业化的应用软件。
2. Linux系统的主要构成
存储管理
在Linux中,每一个进程都有一个比实际物理空间大得多的进程虚拟空间,每个进程还保留一张页表,用于将本进程空间中的虚地址变换成物理地址,页表还对物理页的访问权限作了规定,从而达到存储保护的目的。
进程管理
在Linux中,进程是资源分配的基本单位,所有资源都是以进程为对象进行分配的,在一个进程的生命周期中,会用到许多系统资源,Linux的设计可以准确描述进程的状态和资源的使用情况,以确保不出现某些进程过度占用系统资源而导致另一些进程无休止地等待的情况。
文件系统
Linux最重要的特征之一就是支持多种不同的文件系统。在Linux中,一个分离的文件系统不是通过设备标志来访问,而是把它合到一个单一的目录树结构中去,通过目录访问。Linux把一个新的文件系统安装到系统单一目录树的某一目录下,则该目录下的所有内容被新安装的文件系统所覆盖,当文件系统被卸下后,安装目录下的文件将会被重新恢复。
进程间通信
Linux提供多种进程间的通信机制,管道和信号是其中最基本两种,其他还有消息队列、信号灯及共享内存。为支持不同机器之间的进程通信,Linux还引入了机制。
3. gcc编译器的使用
在Linux开发环境下,gcc是进行程序开发不可或缺的编译工具,是GUN C Compile的缩写,它是在GUN系统下的标准C编译器。gcc作为Linux平台下的标准C编译器,功能强大。人们可以使用gcc编译器编译单一文件的最基本的命令,正是有了gcc编译器人们才能使用它编译C源程序。
gcc的完整格式是gcc [options] [filenames] ,编译选项指定的操作对给定的文件进行编译处理。在后面可以有多个编译选项,同时进行多个编译操作。
三、总体设计
下面介绍Linux系统中的文件以及与文件有关的操作。在C编程环境中,与文件有关的操作主要是I/O操作,即基于文件描述符的操作。此外,还将介绍其他一些与文件有关的操作。
在Linux系统中,有关的I/O操作可以分为两类。它们是基于文件描述符的I/O操作和基于流I/O的操作。它们有各自不同的特点和优势。基于文件描述符的I/O操作是通过文件描述符对一个文件执行I/O操作的。文件是一个十分重要的概念。通常保存在外存中的数据都是以文件的形式保存的。文件描述符则是用于描述被打开文件的索引值。通常情况下,都是通过文件描述符打开一个文件执行I/O操作。
文件和文件系统是重要而复杂的概念。文件是有名字的一组相关信息的集合。在Linux系统中,文件的准确定义是不包含有任何其他结构的字符流。通俗的说,就是文件中的字符与字符之间除了同属于一个文件之外,不存在任何其他的关系。文件中字符的关系,是由使用文件的应用程序来建立各解释的。每一个文件都具有特定的属性。Linux系统的文件属性比较复杂,主要包括文件类型和文件权限两个方面。
1.文件类型
Linux下的文件可以分为5种不同的类型 。它们是普通文件、目录文件、链接文件、设备文件和管道文件。
(1)、普通文件
普通文件也称正规文件,是最常见的一类文件,也是最常使用到的一类文件。其特点是不包含有文件系统的结构信息。通常所接触到的文件,包括图形文件、数据文件、文档文件、等等都属于普通文件。这种类型的文件按其内部结构又可细分为两个文件类型:文本文件和二进制文件。
(2)、目录文件
目录文件是用于存放文件名及其相关信息的文件。是内核组织文件系统的基本节点。目录文件可以包含下一级目录文件或普通文件。
(3)、链接文件
链接文件是一种特殊的文件。它实际上是指向一个真实存在的文件的链接。根据链接对象的不同,链接文件又可以细分为硬链接文件和符号链接文件。
(4)、设备文件
设备文件是Linux中最特殊的文件。正是由于它的存在,使得Linux系统可以十分方便地访问外部设备。Linux系统为外部设备提供一种标准接口,将外部设备视为一种特殊的文件。用户可以像访问普通文件一样访问外部设备。这就使Linux系统可以很方便的适应不断发展的外部设备。
(5)、管道文件
管道文件也是一种很特殊的文件。主要用于不同进程间的信息传递。当两个进程间需要进行数据或信息传递时,可以通过管道文件。一个进程将需传递的数据或信息写入管道的一端,另一进程则从管道的另一端取得所需的数据或信息。
2.进程基本介绍
在Linux环境下,进程是一个十分重要的概念。按现在通行的认识,进程是具有一定功能的程序关于一个数据集合的一次执行过程。对一个特定程序来说,它的每一个正在运行中的副本都有自己的进程。就是说,如果用户在一个进程的一次运行尚未结束时再次启动该程序,则将有两个进程在运行这一程序。多个进程可以同时运行,各个进程之间相互隔开,除非不同进程之间需要进行数据交换,否则互不影响。
一个进程的存在过程,可以分为进程的产生、进程的执行和进程的结束3个步骤。当一个程序被启动时,就产生一个新的进程。进程在系统内核的管理下得到执行。当某个进程执行完毕后,该进程就消亡了。
Linux系统支持多个进程同时进行。所谓同时,其实是Linux系统在各个进程之间调度,轮流是每个进程占用CPU 的一个时间片。由于每个时间片和宏观的时间相比很小,而每个进程可以频繁的得到时间片,于是就使用户看到了多个进程“同时”运行的情况。在每个进程属性的安全信息里都设有一个优先级,系统根据它来决定各个进程从CPU获得的时间片的大小。
用户在执行一个程序以完成一定的功能时,为了提高程序执行的效率,可以把一个程序设计成由若干个部分组成,由若干个部分组成,由若干个进程同时执行。这就是所谓并发程序的概念。此外,不同进程之间可能会需要相互合作,即进程通信和进程同步。
当然,多个进程并不需要同上时间产生并都维持到整个程序运行结束。用户可以根据需要动态地产生结束进程。也就是说,一个进程可以派生另一个进程,这就是所谓父进程和了进程的关系。
每个进程都有各自的属性,其中包括了进程的详细信息。
3.库的使用
代码的重用性是当代计算机编程语言中一个重要的概念,可以把编译好的目标文件模块统一放到一个库中,使得程序员可以在不同的程序中共享这些代码。
在操作系统中,最终链接生成可执行文件时,如果链接的是一般的文件,则
整个文件的内容都会被装入可执行文件中;如果链接的是库,则只是从库存中找到程序中用到的变量和数,将它们装入可执行文件中,那些放在库中但是没有被程序所引用的变量和数则不会被链接到最终的可执行文件。
所以,使用库可以节省在大量的开发时间,在写较大的程序时,最好把程序
模块放在库中。
对于任何典型的操作系统命令都由简单命令、参数、输入文件名、输出文件名、I\O重定向文件名等组成。(关于以上术语的数据字典见下表)
以命令 gcc –ggdb3 –o moon sun.c 为例:
数据字典一:
术语 说明
简单命令 一个Linux长命令可以有多个像gcc,more等这样的纯命令组成。其中每个纯命令如gcc,more就是这里说的简单命令
参数 范例命令中的-g,-o就是参数,它们是命令的扩展,可以根据用户的不用需要提供相应的不同服务
输入文件名 范例命令中的sun.c就是输入文件名,它相当于一个源文件,在文件的连接和复制的命令中也常常用到这样的文件
输出文件名 范例命令中的moon就是输出文件名,它相当与一个目标文件,在文件的连接和复制的命令中也常常用到这样的文件
I\O重定向文件名 在Linux系统中所有的设备都被看作文件进行管理,I\O文件(设备)作为输出的目标时是可以根据用户的需要进行调整的,I\O重定向文件名就是用来指定I\O文件(设备)名的

模块说明:

模块名称 功能说明
总控模块
main() 该模块调用其他模块实现命令解释功能,保证无论命令执行成功与否都在命令执行后返回命令提示符
命令初始化模块
init_command() 使用singnal函数对进程进行处理,达到初始化命令的效果
命令行输入
get_comln() 该模块接受用户键盘输入的所有字符并存入相应的字符数组,供其他模块使用
分析简单命令个数
get_simcom() 该模块对用户键盘输入的长命令进行分析并最终将长命令分割成数据字典一中的元素,存入相应的结构数组,供执行模块执行
执行指令
execute() 对各种的数据字典一中的元素进行最后的处理,完成区分前后台程序,封锁、开启键盘等功能
分析简单命令
get_simarg() 对简单命令进行分割,为执行模块提供最直接的信息
得到下一个标志符
get_word() 该过程用来记录输入文件名、输出文件名、I\O重定向并存入相应的结构数组
查看字符串是否匹配
check() 用来区分长命令中各个数据字典一中的元素的标准,为分割长命令提供参考信息
执行简单命令
run_com() 该模块与操作系统底层联系,使用系统调用完成各个简单命令的最终执行
程序初始化
init_once() 对程序中用到的所有变量和数据结构进行初始化

7. 建立UT服务器

UT2003服务器架设指南

做服务器前先到:
http://www.unrealtournament2003.com/...atedserver.php
下载服务器版UT2003,(v2107, Windows: 265MB | Linux: 249MB)安装需要780M硬盘空间。
http://ut2003master.epicgames.com/ut...rver/cdkey.php
申请服务器专用CD-KEY

下载服务器安装文件后:
linux用户:新建一个用户帐号专门用来运行服务器,用这个用户登录,运行ut2003lnxded.sh.bin文件。跟具屏幕提示继续。
windows用户:把zip文件解压缩到硬盘中,没有安装程序,解开来就行了。

在配置服务器前先下载最新升级补丁,给服务器程序升级。
再下载evolutionpack2,它能帮你解决许多用web页面管理上面的问题,和修正了一些bug。
http://unreal.cpgl.net/UT2003/patch/evolutionpack2.zip 20KB

安装服务器:

在你下载完并解压缩所有需要的文件后:

A 如果你已经在机器上装了零售版UT2003,那么跳到第M条
B 如果你下载了免费的服务器专用程序,且不需要再申请服务器专用cdkey,那么跳到第D条
C 如果你是使用零售版UT2003来运行服务器的话,那先安装游戏,游戏会自动添加注册表中必要的信息。跳到第M条。
D 打开 http://ut2003master.epicgames.com/ut...rver/cdkey.php ,输入一些需要的信息后,服务器专用CDkey会通过email发给你。linux用户需要把收到的cdkey文件复制到你的系统文件夹中
E 如果你已经知道怎么在注册表里添加CDKEY就跳过这一步到J。
F 点击开始--->运行。在窗口中输入 regedit ,回车。
G 在注册表管理器中,双击"HKEY_LOCALMACHINE"展开它,双击"software"展开它,在它下面找到"Unreal Technology"文件夹.如果这个文件夹已经存在,跳到J。
H 添加一个新的键值。单击"software"文件夹,然后点编辑--->新建--->主键。一个新的文件夹就出现了,有一个高亮的区域让你给它命名,输入Unreal Technology 回车。
I 单击刚才新建的文件夹,点编辑--->新建--->主键。一个新的文件夹出现啦,又有一个高亮的区域让你命名,输入 Install Apps 回车,跳到K。
J 在Unreal Technology Installed apps文件夹下找到"UT2003"文件夹,如果它存在,跳到L
K 单击"Installed Apps"文件夹,点编辑--->新建--->主键。一个崭新的文件夹诞生啦,有一个高亮的区域让我们命名,输入UT2003 回车。
L 单击"UT2003"文件夹,点编辑--->新建--->建值。一个新的文件夹又出现啦,又有一个高亮的区域可以让我们起名字啦。输入 "CDKEY",回车。双击新建立的键值,你就可以编辑它的值。在里面输入你的cdkey序列号。点OK。关掉注册表编辑器。
M 如果你知道怎么用命令行命令进入你的虚幻安装文件夹里的system文件夹,跳到步骤O
N 用命令行建立服务器。我把我的文件安装在UT2003server,我用这个举例子,输入cd ut2003server\system
O 输入ucc server DM-Antalus.ut2

如果一切顺利,一个专用服务器就架设好了,游戏中的地图是DM-Antalus。
默认下面,专用服务器的配置是给internet游戏配置的。这意味着它他尝试和国外的主服务器联系把它加入到主服务器的数据库里,这样你的服务器就可以出现在别人的服务器搜索列表里。目前有两个不同的主服务器在运行,Epic的和Gamespy的。

如果你在机器上已经安装了零售版的UT2003,那就不必运行Epic mail给你的.reg文件了,否则你注册表里的CDKEY会被改成服务器专用的,这样你自己就不能用这台机器玩了。

如果你是在居域网里建立服务器,并且想禁止UT2003和主服务器联系那就编辑UT2003.ini里修改下面的句子(如果找不到这部分,就在最后加后这几行):
[IpDrv.MasterServerUplink]
DoUplink=False
UplinkToGamespy=False

配置服务器
现在你应该知道最基本的架设服务器的方法了,你需要把它配置成你需要的。下面的每个部分都有详细的常见问题解答

System 文件夹里有最重要的三个文件:user.ini runserver.bat和ut2003.ini 。 user.ini保存了地图循环列表。ut2003.ini保存了许多其他设置。runserver.bat 保存了启动服务器的设置。Linux用户没有runserver.bat文件,你要把每次都输入一长串命令启动服务器,或者你必须用一个外壳脚本启动服务器。(linux上用脚本启动UT2003服务器的例子参见http://www.ina- community.com/forums/showthread.php?s=&threadid=231043)
如果你架设多个服务器,通常你会使用一个共同的ut2003.ini文件,然后用不同的runserver.bat或者外壳脚本启动不同的服务器,下面是一个runserver.bat的例子:
ucc.exe server DM-Antalus?game=XGame.XDeathmatch?maxplayers=16?minplayers=4?timelimit=20?fraglimit=25

ucc.exe 是服务器的执行文件,"server"告诉uccc下面要架设一个专用服务器。后面的东西是一些参数,设置服务器的游戏规则。第一条是服务器初始游戏的地图名字,这个例子中是DM-Antalus。跟着是游戏类型,例子中是死亡模式。不同的参数用问号分隔。不管你输入多少参数,整个命令都必须在一行中,如果分开来就不管用了。
下面列出ucc后面可以使用的所有参数列表。注意下面有一些参数在运行服务器是是感觉不出有什么变化的,列出它们只是为了列表了完整性:

AccessControl 用来打开高级管理员系统。和UT2003.ini中[Engine.GameInfo]部分里的AccessConrolClass一行的参数相同。
AdminName=xxxx 网页管理和控制台管理员的名字--参看下面的高级网页管理员部分。
adminpassword=xx 管理员密码。至少5位,否则无效。
bAutoNumBots=true/false 设置成true在人数小于地图默认设定的最小数时,会自动加入电脑bot补足。设置成false则不会。
autoadjust=true/false 设置成true,电脑bot会跟具玩家水平自动调整自己的等级。false则不会。
bPlayerMustBeReady=true/false 设置成true打开比赛模式,每局开时前所有玩家要按下鼠标确认后游戏才开始。false则不需要。
Balanceteams=true/false 自动分配玩家平衡队伍。
BlueTeam= 设置蓝队的名字。但是,不要以为你可以改变队伍的名字。However, don't get clever and decide you'll name the blue team Purple or something like that. Many classes in the game refer to this variable to perform team info logic这句话不太好翻自己看吧。总之最好不要加这个参数,加上它会有不良后果。
BlueTeamAI= 特别的参数用来控制蓝队电脑AI。给MOD制作者用来配置自己写的AI给新的游戏模式用的。别碰它。
BlueTeamSymbol= 设置蓝队的队标。最好别设它。
Character=X 玩家用的人物,架服务器时无效。
Class 如果在架服务器的时候使用,在服务器玩的玩家只能用默认的人物皮肤。通常玩家都会用自己喜欢的人物皮肤。所以这个命令毫无用处。
difficulty=x 设置电脑登记,从1到7分别是novice到godlike。
FF=x 友队伤害的百分比。0是关闭,1是100% 所以.25就是25%友队伤害。
fraglimit=x 死亡模式最多杀人数。
game= 游戏类型,可以用:xDeathmatch, xCTFgame,xBombingRun,或者xDoubleDom
gamepassword= 做为客户端加入游戏时需要的密码。
GameRules 设置特别的GameRules类,GameRules是mutator在UT2003中增加的新类型。通常你不需要用它。几乎所有的mod都会自己动配置它们自己的GameRules。
Gamespeed=x 设置游戏速度,默认是1。最大2
Gamestats=true/false 设置成true会打开统计功能(玩家的游戏资料,如命中率等会上传到主服务器资料库进行统计并参加全世界排名),电脑数量必须设为0才能生效。
goalscore=x CTF,DOM和BR模式里的队伍分数上限。
maxlivers=x last man standing模式,死x后玩家就出局,直到只剩最后一人游戏结束。
maxplayers=x 最大同时游戏人数。
maxspectators=x 最大同时观战者人数。
minplayers=x 最小游戏人数,小于此数用电脑bot补足。
mutator= 在游戏中添加mutator(具体看下面)
numbots=x 设置电脑bot数量。注意打死bot,游戏统计功能就无效了。
Password=xxxx 别的游戏者端加入游戏时需要的密码。
PlayerMustbeready=true/false 在每局开始前等待其他的玩家。
QuickStart 允许游戏在没有人的时候照常进行,当然有电脑bot在玩的时候有效。
RedTeam 参看BlueTeam
RedTeamAI 参看BlueTeamAI
RedTeamSymbol 参看BlueTeamSymbol
SaveGame 继续一个保存过的单人游戏。架服务器时没用。
SpectatorOnly=True/False 客户端选项,允许客户端用命令行指定观察者模式,架服务器时没用。
Team 客户端选项,允许客户端用命令行指定希望加入的队伍。同样架服务器时没用。
translocator=true/false 设置为true允许使用移位器,false相反。
timelimit=x 每局时间限制。
Tournament=true/false 设置成竞技场模式
weaponstay=true/false 武器保留。

几个例子:

ucc server DM-Antalus?game=XGame.XDeathmatch?minplayers=4 架设死亡模式服务器,初始地图DM-Antalus,最少4人,不足4人用电脑补足。

ucc server CTF-Citadel?game=XGame.xCTFGame?FF=0 架设夺旗模式服务器,初始地图CTF-Citadel,无友队伤害。

ucc server DOM-SunTemple?game=xGame.xDoubleDom?mutator=UnrealGame.MutLowGrav 双重据点模式服务器,初始地图DOM-SunTemple,低重力模式开启。

ucc server BR-Anubis?game=XGame.xBombingRun?weaponstay=true 架设BR模式服务器,初始地图BR-Anubis,武器保留开启。

ucc server DM-Curse3?game=XGame.xTeamGame?fraglimit=100 团队死亡模式,初始地图DM-Curse3,杀人数上限100.

关于和主服务器的联系
如果你不想你的服务器显示在游戏的服务器搜索列表里,或者你只是在居域网里的服务器,你可以在UT2003.ini里把下面这些关掉
[IpDrv.MasterserverUplink]
DoUplink=true|false 控制你的服务器是否与internet上的主服务器联系。
UplinkToGamespy=true|false 和DoUplink相似,是决定是否和gamespy服务器建立联系。
SendStats=true|false 是否发送统计信息到主服务器
ServerBehindNAT=true|false 服务器是否在网关后面。
DoLANBroadcast=true|false 设置服务器是否可以在居域网中查找到。一般设true

地图循环和个性化地图列表
默认下游戏会地图会循环出现。 循环顺序在user.ini文件里面控制。 每个游戏类型都有一个部分列出循环的地图。你可以编辑它,去掉你不喜欢的,加上你喜欢的地图。如

[XInterface.MapListDeathMatch]
MapNum=0
Maps=DM-Morbias-2k3
Maps=DM-Spacepir8
Maps=DM-KillingField
Maps=DM-Deck16]i[-BETA
Maps=DM-MoonTemple
Maps=DM-Reigncaster
Maps=DM-Golgatha
Maps=DM-Tooth-N-Claw
Maps=DM-Stage1
Maps=DM-Liandri2003_BETA2

如果你想玩更多的地图,就去网上下载吧。把他们解压缩后把ut2文件放到map文件夹里,utx放到texture文件夹里,以及其他相应文件都放到相应目录里,你就能使用新地图了。

在一个游戏服务器上运行多个游戏类型
你可能会想在一个游戏服务器上运行多个游戏类型,比如 CTF,DOM,BR。可以用以下方法切换地图,举例如下:
比如 我们先开始一个死亡模式游戏在DM-Asbestos地图上。因为现在是死亡模式,游戏结束后UT会检查user.ini中[XInterface.MapListDeathMatch]部分索取下一张地图的名字。它找到了BR-Anubis地图名字,然后就切换到BR模式读取BR-Anubis地图。一但BR-Anubis的游戏结束后,UT会检查 [XInterface.MapListBombingRun]部分,因为已经是BR模式了。它又找到CTF-Citadel地图,然后就换成CTF模式,继续....

[XInterface.MapListCaptureTheFlag]
MapNum=0
Maps=DM-Asbestos?game=XGame.xDeathMatch

[XInterface.MapListDeathMatch]
MapNum=0
Maps=BR-Anubis?game=XGame.xBombingRun

[XInterface.MapListBombingRun]
MapNum=0
Maps=CTF-Citadel?game=XGame.xCTFGame

第三方地图和重定向
如果你使用了不是游戏自带的第三方地图,别人连上服务器就可能花很长时间下载地图同时占用别的游戏者的带宽使游戏不流畅,解决方法可以是把地图文件放到另一个网页服务器上然后告诉客户端自动从那里下载
用 UT2003compress(可以在http://www.drunksnipers.com下载)...?的ut2003.ini 下面的部分重定向下载服务器:
IpDrv.HTTPDownload]
HTTPServer=http://server.domain.name/myUTmaps/
Proxyserver=
Proxyport=
UseCompression=True

记住httpserver=后面的地址最后一定要加上个"/" ,否则它不会工作。如果碰到问题的话,把域名改成网页服务器的IP地图试试看(比如192.168.1.10)

Mutators
Mutators要和启动命令加在同一行里。下面的例子是架设一个死亡模式的服务器地图是DM-Asbestor带大头的mutator和Instagib的mutator:
ucc.exe DM-Asbestos?Game=XGame.xDeathmatch?Mutator=UnrealGame.MutBigHead,XGame.MutInstaGib

默认mutator参数列表:
Arena - XWeapons.MutArena
Big Head - UnrealGame.MutBigHead
Float-Away Corpses - XGame.MutHeliumCorpses
InstaGib - XGame.MutInstaGib
Zoom InstaGib - XGame.ZoomInstaGib
LowGrav - UnrealGame.MutLowGrav
No Adrenaline - XGame.MutNoAdrenaline
No Super Weapons - XWeapons.MutNoSuperWeapon
Quad Jump - XGame.MutQuadJump
AutoHealing - XGame.MutRegen
Slow Motion Deaths - XGame.MutSlomoDeath
Species Specific Stats - XGame.MutSpeciesStats
Vampire - XGame.MutVampire
注意部分mutator参数的前缀的不同:XWeapons , UnrealGame 等。

给每张地图不同的Mutator
你可以通过修改user.ini为每张地图设置不同的mutator 。除非你换掉它们,这些mutator会在所有地图中生效。你可以用"mutator="后面什么也不要加来在下一张地图中去掉mutator。下面的例子是在DM-Antalus地图上的游戏带有Slow-mo death和low-grav两个mutator,然后在下一张DM-Golgotha时去掉它们。
Maps=DM-Reigncaster
Maps=DM-Antalus?game=XGame.xDeathMatch?mutator=XGame.MutSlomoDeath,unrealGame.MutLowGrav
Maps=DM-Golgatha?mutator=
Maps=DM-Asbestos

同样的方法可以加载其他的命令在后面,比如你可能想在某一张地图上有队友伤害,然后在下一张地图中去掉它:
Maps=CTF-Chrome?FF=0.75
Maps=CTF-Citadel?FF=0

页面管理员和高级页面管理
基本的页面管理员通过在runserver.bat里指定管理员名字和密码,并编辑ut2003.ini中[UWeb.WebServer]部分启用。这将允许你通过web页面完全控制服务器,只需要一个管理员帐号。注意,这些都不需要通过IIS或者Apache就可以完成。UT服务器提供了自己的web页面服务器。如果你的服务器上运行了IIS或者Apache,你要把它们的监听端口口改成80以外的。
[UWeb.WebServer]
bEnabled=True
Listenport=xxxx
高级网页管理员允许多个不同控制权限的管理员帐号。注意,那个evolutionpack目前发现在使用高级管理员下有潜在的严重安全漏洞。我强烈建议在互联网远程控制系统中不要使用它。
具体的高级管理员指南参见http://www.unrealadmin.org/moles.p...rticle&artid=7
你应该在你的runserver.bat里加上管理员名字和密码参数,除非你不想使用高级网页管理工具。

一台机器上架设多个服务器
你可以有两种方法在一台机器上架设多个服务器:给每个服务器不同的端口号,或者分配不同的IP地址给你的每个UT服务器,
如果你用不同的端口号架设服务器,你可能碰到他们在游戏的服务器搜索列表里显示不出来的问题。
如果你有多个IP你可以用-multihome 参数在runserver.bat里给每个服务器绑定不同IP。例如下面把IP地址192.168.0.1绑到服务器上
ucc server DM-Antalus?game=XGame.xDeathMatch -multihome 192.168.0.1
在linux下面,你需要恋情multihome=ip的参数:
ucc server DM-Antalus?game=XGame.xDeathMatch -multihome=192.168.0.1

服务器在网关,防火墙,路由器后面
如果你的服务器在网关,防火墙,路由器后面你需要打开一些端口让外面的客户端连进来。默认的端口有7777,7778,7787,7788,28900,28902。我现在还不确定他们是TCP,UDP或者两者都是。
你还要在UT2003.ini中找到[IpDrv.MasterServerUplink]部分,把ServerBehindNat设为true。
除非你改变了端口(如上面说的一台机器运行多个服务器)那么凡是你用到的端口都要打开。

硬件要求
Epic建议,两个32人的专用服务器在一台服务器主机上需要一台1.7G的CPU。你至少需要128M内寸(最小级限了)。
最近改一些客户端的项目,测试的时候需要使用windows,因为是windows的客户软件,所以不得不使用windows, 原来总是在我的debian上安装vmware, 自从升级内核到2.6.17后,发现怎么安装vmware都有问题, 就比较烦,原来看到过华华说过qemu,0.8.1的时候安装过一次,感觉不是太理想,尤其是sdl的屏幕造成鼠标拖动很慢, 去主战的forum里看了看,发现这个已经被patch掉了。
而且kqemu又到了pre9了。正好试一下。

说一下目的:
安装qemu和kqemu, 配好网络。实现virtual machine 和 host 能够互通,也就是不是使用默认的user模式。 而改使用tun/tap的模式。

这里有两个要求:
第一:内核要支持network filter. 尤其要用到的是nat.
第二:内核要支持tun/tap模块。

我的是debian,自己编译的内核,所以在编译的时候就已经弄好了,由于我从来不用官方的内核,所以我就不知道debian的管方内核是不是已经有了。
不过可以自己看一下。
iptables的支持是不用问的,一般都是内置的。
就是tun/tap设备的支持。 这一点,可以这样看一下:
modprobe tun, lsmod 看一下有没有tun 如果成功,就是支持的, 而且是被编译成了模块,如果没有,可以看一下:/dev/net/,看看是不是存在tun这样一个文件,如果存在就是内核内置的,没有编译成模块,另外, 如果编译成了模块,也要注意是否有这个文件存在。不在的话,得自己建了。
mknode /dev/net/tun, 一般现在的发行版都会在你modprobe tun时自动帮你弄好,所以不用担心这个。

好了。我们开工了。

从主站上下载回来qemu的源码
tar zxvf qemu-0.8.2.tar.gz
cd qemu-0.8.2
gcc -v
这里看一下gcc的版本。
qemu目前只能用gcc3来编译。如果你的是gcc4,
就su - 一下,到root, 然后到/usr/bin/
看一下有没有gcc3
有的话,看看原来的gcc是链接还是一个文件。如果是一个文件,就备份一下,呆会恢复。 如果是链接就不用管它了。看它指向哪一个gcc, 记得呆会儿要恢复过来的。 链接的做法简单了: ln -s gcc-3.3 gcc
就这样的。 备份就更简单了。mv gcc gcc.bak

回到我们刚才的目录里。
运行:
./configure
make
make install
这样就装好了qmeu,

现在我们需要使用kqemu模块来加速了。
下载回来kqemu-1.3.0pre9.tar.gz.
解开后。
tar zxvf kqemu-1.3.0pre9.tar.gz
然后进入到目录里。这个时候有两件事要注意:
1. 需要有你现在所用的内核的内核头文件。
2. gcc的版本要和你的内核编译的gcc版本一致。一搬来说就是你刚才改过的哪个了。恢复回来就好了。
好了。
./configure && make && make install
就好了。

我们已经就装好了所有的软件。
但是有时候我们需要一些设置才能工作。

1. modprobe kqemu
2. 看看/dev/kqemu 字符文件是否存在。
3. /dev/kqemu 文件的权限要是0666的。

做好这些后就可以开始安装你的虚拟机了,
安装好,我们再设置你的网络

退出你的root, 然后
cd ~ 进入你的home directory
mkdir qemu
cd qemu
qemu-img create win2k.img 2G
建立一个硬盘文件。然后我们就可以在这个上面安装win2000了。

可以使用iso文件, 也可以使用光盘。

我们这里使用光盘来安装。
qemu -hda win2k.img -cdrom /dev/cdrom -boot d -localtime -m 256 -win2k-hack

这样就可以开始安装2000了。解释一下这里的选项:
-hda 指定第一个硬盘。
-cdrom 指定你的cdrom 后面的文件可以是一个iso文件
-boot d 从光盘启动,如果从你的硬盘启动,就-boot c, -localtime使用本机的时间。 -m 就是设定内存的大小。默认是128, 注意可以设得大一点的内存,但是需要你的/dev/shm足够大。
-win2k-hack, 在安装2000的时候会有一个问题,它会提示你磁盘空间不够,加上这个参数就可以了。

好了。
安装完成了之后,就可以启动来看一把了。
启动如下:
qemu -hda win2k.img -boot c -localtime -m 256. 这样就默认使用了kqemu

现在应该也可以上网了,但是注意虚拟机使用的是dhcp的方式来上网的。
而且不能ping通你的本机,我想这个可能是大多数人不想要的,所以下面我们来配置网络。 通过tun/tap, 有点象vmware里的host-only

要配置host-only(tun/tap)这样的网络,我们上面已经讲过了两个要求,现在我们来做更多的事:

1、 建立一个文件 /etc/qemu-ifup
内容很简单:
#!/bin/sh
sudo /sbin/ifconfig $1 192.168.0.1 netmask 255.255.255.0

然后chmod a+x /etc/qemu-ifup

注意这里的192.168.0.1是你的tun/tap网卡的地址,一定要注意:不能和你的实际的网卡在同一个网段。 也就是如果tun/tap是192.168.2.0.0/24, 那么你的时间网卡就不能在这个网段。

然后写一个小的脚本:
userinit 这个是文件名:
文件内容如下:

#!/bin/bash

case "$1" in
start)
[ ! -e /dev/kqemu ] && mknod -m 666 /dev/kqemu c 250 0
echo 1024 > /proc/sys/dev/rtc/max-user-freq
echo 1 > /proc/sys/net/ipv4/ip_forward
/sbin/iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE
;;
stop)
;;
esac

然后:chmod a+x userinit

再:mv userinit /etc/init.d/
再: update-rc.d userinit start 25 2 3 .

要注意的是这个操作是在debian 下面的做法。
如果是在其他发行版:比如Fedora, 你可以直接写这样的script在你的/etc/rc.local文件里

[ ! -e /dev/kqemu ] && mknod -m 666 /dev/kqemu c 250 0
echo 1024 > /proc/sys/dev/rtc/max-user-freq
echo 1 > /proc/sys/net/ipv4/ip_forward
/sbin/iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE

编辑你的/etc/moles. 加上: kqemu (如果你的tun被编译成了模块,也加上tun)

最后还有一点。大家一定注意到了一个问题: 就是qemu-ifup脚本哩使用了so, 所以如果想普通用户能用,那么就配一下sudoer.
这个好配极了。 编辑:/etc/sudoers
你的用户名 ALL=(ALL):ALL NOPASSWD:ALL
这样就可以不用输入密码了。

现在我们可以开始启动你的虚拟机了。
要象这样启动:

qemu -hda win2k.img -boot c -localtime -m 256 -net nic,vlan=0 -net tap,vlan=0

如果嫌麻烦,
就干脆写一个一句话的脚本:
#!/bin/bash
qemu -hda win2k.img -boot c -localtime -m 256 -net nic,vlan=0 -net tap,vlan=0

存储为win2k, 加上x的权限,然后放置到/usr/bin, 或者是/usr/local/bin下
以后直接运行win2k, 就可以启动2000了。
同理也可以安装多个系统,写多个脚本启动。
这样比较的酷

8. 如何搭建ftp服务器

Ubuntu自带的FTP服务器是vsftpd
1、安装vsftpd

sudo apt-get install vsftpd
安装了之后会在/home/下建立一个ftp目录。这时候你可以试着访问下ftp://IP地 址。应该可以看到一个空白内容的ftp空间。
默认设置下匿名用户可以下载,但不能写入或是上传
2、设置 vsftpd.conf文件
现在我们要让匿名用户无法访问,并且得输入linux上的用户密码后才能访问到他们自己目录里的内容。
首先找到设置vsftpd的文件,位置在/etc/vsftpd.conf
sudo gedit /etc/vsftpd.conf

服务器的配置
1. 匿名服务器的连接(独立的服务器)

在/etc/vsftpd/vsftpd.conf配置文件中添加如下几项:
Anonymous_enable=yes (允许匿名登陆)

Dirmessage_enable=yes (切换目录时,显示目录下.message的内容)
Local_umask=022 (FTP上本地的文件权限,默认是077)
Connect_form_port_20=yes (启用FTP数据端口的数据连接)*
Xferlog_enable=yes (激活上传和下传的日志)

Xferlog_std_format=yes (使用标准的日志格式)
Ftpd_banner=Moonlight Ftp Server (欢迎信息)
Pam_service_name=vsftpd (验证方式)*
Listen=yes (独立的VSFTPD服务器)*

功能:只能连接FTP服务器,不能上传和下传

注:其中所有和日志欢迎信息相关连的都是可选项,打了星号的无论什么帐户都要添加,是属于FTP的基本选项

2. 开启匿名FTP服务器上传权限

在配置文件中添加以下的信息即可:
Anon_upload_enable=yes (开放上传权限)
Anon_mkdir_write_enable=yes (可创建目录的同时可以在此目录中上传文件)
Write_enable=yes (开放本地用户写的权限)
Anon_other_write_enable=yes (匿名帐号可以有删除的权限)

3. 开启匿名服务器下传的权限
在配置文件中添加如下信息即可:
Anon_world_readable_only=no
注:要注意文件夹的属性,匿名帐户是其它(other)用户要开启它的读写执行的权限
(R)读-----下传 (W)写----上传 (X)执行----如果不开FTP的目录都进不去

4.普通用户FTP服务器的连接(独立服务器)
在配置文件中添加如下信息即可:
Local_enble=yes (本地帐户能够登陆)
Write_enable=no (本地帐户登陆后无权删除和修改文件)
功能:可以用本地帐户登陆vsftpd服务器,有下载上传的权限
注:在禁止匿名登陆的信息后匿名服务器照样可以登陆但不可以上传下传

5. 用户登陆限制进其它的目录,只能进它的主目录
设置所有的本地用户都执行chroot
Chroot_local_user=yes (本地所有帐户都只能在自家目录)
设置指定用户执行chroot
Chroot_list_enable=yes (文件中的名单可以调用)
Chroot_list_file=/任意指定的路径/vsftpd.chroot_list
注意:vsftpd.chroot_list 是没有创建的需要自己添加,要想控制帐号就直接在文件中加帐号即可

6. 限制本地用户访问FTP

Userlist_enable=yes (用userlistlai 来限制用户访问)

Userlist_deny=no (名单中的人不允许访问)

Userlist_file=/指定文件存放的路径/ (文件放置的路径)

注:开启userlist_enable=yes匿名帐号不能登陆

7. 安全选项

Idle_session_timeout=600(秒) (用户会话空闲后10分钟)
Data_connection_timeout=120(秒) (将数据连接空闲2分钟断)
Accept_timeout=60(秒) (将客户端空闲1分钟后断)
Connect_timeout=60(秒) (中断1分钟后又重新连接)
Local_max_rate=50000(bite) (本地用户传输率50K)
Anon_max_rate=30000(bite) (匿名用户传输率30K)
Pasv_min_port=50000 (将客户端的数据连接端口改在
Pasv_max_port=60000 50000—60000之间)
Max_clients=200 (FTP的最大连接数)
Max_per_ip=4 (每IP的最大连接数)
Listen_port=5555 (从5555端口进行数据连接)

8. 查看谁登陆了FTP,并杀死它的进程

ps –xf |grep ftp
kill 进程号
最后重启动服务
sudo /etc/init.d/vsftpd restart

9. con=DriverManager.getConnection("jdbc:odbc:moon","",""); stmt=con.createStatement();

getConnection("jdbc:odbc:moon","","")
这是一个url的典型写法:
分别表示服务器地址,端口,数据库名
当然也可以把用户名和密码写在一起。

createStatement = 创建用于执行静态 SQL 语句并返回它所生成结果的对象。之后,就可以使用executeQuer()这个方法来执行SQL词句

热点内容
魔兽世界自动钓鱼脚本 发布:2024-05-19 06:43:07 浏览:494
cbs加密 发布:2024-05-19 06:29:56 浏览:200
ssis存储过程 发布:2024-05-19 06:21:31 浏览:630
怎样删除小视频文件夹 发布:2024-05-19 05:49:29 浏览:589
开启php短标签 发布:2024-05-19 05:44:12 浏览:473
android各国语言 发布:2024-05-19 05:42:54 浏览:247
微信什么资料都没怎么找回密码 发布:2024-05-19 05:35:34 浏览:907
填志愿密码是什么 发布:2024-05-19 05:30:23 浏览:318
城堡争霸自动掠夺脚本 发布:2024-05-19 05:22:06 浏览:204
asp编程工具 发布:2024-05-19 05:20:36 浏览:143