V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
imspace
V2EX  ›  分享创造

Switch Lan Play, 让你和你的朋友远程 LAN party

  •  
  •   imspace · 2018-10-04 22:25:59 +08:00 · 3823 次点击
    这是一个创建于 2022 天前的主题,其中的信息可能已经有所发展或是发生改变。
    项目地址:
    https://github.com/spacemeowx2/switch-lan-play

    顺便还能给 Switch 当代理用(目前需配合 SocksCap64), SOCKS5 代理的支持正在开发中(龟速).

    主要通过 ARP 欺骗, 把发往 10.13.0.0/16 子网的所有包通过服务器转发到每个客户端.

    在 Splatoon2 上测试通过, 可以无视 NAT Type 和朋友一起玩游戏.
    10 条回复    2018-12-18 10:47:15 +08:00
    djyde
        1
    djyde  
       2018-10-05 00:50:38 +08:00
    有意思。。想起了「对战平台」
    msg7086
        2
    msg7086  
       2018-10-05 01:03:10 +08:00
    类似 ZeroTier 的东西吗?
    imspace
        3
    imspace  
    OP
       2018-10-05 07:45:07 +08:00
    @msg7086 不太一样, 这个需要一个中心服务器转发, ZeroTier 应该还是 P2P 的
    huangya
        4
    huangya  
       2018-10-05 09:31:07 +08:00
    @imspace 期待已久,本人具备一定的网络和 linux 知识,非常愿意帮忙测试和 debug,请问有相关的群吗?
    winooxx
        5
    winooxx  
       2018-10-05 12:35:56 +08:00
    Mark,话说这不就是现在很多加速器的原型吗(
    yuuko
        6
    yuuko  
       2018-10-05 12:57:32 +08:00 via Android
    switch 本地联机的原理是什么?
    imspace
        7
    imspace  
    OP
       2018-10-05 16:04:07 +08:00   ❤️ 1
    @huangya 群的话可以进 README.md, QQ 群的话勉强算一个吧: 902430075

    @winooxx 你说的对(这个思路我也是见了 UU 加速器 的主机加速才想到的)

    @yuuko 有两种模式, 一种是开本地 WiFi, 另一种是 Lan-play, 默认是第一种. 要使用第二种需要按 L+R+LStick(第一方游戏基本都有效), 第三方游戏的话得看游戏的实现. 第二种需要每台 Switch 在同一个子网里, 然后是使用 UDP 进行联机的, 如果只有两个 Switch 就是点对点通信, 否则发送 UDP 广播
    huangya
        8
    huangya  
       2018-10-05 17:31:10 +08:00
    @imspace 测试了一下,可以稳定重现以下 crash 问题,能看下吗?
    00000000030F0670 accept, connect 199.16.156.7:443
    [DEBUG]: conn_kill 00000000030F0530
    p_close_cb
    close_cb
    [DEBUG]: conn_kill 00000000030F0530 done
    00000000030F0670 accept, connect 199.16.156.7:443
    [DEBUG]: conn_kill 00000000030F0530
    p_close_cb
    close_cb
    [DEBUG]: conn_kill 00000000030F0530 done
    00000000030F0670 accept, connect 199.16.156.7:443
    [ERROR]: client err: -14
    [DEBUG]: read_cb -4095
    [DEBUG]: conn_kill 0000000000678270
    close_cb
    p_close_cb
    [DEBUG]: conn_kill 0000000000678270 done
    [DEBUG]: conn_kill 00000000030F0530
    p_close_cb
    close_cb
    [DEBUG]: conn_kill 00000000030F0530 done
    Assertion failed!

    Program: C:\Users\tony\Downloads\lan-play.exe
    File: src/win/udp.c, Line 573

    Expression: handle->send_queue_count >= 1

    This application has requested the Runtime to terminate it in an unusual way.
    Please contact the application's support team for more information.
    imspace
        9
    imspace  
    OP
       2018-10-06 21:16:16 +08:00
    楼上的 crash 已经修复了, 并且发了 v0.0.2 版本
    hallyang
        10
    hallyang  
       2018-12-18 10:47:15 +08:00
    @imspace 加群 答案是对的 验证不通过
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3410 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 00:40 · PVG 08:40 · LAX 17:40 · JFK 20:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.