You are viewing a potentially older version of this package. View all versions.
679215-SatmLanIp-1.0.3 icon

SatmLanIp

Shift at Midnight 局域网联机:LAN/VPN IP 开房加入,双方均需安装。

Date uploaded 2 weeks ago
Version 1.0.3
Download link 679215-SatmLanIp-1.0.3.zip
Downloads 59
Dependency string 679215-SatmLanIp-1.0.3

This mod requires the following mods to function

BepInEx-BepInExPack_IL2CPP-6.0.755 icon
BepInEx-BepInExPack_IL2CPP

BepInEx pack for IL2CPP x64 Unity games. Preconfigured and ready to use.

Preferred version: 6.0.755

README

SatmLanIp

通过 局域网或 VPN IP 与朋友联机 Shift at Midnight,不经过 Photon 云服。

仅限可信对端。 房间 UDP 无鉴权,请勿把监听端口暴露到公网;请使用局域网或 VPN。

联机双方均需安装本模组。

联机

  1. 游玩菜单(单人模式上方)→ 局域网联机
  2. 房主: 创建房间 → 选档 / 模式 → 把大厅显示的本机 IP 发给同伴。
  3. 加入方: 加入 → 输入房主 IP(改过端口时用 IP:端口)→ 连接 → 准备。
  4. 全员准备 → 按大厅提示开始。

版本要求

联机双方请使用 同一 Steam 游戏版本。大厅会显示本机 build …;版本不一致时无法加入。读不到版本号时仅警告,不阻止联机。

异地组网

不在同一局域网时,先用 VPN / 虚拟局域网连到同一网段,再用 虚拟 IP 开房、加入(不要填公网 IP)。

  • Tailscale — WireGuard,跨平台;使用分配给房主的虚拟 IP
  • connecttool-qt — 图形化组网;使用工具显示的虚拟 IP

以上为第三方工具,与本模组无关;延迟与稳定性取决于组网质量。

链接

非官方社区模组,与 Kwalee、Photon 及游戏发行方无关。使用风险自负,请遵守游戏用户协议。

CHANGELOG

更新日志

本文件记录项目的重要变更。

格式参考 Keep a Changelog, 版本号遵循 语义化版本

[1.0.3] - 2026-08-22

修复

  • 游戏更新(build 24837841)后创建房间仍显示 Photon 房间名输入框;已补充「房间名称」/Room Name 过滤

新增

  • 加入房间时比对双方 Steam 游戏 build;不一致时拒绝加入并提示 游戏版本不一致 (build … vs …),避免跨版本进局后 Fusion 不同步
  • 局域网房间界面显示本机 build …(房主与加入方);读不到 buildid 时仅警告,不阻止联机

[1.0.2] - 2026-08-20

修复

  • 多人大厅各端人数 / 准备状态不一致;加入方人数以主机房间快照为准,不再用座位号推算
  • 多人局域网联机时,同伴玩家映射不正确
  • Ready / 心跳携带座位号,主机可按座位重绑对端端口(NAT 换端口或重连),避免误踢与人数错乱
  • 拒绝空主机地址(如 :37241)以及保留端口 65535(Fusion 使用监听端口 +1)
  • 加入方填写 IP:端口 时,同步监听端口与加入端口,避免大厅能进但对局连错端口
  • 配置里只改监听端口或加入端口时,两侧强制保持一致
  • 主机离开或对局重置时清除「对局进行中」状态,避免卡在等待开局界面
  • 对局已开始后仍尝试加入时,明确提示「对局已开始」,而不再干等到连接超时
  • 大厅内约 45 秒无心跳的死连接会被踢出,避免占坑导致无法全员准备
  • 加入方大厅 Ready 保活不依赖游戏主循环;切出或短暂卡顿时仍发送,避免被主机误踢(界面显示 host left)
  • 启动时开启 Application.runInBackground,避免切出游戏后主循环暂停导致大厅联机包无法收发
  • 开局时可能未使用主机在大厅已选存档,存在误进其他存档或覆盖进度的风险
  • 没有已有存档时,按解析结果新建存档槽,不再固定为槽位 0
  • 存档界面点「返回」时,不再重复叠加取消监听

变更

  • 姿态数据按座位分别存储与转发,不再被最后写入的玩家覆盖
  • 「客户端已准备」表示任意已入座的非房主已准备,不再只检查 2 人局里的加入方
  • 对局进行中不再清理空闲 UDP 座位,仅在大厅阶段踢出失联玩家
  • 降低协议发送时的临时内存分配,减轻卡顿
  • 缓存主菜单对象,避免每帧全场景查找
  • Fusion 云服旁路每帧只执行一次;客户端启动连接后再补一次
  • 每帧最多处理 64 个 UDP 包,并优先处理连接 / 准备 / 开局 / 离开等控制包

移除

  • 已无实际作用的 UDP 释放占位接口,以及从未使用的探测序号字段

[1.0.1]

变更

  • 说明文档:补充异地组网说明与推荐工具;澄清默认只需填写 IP

[1.0.0]

新增

  • 首次公开发布
  • 通过「局域网联机」支持局域网 / VPN IP 合作(房间 UDP + Fusion 直连)
  • 原生菜单;按 IP 创建 / 加入;准备同步;进入合作对局