meta data for this page
  •  

📚 差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
developer:build [2025/07/24 19:41] – 移除 - 外部编辑 (Unknown date) 127.0.0.1developer:build [2025/07/25 18:25] (当前版本) bibiboxs
行 1: 行 1:
 +<markdown>
 +# 打包发布及分享
  
 +当模组开发者完成模组的创作,可以随时且方便的**分享和发布**。
 +
 +> **版权说明**
 +>
 +> 使用 沙盘引擎 创作的模组作品,其所有权归于**模组作者**,由此带来的**所有利弊**均归于**模组作者**。
 +
 +
 +
 +## 打包模组本体
 +
 +沙盘引擎 模组没有**真正意义**上的**“打包”**概念,因为模组是基于**模组文件夹**的形式存在的。
 +
 +开发者可以用自己喜欢的任何方式(甚至自制客户端),只需将**模组本体**放置到沙盘引擎`Mods`目录,即可自动装载到模组列表,随后可通过**命令行**等方式启动`SandtableEngine.exe`进程即可。
 +
 +> 沙盘引擎 只是一个**载体**,将任何**SE模组文件**放置到`Mods`文件夹,均可以实现安装及加载模组的效果。
 +
 +```
 +//PlayGame.bat
 +SandtableEngine.exe @com.sengine.example
 +```
 +
 +
 +
 +### 优化包体的方式
 +
 +> ==注意:此部分内容将在后续版本中实现。==
 +
 +如果开发者制作的是服务端、客户端分离,或者对包体大小有要求的时候,就可以使用优化包体的方案。
 +
 +沙盘引擎在加载读取模组时会优先判断目标模组在`Mods`文件夹内的类型,开发者可以将想要打包发布的模组文件夹进行`7z`格式的压缩。
 +
 +> 沙盘引擎在读取模组时会优先尝试读取**指定模组名称下**`.7z`类型压缩包,如果压缩包不存在则读取文件夹类型。
 +
 +**7z压缩格式**是一种比较通用且开源免费的压缩格式,可以将部分格式的文件很大程度的进行压缩,这样无论是在模组上传\下载还是考虑用户硬盘体验方面都是有益的**(如果模组目录包体过大,可能会导致每次载入模组解压时延迟)**。
 +
 +
 +
 +## 模组文件校验
 +
 +当玩家进行**联机模组**游戏时,为了避免游戏内容被修改,服务端会**自动检查**客户端的文件校验,如果**客户端文件**与**服务端文件**不匹配,则会自动从**服务端**下载最新的模组文件,最终弹出**重载模组**(下载完成,继续游戏)的提示。
 +
 +补充:如果模组玩法仅为**单机游戏**,则没有此方面的问题。
 +
 +
 +
 +## 提交Steam创意工坊
 +
 +> ==注意:此部分内容将在后续版本中实现。==
 +
 +开发者可将**自制模组**按照规范提交到**Steam创意工坊**。
 +
 +引擎内**模组浏览器**将支持创意工坊分区,可供玩家进行模组浏览及快速安装。
 +
 +
 +
 +## 模组发布及分享
 +
 +开发者完整制作模组**衍生作品**之后,可能会有发布独立游戏或商用的需求。
 +
 +> 值得注意的是,沙盘引擎的模组是**免费商用**的,无需支付任何版税。
 +
 +在此基础上,模组开发者无论制作**“独立游戏整合包”**(例如:CS1.6游戏本体包括半条命+CS模组),或者直接**上传到Steam创意工坊**,可以完全按照自己的想法来发布及分享。
 +
 +==沙盘引擎 允许开发者将**引擎本体**打包以方便玩家使用,但需要**完整保留**沙盘引擎 版权信息,同时不得以任何形式**篡改、破解**沙盘引擎 原有的功能、授权及SDK等内容。==
 +
 +
 +
 +## 上传网络模组
 +
 +> 如果开发者手中有完整模组希望被玩家体验,可以通过**下载服务器、CDN、GitCode、网盘直链**等方式进行分享。
 +
 +> 抛砖引玉,此方法还可以用作**模组更新、服务器打包更新**等。
 +
 +**通常格式例如:https://gitcode.com/Bibiboxs/SandtableEngine/-/raw/master/Mod/com.sengine.VEGETAZSep01.zip**
 +
 +在确保**网络文件名**正确的情况下,即可将此类型的网址分享给其他玩家,**使其通过【模组管理器】菜单的【获取联网模组】功能进行下载并自动安装**。
 +
 +==注意:**网络文件名**将直接作为下载目标的**模组包名**,因此**网络文件名应该设置为标准的模组包名**。==
 +
 +
 +
 +
 +
 +
 +
 +
 +</markdown>