generated from Stick_Mods/stick.plugins.tmpl
All checks were successful
Publish Release / build (push) Successful in 1m5s
Stick Fight Socket Mod
stick.plugins.socketmod 是一个用于 Stick Fight: The Game 的 BepInEx 5 插件。它为游戏增加基于 UDP Socket 的联机方式,方便局域网、直连 IP、IPv4/IPv6 域名连接,以及无本地玩家的房间服模式。
重要说明
- 只要启用本插件,原版 Steam 联机路径就会被替换,游戏内 Steam 联机会失效。需要恢复 Steam 联机时,请禁用或移除本插件。
- 本插件改动面很大,涉及联机、玩家、同步、房间服和部分流程控制。目前没有针对其他插件做兼容适配,同时使用其他插件时可能出现冲突。
主要功能
- 游戏内按
F9打开 Socket 联机界面 - 支持普通 Host 和 Room Server
- 支持自动地址、IPv4、IPv6 三种建房和连接方式
- 支持域名、IPv4 地址、IPv6 地址、
域名:端口、[IPv6]:端口等输入形式 - Room Server 可以作为无本地玩家的权威 Host,负责加载世界、转发同步、处理玩家清理、回合结算和切图流程
- Socket 模式可绕过 Steam 初始化,便于本地测试或房间服部署
目录结构
.
|-- Plugin.cs
|-- Patches/
|-- vendor/
| `-- stick.plugins.socketmod.lidgren/
|-- lib/
| |-- Assembly-CSharp.dll
| |-- Assembly-CSharp-firstpass.dll
| |-- UnityEngine.dll
| `-- UnityEngine.UI.dll
|-- stick.plugins.socketmod.csproj
`-- README.md
Plugin.cs 是主插件入口。后续如果把 Harmony Patch 从主文件拆出来,拆分文件放到 Patches/ 目录。
vendor/ 保存随仓库维护的源码依赖。当前构建会把需要的 vendor 源码编进主插件 DLL。
lib/ 保存编译所需的游戏和 Unity 参考程序集。这里的 DLL 是构建输入,不是最终安装产物。
环境要求
- .NET SDK 8.x
- Stick Fight 已安装 BepInEx 5
lib/中需要有从游戏目录复制来的程序集:Assembly-CSharp.dllAssembly-CSharp-firstpass.dllUnityEngine.dllUnityEngine.UI.dll
- 首次 restore 需要能访问 NuGet,或者本机已经缓存过依赖包
编译
在仓库根目录执行:
dotnet restore .\stick.plugins.socketmod.csproj
dotnet build .\stick.plugins.socketmod.csproj -c Release
输出文件:
bin/Release/net35/stick.plugins.socketmod.dll
运行时只需要安装 stick.plugins.socketmod.dll。
安装
关闭游戏后,把 Release 输出目录中的插件 DLL 复制到 BepInEx 插件目录:
$gamePlugins = 'E:\Program Files (x86)\Steam\steamapps\common\StickFightTheGame\BepInEx\plugins'
Copy-Item .\bin\Release\net35\stick.plugins.socketmod.dll $gamePlugins -Force
如果目录里还残留旧版本的 stick.plugins.socketmod.lidgren.dll,可以删除;新版不需要单独安装它。
使用方式
- 启动带 BepInEx 的游戏。
- 按
F9打开 Socket 联机界面。 - 填写 Host/域名/IP 和端口。
- 服务端选择建房按钮:
Host:普通玩家 Host,自动地址模式Room Server:无本地玩家的房间服,自动地址模式Host IPv4/Room IPv4:仅使用 IPv4Host IPv6/Room IPv6:仅使用 IPv6
- 客户端选择连接按钮:
Join:自动地址模式Join IPv4:只使用 IPv4Join IPv6:只使用 IPv6
公网 IPv6 房间服建议在 Host 输入框填写公网域名或目标公网 IPv6,然后点击 Room IPv6。
配置项
首次启动后,BepInEx 会生成配置文件:
BepInEx/config/stick.plugins.socketmod.cfg
常用配置:
General.Enabled:是否启用插件General.ToggleGuiKey:Socket UI 快捷键,默认F9Network.DefaultHost:Host 输入框默认值Network.DefaultPort:端口默认值,默认1337Network.PlayerName:Socket 模式显示名Network.FakeSocketUserId:可选固定假用户 ID,0表示每次进程生成Network.DefaultHostAsRoomServer:让Host按钮默认启动房间服模式Compatibility.AllowSocketModeWithoutSteam:Socket 测试时绕过 Steam 初始化Compatibility.AutoCreateKeyboardPlayer:Host/Join 前没有本地玩家时自动创建键盘玩家
更新日志
v0.1.0
- 新增 Socket Host/Join UI,以及 IPv4/IPv6 专用按钮。
- 新增 Room Server 模式。
- 支持房间服世界加载、同步转发、玩家清理、结算和切图流程。
- 增加 DNS、endpoint、握手和绑定地址诊断日志。
- 仓库结构调整为根目录
Plugin.cs、Patches/、vendor/和lib/。
Releases
1
Release v0.0.1
Latest
Languages
C#
100%