meta data for this page
  •  

📚 差别

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

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
manual:native [2025/07/17 14:46] – ↷ 页面reference:native被移动至manual:native bibiboxsmanual:native [2025/07/24 10:38] (当前版本) bibiboxs
行 2: 行 2:
 # 引擎原生内容 # 引擎原生内容
  
-沙盘引擎》游戏原生提供了一些基础内容、功能、指令等,无论是开发者还是玩家,这些原生内容是有一定必要的。+沙盘引擎 原生提供了一些**基础内容、功能、指令**等,无论是开发者还是玩家,部分原生内容是有必要的。
  
  
-## 游戏快捷键+ 
 +## 主要文件 
 + 
 +沙盘引擎 是一款由[Unity](https://unity.com/)制作的独立游戏(创意引擎)。 
 + 
 +因其玩法完全基于模组的设计,引擎更多内置了**抽象功能**而不提供具体的实现,具体的效果根据**加载模组**的配置来执行。 
 + 
 +也就是说,沙盘引擎 是一个由**游戏本体**和**模组文件**共同组成的最终“游戏”。 
 + 
 +> 举例:正如[《半条命》(引擎)](https://developer.valvesoftware.com/wiki/Half-Life)搭配着[《反恐精英》(模组)](https://developer.valvesoftware.com/wiki/Counter-Strike),最终组成了新的独立游戏。 
 + 
 + 
 + 
 +| 文件夹                 | 说明                                                         | 
 +| ---------------------- | ------------------------------------------------------------ | 
 +| `Archives`             | 存放基础档案、模组独立档案、收藏服务器列表等<br />*通常不会放置重要的内容,更多是当前玩家独立的配置文件* | 
 +| `Batches`              | 常用的快速批处理文件                                         | 
 +| `Caches`               | 引擎缓存目录,可以定时清理删除                               | 
 +| `DedicatedServer`      | [专用服务器](manual/gameserver)相关                          | 
 +| `Docs`                 | 存放文档及相关内容                                           | 
 +| `Languages`            | [引擎多语言](reference/language)相关                         | 
 +| `Logs`                 | 日志输出相关                                                 | 
 +| `Maps`                 | 存放地图文件(本地、下载、备份地图等)                       | 
 +| `Mods`                 | 存放独立模组(本地、下载、临时模组等)                       | 
 +| `SandtableEngine_Data` | 沙盘引擎关键数据目录(Unity Build)<br />*不应该在此处放置任何其他文件* | 
 + 
 +| 文件                      | 说明                           | 
 +| ------------------------- | ------------------------------ | 
 +| **`SandtableEngine.exe`** | 引擎主要程序(启动程序)       | 
 +| `Engine.json`             | 引擎本地用户配置               | 
 +| `MasterServer.cfg`        | 主服务器信息配置,通常无需改动 | 
 + 
 + 
 + 
 +## 快捷键
  
 | 快捷键        | 说明                                                         | | 快捷键        | 说明                                                         |
行 16: 行 50:
  
  
-## 游戏常量+## 常量
  
 | 名称                                            | 说明 | | 名称                                            | 说明 |
行 23: 行 57:
 | 加入服务器超时时间                              | 7秒 | | 加入服务器超时时间                              | 7秒 |
 | 网络超时时间(网络连接)                        | 15秒 | | 网络超时时间(网络连接)                        | 15秒 |
-| PLAYER_COUNT_MAX                                | 100  | +`PLAYER_COUNT_MAX`                              | 100  | 
-| CHARACTER_COUNT_MAX                             | 1000 | +`CHARACTER_COUNT_MAX`                           | 1000 | 
-| VEHICLE_COUNT_MAX                               | 500 | +`VEHICLE_COUNT_MAX`                             | 500 | 
-| PICKUP_COUNT_MAX                                | 2000 | +`PICKUP_COUNT_MAX`                              | 2000 | 
-| CHECKPOINT_COUNT_MAX                            | 1000 | +`CHECKPOINT_COUNT_MAX`                          | 1000 | 
-| MODELOBJECT_COUNT_MAX(动态Object,而非Static) | 5000 |+`MODELOBJECT_COUNT_MAX`(动态Object,而非Static) | 5000 |
  
  
  
-## 游戏RCON功能 +## 内置指令
- +
-> **注意:此部分内容是未来计划内容,当前仅供参考。** +
- +
-沙盘引擎内置了一个遵循RCON原则,**针对服务器管理员、开发者的指令功能**。 +
- +
-当玩家通过聊天输入框以指令的形式输入`/rcon xxx`可尝试登陆RCON管理员,此密码在服务器启动参数中设定。 +
- +
-> 使用RCON功能,可以在任何模组环境下使用一些内置的功能,例如**刷车、刷道具、刷新角色及更换授权**等,同时也可以对服务器信息进行一些修改,已经踢人、封禁等常规功能。 +
-+
-> 如你所见,RCON是一个强大且存在安全隐患的功能,==服务器管理员应该只将此密码发放给被信任的人==。 +
- +
- +
- +
-## 游戏指令+
  
 在游戏过程中,通过**聊天框内`/`开头**的方式可输入一串指令。 在游戏过程中,通过**聊天框内`/`开头**的方式可输入一串指令。
行 65: 行 85:
 ## 游戏控制台 ## 游戏控制台
  
-**《沙盘引擎》**在游戏环境内置了一个方便的调试工具,此功能可通过设置菜单进行开启或关闭。+沙盘引擎 内置了一个方便的**调试工具**,此功能可通过**设置菜单**进行开启或关闭。
  
-无论是开发者还是用户,均可以在**控制台选项(游戏设置)开启状态**下,使用按键~】来进行控制台激活。+无论是开发者还是玩家,均可以在此功能**开启状态**下,使用按键`[~]`进行控制台激活。
  
  
行 73: 行 93:
 ### 输出调试 ### 输出调试
  
-补充:通过游戏设置开关或`-debugmode`启动参数可开启**独立输出控制台(DOS)**。+扩展:通过**游戏设置**开关或`-debugmode`启动参数可开启**独立输出控制台(DOS)**。
  
-控制台面板(及悬浮窗)开启此功能后,将会常驻在屏幕范围内,可以方便的监测引擎的输出Debug内容,以输出的严重类型。+控制台面板(及悬浮窗)功能开启后,将会常驻在屏幕范围内,可以方便的查看引擎的输出内容及消息类型。
  
-同Unity输出调试类型相同沙盘引擎也继承了输出严重类型的风格是会有一些差+输出类型                          | 颜色 | 说明                                                         | 
 +| --------------------------------- | ---- | ------------------------------------------------------------ | 
 +| 正常 | 白色 | 标准输出信息可能包含为引擎、模组或高级玩家用户参考的信息   | 
 +| 警告 | 黄色 | 警告类型信息,可能包含会对引擎、模组产生异常信息<br />有时可能也表示**关键提醒**信息并非需要处理的异常和警告 | 
 +| 重要 | 红色 | 重要类型信息,可能包含直接影响引擎、模组产生问题或错误的信息<br />时可能也表示**特别需要注意**的信息,并非是需要处理的常和警告 |
  
-| 输出类型 | 颜色 | 说明                                                         | +> 玩家如果在**引擎&模组**测试阶段遇到问题,可以尝试参考控制台输出信息。
-| -------- | ---- | ------------------------------------------------------------ | +
-| 正常     | 白色 | 标准输出信息,可能包含为引擎、模组或高级玩家用户参考的信息   | +
-| 警告     | 黄色 | 警告类型信息,可能包含会对引擎、模组产生异常的信息<br />有时可能也表示**关键提醒**信息,并非是需要处理的异常和警告 | +
-| 严重     | 红色 | 严重类型信息,可能包含会直接影响引擎、模组产生问题或错误的信息<br />有时可能也表示**特别需要注意**的信息,并非是需要处理的异常和警告 | +
- +
-开发者或玩家如果在引擎&模组测试阶段遇到问题,可以尝试参考控制台输出信息。+
 > >
-也可以根据情况将输出信息(或`.log`文件)反馈至《沙盘引擎开发组或模组开发者。+> 根据情况,可将输出信息(或`Logs\*.log`文件)反馈至**引擎开发组****模组开发者**
  
  
行 93: 行 111:
 ### 输入交互 ### 输入交互
  
-**控制台面板**除了可以输出信息外,也可以由输入合法的指令进行交互。+**控制台面板**除了可以输出信息外,也支持输入合法的指令交互。
  
-用户只需在**控制台面板**底部区域的**输入框**进行指令输入即可,同时会有自动补全`TAB`和提示功能,按下回车按键即可发送+玩家只需在**控制台面板**底部区域的**输入框**输入即可,同时会有自动补全`[TAB]`和提示功能。
  
-输入指令在某些层面算是进阶指令,==错误或不合时宜的使用可能会引起未知的情况==+**控制台指令**属于进阶指令,**错误或不合时宜**的使用可能会引起未知的情况。
  
  
行 115: 行 133:
 | `workshop`                |                                        | 立即跳转到**实验工坊编辑器**场景(不会保存当前数据)         | | `workshop`                |                                        | 立即跳转到**实验工坊编辑器**场景(不会保存当前数据)         |
 | `mainscene`                                                      | 立即跳转到【Main】主世界初始场景(不会保存当前数据)         | | `mainscene`                                                      | 立即跳转到【Main】主世界初始场景(不会保存当前数据)         |
-| `updatesdk`                                                      | **为当前模组更新`ModSDK`内容<br />(模组开发环境、VSCode最新声明文件等)** |+| `updatesdk`                                                      | **为当前模组更新`ModSDK`内容==(覆盖模组目录)==<br />(模组开发环境、VSCode最新声明文件等)** | 
 + 
 + 
 + 
 +## 启动参数&命令行 
 + 
 +> 《沙盘引擎》支持对`SandtableEngine.exe`编写启动参数&命令行,以达到高级自定义的启动及使用。 
 + 
 + 
 + 
 +### 参数列表 
 + 
 +| Command                                      | 说明                                                         | 示例                                                   | 
 +| -------------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------ | 
 +| `@Package`                                   | 加载指定包名的模组                                           | `@com.sengine.introduce`                               | 
 +| `#Address`<br />`#Address|Password|UserData` | 直接尝试连接到指定IP\联机地址,**允许附加参数**<br />联机成功后通常会自动同步模组资源 | `#127.0.0.1:8192`<br />`#127.0.0.1:8192|password|test` | 
 +| `-debugmode`                                 | 以临时**DOS附加窗口**的方式启动游戏,额外启动一个DOS输出调试窗口 | -                                                      | 
 +| `-frame_XX`                                  | 设置最大游戏帧数(重定向)<br />**- 专用服务器:最大逻辑处理帧率(数值越大服务器越流畅,CPU占用越多)** | `-frame_60` //MAX 60 FPS                               | 
 +| `-port_XX`                                   | 设置网络连接端口(重定向),此参数通常用于BAT模式            | `-port_8192`                                           | 
 +| `-startup_XX`                                | 设置模组`Startup.json`配置文件(重定向),此参数通常用于BAT模式 | `-startup_test` //test.json                            | 
 +| `-nographics -batchmode -serverbuild`        | 以无DX窗口方式启动[专用服务器](reference/dedicatedserver),需要搭配`@`使用 | -                                                      | 
 +| `-force-glcore`                              | 以`GLCore`渲染方式启动游戏,主要针对`DX11`模式不适用的情况<br />对于部分显卡,可能游戏性能稍有提升 | -                                                      | 
 +| `-force-vulkan`(实验性)                    | 以`Vulkan`渲染方式启动游戏,主要针对`DX11`模式不适用的情况<br />对于部分显卡,可能游戏性能稍有提升 | -                                                      | 
 +| `-force-d3d12`(实验性)                     | 以`DX12`渲染方式启动游戏,主要针对`DX11`模式不适用的情况<br />对于部分显卡,可能游戏性能稍有提升 | -                                                      | 
 +| `-lowresolution`                             | 以较低分辨率启动游戏,主要用于默认分辨率异常的情况           | -                                                      | 
 +| `-mapeditor`                                 | 直接启动[地图编辑器](reference/mapeditor),通常更建议在模组加载后启动 | -                                                      | 
 +| `-local`                                     | 强制以本地玩家方式(非Steam用户)启动,如果Steam已被启动,则不会启用Steam验证<br />==注意:有些服务器可能会阻止非Steam用户加入== | -                                                      | 
 + 
 + 
 + 
 +### 使用示例 
 + 
 +1. 复制`SandtableEngine.exe`,拷贝**快捷方式**至指定位置 
 +2. 右键**快捷方式**点击属性,在**快捷方式**“目标”文本后插入命令行,通常以空格分割多个参数 
 +3. 例如:`D:\SandtableEngine\SandtableEngine.exe -debugmode -local #127.0.0.1:8192` 
 +4. 解释:启动沙盘引擎,并且开启DOS输出窗口,同时以非Steam方式启动,并且尝试连接到`127.0.0.1:8192`服务器 
 + 
 + 
 + 
 +## Startup.TXT 
 + 
 +在某些情况下,开发者可能希望**整合引擎+模组**,尤其是希望运行`SandtableEngine.exe`后自动加载某模组(或执行其他命令)。 
 + 
 +此情况可在**引擎目录**新建`Startup.txt`文件,在文件内正常填写命令行参数,启动引擎程序时将会**优先采用此命令行参数**。 
 + 
 +> 执行优先级:系统快捷方式 > `Startup.txt` 
 + 
 + 
 + 
 +## Engine.JSON 配置文件 
 + 
 +此文件记录**引擎全局通用配置项**(包括玩家配置选项),如文件不存在将会自动生成。 
 + 
 +> 通常情况下,在将游戏本体分享给其他人时,应该忽略此文件的打包,因为每个人的**玩家设定\配置**是不同的,不应该直接沿用。 
 + 
 + 
 + 
 +### 主要配置说明 
 +> 此配置文件比较重要且相对庞大,下方仅展示**部分关键配置属性**,具体可参考引擎目录`Engine.json`文件。 
 + 
 +| 配置                       | 说明                                                         | 默认值    | 
 +| -------------------------- | ------------------------------------------------------------ | --------- | 
 +| `Language`                 | 引擎默认用户语言(优先)                                     | `English` | 
 +| `VerifyServerUniqueUser`   | 是否检查服务器内相同的连接用户<br />**如果开启,则会阻止相同IP\UUID的用户同时进入(`DuplicateNameOrUUID`)**<br />**==(开发者在测试联机阶段,应该关闭这个属性,否则将无法本地测试)==** | `true`    | 
 +| `VerifyServerSteamEdition` | 是否检查服务器内Steam版连接用户<br />**如果开启,则会阻止非Steam用户进入服务器**<br />**==(如果服务器受到玩家欺骗和骚扰,可以开启此选项以仅限制Steam用户连接)==** | `false`   | 
 +| `NetworkAddress`           | 设置作为主机\服务器时的**优先绑定IP地址**                    | `0.0.0.0` | 
 + 
 + 
 + 
 +## 文件注意事项 
 +> 基于**Steam版本更新机制**,每当 沙盘引擎 提交新版更新时,可能会**自动替换\删除**游戏目录的许多文件,这其中可能包括**游戏语言、内置模组、内置地图**等文件及目录。 
 +
 +> ==如果玩家有**自定义修改**需求(例如二次创作**语言、地图、模组**等),务必**拷贝**相关文件,而不是直接修改**原始文件**。== 
 + 
 +- **示例#1:**希望增加新的自定义引擎翻译,应该拷贝相关语言文件并重命名,而不是直接修改目标语言文件 
 +- **示例#2:**希望修改内置模组或二次创作,应该完整拷贝目标模组,并重命名模组目录名,而不是直接修改模组内的文件 
 + 
 +**(注意:此机制仅对 沙盘引擎 版本内置文件生效,自定义等文件不会被更新替换,但需要注意命名避免冲突)**