henrq-crdso/ImprovedUniversalSynSaveInstance

GitHub: henrq-crdso/ImprovedUniversalSynSaveInstance

Roblox 游戏实例导出与脚本反编译工具的高性能分支,支持多种保存模式、灵活的过滤选项和 Roblox 格式文件写入。

Stars: 0 | Forks: 0

# 改进的UniversalSynSaveInstance [![USSI 许可证](https://img.shields.io/badge/USSI-License-green)](https://github.com/luau/UniversalSynSaveInstance/blob/main/LICENSE) # 他们的 Discord
## [Our Official Discord Server!](https://discord.com/invite/wx4ThpAsmw)
## Loadstring ``` local Params = { RepoURL = "https://raw.githubusercontent.com/henrq-crdso/ImprovedUniversalSynSaveInstance/main/", SSI = "saveinstance", } local synsaveinstance = loadstring( game:HttpGet(Params.RepoURL .. Params.SSI .. ".luau", true), Params.SSI)() local Options = { SafeMode = false, Decompile = true } -- You can set your own configurations! See henrq-crdso.github.io or "Options Reference" for more information. synsaveinstance(Options) ``` ## 选项参考 所有选项名称均**不区分大小写**。可以在选项表中传递任意组合。 ### 执行与安全 | 选项 | 默认值 | 描述 | |---|---|---| | `__DEBUG_MODE` | `false` | 为异常情况打印调试日志 | | `ReadMe` | `true` | 在支持时包含辅助说明文件 | | `SafeMode` | `true` | 在保存前运行保护流程 | | `KillAllScripts` | `true` | 在保存过程中停止所有脚本 | | `BoostFPS` | `false` | 在导出期间减少视觉负载以提升性能 | | `ShutdownWhenDone` | `false` | 完成后关闭/关机环境 | | `AntiIdle` | `true` | 在长时间保存期间防止因挂机而断开连接 | | `ShowStatus` | `true` | 在保存时显示实时进度 | ### 文件与模式 | 选项 | 默认值 | 描述 | |---|---|---| | `mode` | `"optimized"` | 保存模式:`full`、`optimized` 或 `scripts`。使用任何无效字符串将仅保存 `ExtraInstances` | | `FilePath` | `false` | 输出文件名或路径(无需扩展名) | | `AvoidFileOverwrite` | `true` | 如果存在同名文件则跳过保存 | | `Callback` | `false` | 将序列化数据发送到函数而不是写入磁盘 | | `SaveCacheInterval` | `0x1600 * 10` | 保存期间刷新缓存的频率 | | `AlternativeWritefile` | `true` | 在可用时使用 `appendfile` 拆分文件写入 | ### 脚本 | 选项 | 默认值 | 描述 | |---|---|---| | `Decompile` | `true` | 在环境允许时尝试反编译脚本 | | `scriptcache` | `true` | 重用重复脚本的缓存 | | `DecompileTimeout` | `10` | 每个脚本的反编译时间限制(秒) | | `DecompileJobless` | `false` | 包含现有可用的字节码,而不生成新任务 | | `SaveBytecode` | `false` | 在支持时将原始字节码包含在输出中 | | `DecompileIgnore` | `{TextChatService}` | 在反编译期间要跳过的类或实例 | | `IgnorePropertiesOfNotScriptsOnScriptsMode` | `false` | 在 `scripts` 模式下,跳过非脚本对象的属性 | ### 实例与过滤器 | 选项 | 默认值 | 描述 | |---|---|---| | `IgnoreList` | `{CoreGui, CorePackages}` | 通过引用、ClassName 或 ClassName + Name 排除实例 | | `ExtraInstances` | `{}` | 在保存中包含的额外实例 | | `IgnoreProperties` | `{}` | 从所有实例中排除的属性名称 | | `Object` | `false` | 将特定实例保存为模型或场景 | | `IsModel` | `false` | 使用 `Object` 时,作为 `.rbxm` 模型输出 | | `NilInstances` | `false` | 在可访问时包含 parented-to-nil 的实例 | | `NilInstancesFixes` | `table` | 针对 nil 实例的按类修复 | | `IgnoreDefaultProperties` | `true` | 跳过与其默认值匹配的属性 | | `IgnoreNotArchivable` | `true` | 即使 `Archivable = false` 也保存实例 | | `IgnoreSpecialProperties` | `false` | 避免调用特殊属性;改用回退值 | ### 玩家与隔离 | 选项 | 默认值 | 描述 | |---|---|---| | `IsolateStarterPlayer` | `false` | 将 StarterPlayer 保存到单独的文件夹中 | | `IsolatePlayers` | `false` | 将 Players 服务保存到单独的文件夹中 | | `IsolateLocalPlayer` | `false` | 将 LocalPlayer 保存到单独的文件夹中 | | `IsolateLocalPlayerCharacter` | `false` | 将 LocalPlayer.Character 单独保存 | | `SavePlayerCharacters` | `false` | 控制是否包含玩家角色 | | `IgnoreDefaultPlayerScripts` | `true` | 忽略默认玩家脚本以防止崩溃 | ### 兼容性 | 选项 | 默认值 | 描述 | |---|---|---| | `SaveNotCreatable` | `false` | 将不可序列化的实例作为 Folder 替代项包含在内 | | `NotCreatableFixes` | `table` | 将不可创建的类映射到替换类 | | `IgnoreSharedStrings` | `true` | 跳过 SharedStrings 以避免在某些环境中发生崩溃 | | `SharedStringOverwrite` | `false` | 允许覆盖 SharedStrings 以减小输出大小 | | `TreatUnionsAsParts` | `false` | 当 union 读取失败时,将 UnionOperations 转换为 Parts | | `Anonymous` | `false` | 从最终文件中清除身份数据(Name、UserId) | ## 别名 别名会在选项之前解析。某些别名会反转布尔值。 ### 标准别名 | 别名 | 解析为 | |---|---| | `timeout` | `DecompileTimeout` | | `FileName` | `FilePath` | | `IgnoreArchivable` | `IgnoreNotArchivable` | | `IgnoreDefaultProps` | `IgnoreDefaultProperties` | | `InstancesBlacklist` | `IgnoreList` | | `SaveLocalPlayer` | `IsolateLocalPlayer` | | `IsolatePlayerGui` | `IsolateLocalPlayer` | | `SavePlayerGui` | `IsolateLocalPlayer` | | `SavePlayers` | `IsolatePlayers` | | `SaveNonCreatable` | `SaveNotCreatable` | | `SaveCharacters` | `SavePlayerCharacters` | ### 反向别名(反转布尔值) | 别名 | 解析为 | |---|---| | `noscripts` | `Decompile` | | `RemovePlayers` | `IsolatePlayers` | | `RemovePlayerCharacters` | `SavePlayerCharacters` | ## 用法示例 **保存完整游戏:** ``` local Options = { mode = "full", SafeMode = true } ``` **仅保存脚本:** ``` local Options = { mode = "scripts", DecompileTimeout = 20 } ``` **保存特定对象:** ``` local Options = { Object = workspace, IsModel = true, FilePath = "WorkspaceExport", mode = "full" } ``` **保存特定实例列表:** ``` local Options = { workspace.Map, game.ReplicatedStorage.Assets, }, { FilePath = "SelectedInstances", mode = "invalid", -- invalid mode = only ExtraInstances IsModel = true, } ``` **不反编译的快速导出:** ``` local Options = { noscripts = true, SafeMode = false, BoostFPS = true, FilePath = "FastExport" } ``` ## 鸣谢 - **原始项目:** [luau/UniversalSynSaveInstance](https://github.com/luau/UniversalSynSaveInstance) — 本复兴工具的基础。 - **反编译器支持:** 特别感谢 **plugiant5** 提供的核心反编译器逻辑。 - **复刻维护者:** henrq-crdso — 专注于性能优化和 API 改进。 ## 许可证 本项目采用 GNU Affero 通用公共许可证 v3.0 (AGPL-3.0) 授权。 该许可证确保软件保持自由,并且任何修改或基于网络的实现也与社区共享。有关完整的法律文本,请参见 [LICENSE](./LICENSE) 文件。
标签:DNS解析, GitHub项目, Lua, Luau, Roblox, Ruby on Rails, URL提取, WAF测试, 代码复用, 偏好优化, 内存转储, 反编译, 存档管理, 开源项目, 性能提升, 数据提取, 文件序列化, 框架优化, 游戏修改, 游戏工具, 游戏开发, 游戏模组