四处搜索无果,特来求助如何架设私人对战平台? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
v2gba
V2EX    问与答

四处搜索无果,特来求助如何架设私人对战平台?

  •  
  •   v2gba 2015-06-17 14:48:46 +08:00 3441 次点击
    这是一个创建于 3814 天前的主题,其中的信息可能已经有所发展或是发生改变。
    内部用, 能有效的连接几个玩家一起玩局域网游戏就行.

    或者说是一个虚拟局域网的实现
    可以是中央服务器式也可以是用户里一个主机剩下的客户模式.

    PS: 现成的那些软件和平台我知道, 我想自己做一个, 希望有了解的能提供下资料或者经验.

    题外话: 我好像每次发主题都是提问, 好丢人...啥时候才能成为小牛啊
    11 条回复    2015-06-19 15:45:30 +08:00
    LeoQ
        1
    LeoQ  
       2015-06-17 14:56:35 +08:00   1
    http://www.iplaysoft.com/logmein-hamachi.html
    试试这个,我顺手谷歌了一下虚拟局域网 就发现了,但是没有验证可用不可用
    phoenixlzx
        2
    phoenixlzx  
       2015-06-17 15:34:53 +08:00   1
    呼叫玲奈 @zh99998
    zh99998
        3
    zh99998  
       2015-06-17 15:39:11 +08:00   1
    是针对特定游戏,还是想泛用。
    特定游戏可能会有针对那个游戏的解决方案,例如war3有pvpgn & ghost++ 等做的很成熟的战网私服和游戏主机。
    泛用的话,推荐OpenVPN。搭个TAP模式的OpenVPN服务器,并且允许client_to_client,然后全都连过去,内网应该就通了。
    zh99998
        4
    zh99998  
       2015-06-17 15:46:11 +08:00   1
    顺带回复下 @LeoQ
    你找到的蛤蟆吃是联机游戏圈子中使用最广的方案,没有之一。

    但是我并不觉得这个足够好用。由于中国网络比较奇怪,连接国外服务器显然是很费力不讨好的事情,尤其是对于对延迟丢包非常敏感的游戏类应用来说,稳定性和速度都很成问题。特别是双对称NAT环境下,除去用生日攻击之类特别hacky的办法来打洞之外,所有报文经服务器转发是唯一解,从国外走一圈注定会杯具。
    bk201
        5
    bk201  
       2015-06-17 16:48:07 +08:00
    @zh99998
    PS: 现成的那些软件和平台我知道, 我想自己做一个, 希望有了解的能提供下资料或者经验.
    -------------
    按照po主的意思是想自己写一个?我是不是理解有问题?
    zhjits
        6
    < href="/member/zhjits" class="dark">zhjits  
       2015-06-17 17:03:18 +08:00   1
    要通用方案的话,国内 VPS + Pritunl(一个 OpenVPN 的图形化管理工具)无误。之前玩 Battleblock Theater 和 Minecraft 的时候都用这套方案。
    v2gba
        7
    v2gba  
    OP
       2015-06-17 18:03:01 +08:00 via iPhone
    @zh99998
    果然专业!
    请问下专用的和泛用的除了游戏支持外 在性能或者说用户体验上差别大吗?

    我打算把这三个都看一下


    @LeoQ hamachi我之前看到过,打算留作后手,因为他不是开源的

    而我最终是想做个类似dotalicious那样的网页版平台
    zh99998
        8
    zh99998  
       2015-06-19 12:06:44 +08:00   1
    @MrGba2z 大,首先专用的你可以做针对协议的处理,例如计分之类,泛用的就只是个虚拟局域网做包转发你做不了任何游戏相关的事情。然后专用的一般是服务器建主(而不是玩家建主),服务器建主可以一定程度上防止作弊什么的(不同游戏不一样,但是通常来说会以主机做权威),以及一个很重要的一点,玩家建主的话任意一个报文往返是从 客户机 -> vpn 网关 -> 主机 -> vpn 网关 -> 客户机,而服务器建主vpn网关和主机在一起,可以简化成 客户机 -> 主机 -> 客户机,延迟会减半,抖动丢包可以通过简单的概率统计学公式计算出。

    当然,特定游戏相关会更加复杂,因为你可能会需要处理游戏协议和逻辑,因此这可能只适用于有现成解决方案的场合,而不适合自己开发。

    你把自己的需求提的再明确一些吧,例如具体希望支持哪些游戏,以及除了联机通讯本身之外还想要实现哪些附加功能
    v2gba
        9
    v2gba  
    OP
       2015-06-19 13:42:18 +08:00
    @zh99998
    谢谢回复,
    其实我的需求挺简单的, 最重要的就是能联机(主要是war3,也希望能支持别的),是否主机建主不重要.比较希望能够实现的几点是:1. 客户端方便 2. 带简单的认证(静态密码都行). 3.易部署

    我浏览了下之前提到的那些方案, 感觉openvpn和hamachi是比较好的方案. 最后还是选择了hamachi. 感觉openvpn有点杀鸡牛刀的意味.
    zh99998
        10
    zh99998  
       2015-06-19 15:01:32 +08:00
    @MrGba2z

    既然是 war3,那我就直接扔作品了 mycard.moe/thd
    这个总共花了几周时间,包括研究和调试pvpgn、ghost++,封装客户端,涂个官网页面。

    这货效果非常棒,能够做到很多比原版war3更多的事情,比如延迟足够低,比如当一个用户卡机的时候其他人不会45秒卡屏,比如投票踢人,比如断线重连等等。
    以及,还可以继续做更多很厉害的事情,比如匹配、天梯,在这里面都有一些支持,但是我没有调教起来。
    客户端还算方便,起码不需要动网卡驱动,传输不需要封装一层。认证可以走帅气的战网。
    当然 pvpgn 和 ghost++ 非常不易部署,你不想花精力在这上面的话就不要学我了...

    hamachi的话就是如同上面提到的,因为服务器在国外的,在中国注定会杯具。如果你的用户是几个已知的非对称NAT那可能还好点,遇上双对称就等着卡成狗这个无解的。

    如果我要做一个其他游戏的平台,没有pvpgn这类东西可以用的话,我会选择openvpn,之前有个游戏王城之内的玩家找过我希望做个这个,就是给的OpenVPN的方案。至于重的事情你只要不把他设成默认网关,就不会感觉重了吧....

    对于po主来说,hamachi是客户端最方便也最易部署的因为什么事情都不需要做。

    但是对于用户来说,则必须安装hamachi并学习如何使用,以及每次使用的时候必须手工去建立或者加入网络。而另外两种方案都是能够封装的,用户可以保持对这个的无知,只要你封装好,他们可以像开启一个网络游戏一样打开就玩,并不需要关心通讯的细节。
    denghongcai
        11
    denghongcai  
       2015-06-19 15:45:30 +08:00
    用lanbridge,hamachi不稳定
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3882 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 21ms UTC 00:55 PVG 08:55 LAX 16:55 JFK 19:55
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86