魔兽争霸联机网

局域网打魔兽不能联机_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
局域网打魔兽不能联机
||暂无简介
总评分3.9|
大小:2.44KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢来源:互联网 发表时间: 3:38:11 责任编辑:李志喜字体:
为了帮助网友解决“魔兽争霸如何联网”相关的问题,中国学网通过互联网对“魔兽争霸如何联网”相关的解决方案进行了整理,用户详细问题包括:RT,我想知道:魔兽争霸如何联网,具体解决方案如下:解决方案1:
这种模式和点对点模式一一样,许多游戏都可以用. 告诉主机你的IP 2. 输入要加入你游戏的人的IP,点击启动 但需要在防火墙或者路由器中允许或映射此端口出去(UDP) 然后玩家A在地址栏中输入本机IP,比如魔兽,也是单挑用的 但是这种模式需要双方都拥有公网IP,并且输入游戏端口 玩家B在地址栏输入A玩家地址,在服务器模式端口中输入一个端口,或者可以映射端口 玩家A在地址栏输入B玩家地址: 1,并填写游戏端口. 选择LAN(ipx), 然后点ADD 3,并且输入游戏端口 各启动游戏: 1,并且启动游戏 玩家B在地址部分输入A玩家IP,以后就不用输入IP了: 这种模式适合一群人一起游戏. 下面是详细步骤 主机/. 进入游戏: 这种模式适合两个玩家想要单挑 前提是玩家双方必须有一个人拥有公网IP,或者可以映射端口 玩家A(假如玩家A拥有公网IP),星际,端口号随意, 点OK 7,下同) 现在A玩家建网,端口号为A玩家输入的服务器端口. 然后就等开始吧
加入游戏的人/. 点START 5,进入游戏 此时A玩家建网,或CABLE,或者可以映射端口出来 玩家A(假如玩家A拥有公网IP)将地址设置为空. 运行 battlelan 2: 这种模式需要运行专用服务端,即可联网 这种模式双方均可建网 点对多模式;host. 等主机告诉你可以加入 3. 如果你的朋友用ADSL, 你可以点S***E,但是需要这群人中有一个人拥有公网IP. 告诉要加入的人. 打开 游戏程序 6,并且输入游戏端口(魔兽默认端口为6112;client,ipx 4. 你就可以进游戏了,即可进行游戏 这种模式下只能A玩家建网 点对服务器模式,即可进入游戏(B玩家无法建网) 点对点模式二,和浩方类似Battlelan 是模拟 LAN,可以加入了 8,进入游戏建网 其它玩家在地址栏设置为A玩家的地址. 4点对点模式一
参考资料:
魔兽争霸百度贴吧
解决方案2:
暴雪还没起用魔兽的NET网络 来让游戏无平台也能进行.所以楼主不用考虑类似的问题了.
相关文章:
最新添加资讯
24小时热门资讯
Copyright ©
All Rights Reserved. 中国学网 版权所有
京ICP备号-1 京公网安备02号魔兽8m补丁|魔兽争霸8m联机补丁下载 1.26_ - pc6下载站新浩方平台热门联机:我的世界|求生之路6824人阅读
1.魔兽争霸III冰封王座局域网联网过程
为了描述方便,先定义几个术语:
服务器:建立了游戏的主机
客户机:准备加入游戏的主机
分两种情况描述:
1.1客户机点击局域网时,服务器已经建立好了游戏
魔兽争霸启动后,当玩家点击&局域网&按钮时,会主动发送一次广播UDP包,内容如下:
F7 2F 10 00 50 58 33 57 14 00 00 00 00 00 00 00(客户询问包)
上述包数据,随魔兽争霸的版本不同而不同,但是只要是一个版本,这个数据是不变的。
目的就是询问本网段内所有的机器,看看是否有人建立了游戏。如果有人建立了游戏,那么建立游戏的机器就会返回一个地图信息的UDP单播包,地图数据随建立的游戏的不同而不同,下面仅举一例:
F7 30 8C 00 50 58 33 57& 14 00 00 00 01 00 00 00& 39 69 C2 00 E5 BD 93 E5& 9C B0 E5 B1 80 E5 9F 9F& E7 BD 91 E5 86 85 E7 9A& 84 E6 B8 B8 E6 88 8F 20&& 28 76 73 00 00 01 03 49& 07 01 01 77 01 B9 79 01&& 99 D5 B9 31 4D CB 61 71& 73 5D 45 6F 77 19 6F 6D&& 6F 61 65 5D 45 2B 6F 75& 41 21 41 6D 6D 2B 73 75& 61 73 73 21 77 B1 37 2F& 37 31 63 2F 77 23 33 79&& 01 77 73 01 01 00 0A 00& 00 00 01 00 00 00 01 00 00 00 0A 00 00 00 1B 00& 00 00 E0 17&&&&&&&&&&& (地图包)
地图数据同时说明了,游戏的端口,本例就是E017,也就是6112.
客户机收到这个地图信息后就会显示出这个游戏,点击加入就可以进入了。
1.2客户机点击&局域网&时,服务器尚未建立游戏
此时客户机发送客户询问包后,没有任何回应,以后也不会主动发送询问包了。
待服务器建立好了游戏以后,会每隔大概3秒就在本网段广播一次UDP包,内容如下:
F7 32 10 00 00 00 00 00 01 00 00 00 00 00 00 00(建主信息包)
注意,上述内容的第五个字节,每次建立游戏都会不同。
客户端收到这个包后,会向服务器单播一个询问包,服务器收到后,单播返回地图包,客户机如果已经显示了这个游戏就会更新游戏信息,如果还没有就增加这个游戏显示,玩家点击即可进入。
2.跨网段联网的三个切入点与我的选择
2.1 跨网段发起主动包
从联网过程可以看到,联网过程可以从客户机发起,也可以从服务器发起,而且发起过程都是在本网段广播UDP包,客户机主动发起的时候是广播&询问包&,服务器发起的时候是广播&建主信息包&,以后的过程都是单播UDP。这样一来,由于广播智能在本网段进行,所以其他网段的机器无法通过广播来主动发起联网,也无法收到本网段机器主动发送的广播包,从而无法连入游戏。
知道了这个过程,就很容易想到跨网段连接过程,假设有两个网段A和B,用A(x)表示A网段的机器,B(x)表示B网段的机器,要让A(x)和B(x)互联,那么主动发起的一方就要把包发送到对方,显然通过广播是不行的,那就用单播吧。但问题又来了,UDP的端口要和魔兽游戏一样才行,这样魔兽才能收到回来的包。可魔兽的UDP端口是独占的没有办法和其他软件共享。看来一般的socket编程是不行了,可以采用winpcap构造底层包来完成这个工作。我用的是C#的封装Sharppcap。
2.2 三种联网方式
谁来发起主动连接呢,***是不一定。客户机和服务器都可以。
(1)客户机发起主动连接
前提是必须知道服务器的IP地址,这样就可以向服务器主动发送"询问包&,从而引发以后的联网过程。
(2)服务器发起主动连接
前提是必须知道客户机的IP地址,这服务器端软件截获广播到本网段的&建主信息包&,转发到其他网段的客户机,从而引发以后的联网过程。
(3)服务器直接发送地图
前提是必须知道客户机的IP地址,服务器端软件截获发网本网段客户机的地图信息包,转发到其他网段的客户机。
上述方式中,(2),(3)都必须要截获后转发,而(1)只要发送就可以,因为对于固定版本的魔兽来说,&询问包&是恒定的。
简单的就是最好的,我的选择是通过(1)来完成跨网段联网。
3 联网软件在哪里运行
这个问题比较有意思,因为UDP可以伪造。也就是说,软件可以代表运行自身的主机发起主动包,也可以伪装成别人发起主动包。只要运行软件的主机能访问到接收主动包的机器就可以,可以在任意网段的任意机器上。
4.软件使用说明
本软件采用C#写成,采用.net Framework 4.0。故必须先***有.net Framework4.0。另外需要winpcap,本软件包已经收录了,用户无需另外下载。***.net Framework和winpcap后,即可直接运行本软件了。
4.2使用说明
需要填写的信息有:软件运行所在机器的网关IP, 魔兽服务器的IP,端口,客户端的IP,端口。客户端玩家点击&局域网&以后再运行本软件,客户端就可以看到游戏了。
4.3注意打开防火墙
防火墙要对魔兽开放,如果不会,直接关闭防火墙即可。
4.4软件下载
已放到了csdn资源里。,需要源码的朋友QQ联系。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1558242次
积分:17376
积分:17376
排名:第375名
原创:315篇
转载:106篇
译文:14篇
评论:340条
阅读:8820
(1)(1)(5)(1)(5)(3)(10)(4)(7)(3)(5)(1)(4)(1)(5)(3)(6)(10)(10)(8)(14)(1)(3)(7)(1)(3)(4)(7)(11)(4)(5)(4)(5)(1)(8)(6)(6)(3)(9)(6)(4)(6)(2)(4)(4)(7)(6)(3)(2)(1)(3)(6)(6)(12)(4)(5)(3)(5)(6)(8)(6)(4)(1)(3)(1)(2)(6)(1)(12)(2)(4)(3)(8)(2)(15)(6)(2)(5)(5)(4)(2)(1)(4)(4)(6)(2)(3)(1)(5)(1)(2)(4)(4)(5)(3)

参考资料

 

随机推荐