SurvivalCraft-API 生存战争插件版
介绍
生存战争插件版是基于 Candy Rufus Game 开发的 生存战争 Survivalcraft 二次开发的支持加载模组的版本
用户下载和使用说明
点击此处 进入发布页来下载
Android 安卓系统看这里
需要 64 位 ARM 架构 CPU,最低 Android 5.0
- 从 发布页 下载前缀为[Android],后缀为<tt>.apk
的安装包
- 安装后运行
- 第一次运行可能会跳转到标题为所有文件访问的授权界面,请授权此 APP(名称:生存战争2.4 API插件版1.8),否则此 APP 无法运行
iOS、iPadOS 系统看这里
需要 64 位 ARM 架构 CPU,最低系统版本 16.0
- 从 发布页 下载前缀为[iOS],后缀为<tt>.ipa
的安装包
- 安装包下载后需要使用爱思助手进行签名
- 推荐使用登录自己的Apple ID方式获取免费签名,签名后的 ipa 包仅自己可用
重要 由于 iOS、iPadOS 系统不支持 JIT 编译(参阅此处),因此<font color="red">任何带dll文件的模组都不可用!</font>可等待后续完善的 Javascript 方式运行模组的更新
Windows 系统看这里
需要 x64 架构 CPU,最低 Windows 10 版本 1607,显卡驱动需要支持OpenGL ES 3.2 图形 API(对于兼容补丁,需要支持 Direct3D 9 图形 API)
- 从 发布页 下载前缀为[Windows],后缀为.7z,名称不带兼容补丁的压缩包
- 使用您喜欢的解压缩软件进行解压
- 运行<font color="red">解压后
</font>的<tt>.exe文件
- 第一次启动游戏,系统可能会提示您安装 .NET 桌面运行时 10.0,请按提示完成安装并重启您的电脑
- 如果启动没有任何反应,可能是因为您的 Windows 系统不完整,请尝试手动安装 .NET 桌面运行时 10.0;如果安装后仍然启动没有任何反应,建议重新安装完整的 Windows 系统
- 如果弹窗提示你的显卡驱动不支持当前程序使用的图形API,请尝试更新显卡驱动,或使用兼容补丁。,如果显卡驱动更新后仍然弹窗,请尝试下载名称中有兼容补丁的压缩包,然后解压到之前解压到的目录,运行<font color="red">解压后的新的
</font>.exe文件
如果使用兼容补丁后仍然弹窗,建议为您的电脑购买并装上五年内发布的显卡
- 如果弹窗提示GLFW 窗口平台无法使用。请安装 Microsoft Visual C++ Redistributable,点击"确定"来打开下载页面。,请按提示完成下载和安装。或者点击此处打开下载页面
Linux 系统看这里
需要 x64 架构 CPU,最低系统版本详见 此处,显卡驱动需要支持 OpenGL ES 3.2 图形 API
- 从 发布页 下载前缀为[Linux],后缀为.7z的压缩包,之后使用您喜欢的解压缩软件进行解压
- 安装以下包:
- dotnet-runtime-10.0 .NET 运行时 10.0,安装方法详见 此处
- libopenal-dev 一个声音API,对于 Ubuntu 系统可运行sudo apt-get install libopenal-dev来安装,其他分发版类似
- xsel 一个剪贴板操作API,对于 Ubuntu 系统可运行sudo apt-get install xsel来安装
- 有两种启动方法:
- 在第 1 步解压出来的目录运行dotnet Survivalcraft.dll
- 同样在解压出来的目录,先运行chmod +x Survivalcraft来添加可执行权限(只需要一次),再双击Survivalcraft即可
网页版看这里
需要支持 SharedArrayBuffer、OffscreenCanvas、Origin Private File System 等现代浏览器特性的浏览器,推荐使用最新版的 Chrome 浏览器。
- 打开 https://scapiweb.netlify.app/ 即可游玩
说明:完全不支持模组和运行 Javascript
常见问题
- 如果游戏打开后语言不是您希望的语言,请点击左下角第二个图标,即可切换语言
- 模组文件的后缀为<tt>.scmod
,安装位置:
- Android 系统:/storage/emulated/0/Survivalcraft2.4_API1.8/Mods
- 其他系统:(解压到的目录)/Mods
- 在 Android 系统和 Windows 系统,你能在打开后缀为<tt>.scmod
的文件时选择插件版,即可完成模组的安装(还支持打开<tt>.scworld、<tt>.scbtex、<tt>.scskin、<tt>.scfpack)
- 按上面说明处理后仍然打不开游戏,或者运行遇到任何错误,请尝试移除所有模组,如果问题依旧,可在 此处 反馈问题
- 安装模组后打不开游戏,或者运行遇到任何错误,请先向模组作者反馈问题,如有必要再由模组作者向本仓库反馈问题
- 如果 Windows 系统上游戏帧数不低但鼠标调整视角感觉卡顿,关闭系统设置-鼠标设置-增强指针精度,即可解决
- 要取消 Windows 系统上的文件关联,游戏设置-设备兼容和日志-文件关联,禁用即可
- 网页版打不开?请尝试更换更好的网络,如果还是不行,请打开 https://scapiweb.netlify.app/dashboard.html,检测你的浏览器是否支持网页版所需的功能。这里推荐使用最新版的 Chrome 浏览器。
- 网页版键盘操作没反应?请将输入法切换成英文模式
模组开发者引用
- 首先复制本存储库根目录的nuget.config文件到您的解决方案目录(和<tt>.sln
文件同一层级)
有两种常规方式添加引用包 (nupkg),请选择您喜欢的方式
bat
dotnet add package SurvivalcraftAPI.Survivalcraft
文件的<Project>...</Project>中添加以下行(下面的版本号可能不是最新的)
xml
<ItemGroup>
<PackageReference Include="SurvivalcraftAPI.Survivalcraft" Version="1.8.2.3"/>
</ItemGroup>
- 不推荐以上方法之外的引用方式,如果网络实在不通畅无法完成 nupkg 的下载,可从 发布页 下载前缀为[Nupkgs],后缀为.7z的压缩包,将其中的所有nupkg文件解压到您喜欢的目录,之后按照 微软官方教程 手动添加
- 当然还有更麻烦的引用方式,按照上一步提到的方式或其他方式得到 nupkg 后,将其逐一解压,找到其中的Engine.dll、EntitySystem.dll、Survivalcraft.dll,将它们的路径记录下来,在<tt>.csproj
文件的<Project>...</Project>中添加以下行(大部分 IDE 支持在图形界面进行该操作,最终达成相同的效果就好)
<ItemGroup>
<Reference Include="Engine" HintPath="(在此填写Engine.dll的文件路径,不要括号)" />
<Reference Include="EntitySystem" HintPath="(EntitySystem.dll的文件路径,不要括号)" />
<Reference Include="Survivalcraft" HintPath="(Survivalcraft.dll的文件路径,不要括号)" />
</ItemGroup>
项目构建说明
首先使用 Git 克隆此仓库
git clone https://gitee.com/SC-SPM/SurvivalcraftApi.git
> 还没有 Git?官网下载
- 进入此仓库,使用 Visual Studio 或 Rider 打开SurvivalcraftApi目录中的SurvivalCraftApi.sln
- 如果只是在 Windows 系统上进行调试,请右键卸载Survivalcraft.Android、Survivalcraft.Linux等非 Windows 的 Survivalcraft 项目,之后在Survivalcraft.Windows项目上右键,点击构建所选项目即可
- 如果需要生成 Android 系统上的APK安装包,请在Survivalcraft.Android项目上右键,点击加载项目,再点击归档以用于发布,之后按提示操作
- 如果要生成nupkg引用包,请运行项目根目录的PackNugetPackages.bat
- 如果要生成网页版,请右键卸载非 Browser 的 Survivalcraft 项目,并将配置切换到 Browser,之后在Survivalcraft.Browser项目上右键,点击构建所选项目即可;如果要生成最终用于发布的网页版,请运行项目根目录的PublishSurvivalcraftBrowser.bat
- 以上过程中,如果报错未安装相应功能,请按提示完成安装
感谢
- 西班牙语 (Español) 翻译
- Fire Dragon (Discord: firedragon4095)
- Kike13 (Discord: .kike.04)
- 越南语 (Tiếng Việt) 翻译
- Long (Discord: daylong89)
- 罗马尼亚语 (Română) 翻译
- 俄语 (Русский) 补充翻译
- Dasyukevich Pavel (VK: pawwel3l)