[{"data":1,"prerenderedAt":1803},["ShallowReactive",2],{"docs-doc-zh-CN-scnexus-package":3,"docs-list-zh-CN":1710},{"doc":4,"locale":1707,"available":1708},{"id":5,"title":6,"body":7,"description":1697,"extension":1698,"group":1699,"meta":1700,"navigation":1701,"order":727,"path":1702,"section":1699,"seo":1703,"stem":1704,"updated":1705,"__hash__":1706},"docs_zh\u002Fdocs\u002Fscnexus-package.md","星际枢纽压缩包标准",{"type":8,"value":9,"toc":1686},"minimark",[10,14,27,31,41,73,76,140,148,234,258,261,264,511,543,582,731,737,740,757,863,931,945,948,981,984,990,1048,1066,1075,1078,1097,1231,1241,1244,1334,1340,1362,1395,1398,1457,1460,1463,1466,1578,1581,1584,1622,1625,1628,1664,1682],[11,12,13],"p",{},"「星际枢纽」把压缩包直接当作安装包：玩家导入后，应用解压、读取清单、生成安装规划，再把地图与模组按声明落到游戏目录。作者只要把目录摆对、把清单写全，安装过程全自动。",[11,15,16,17,21,22,26],{},"本页是这份清单的字段定义。清单文件名为 ",[18,19,20],"code",{},"package.json","——它是",[23,24,25],"strong",{},"星际枢纽作品清单","，与 Node.js 项目的依赖配置无关；清单里出现脚本或网址不会被当作代码执行。",[28,29,30],"h2",{"id":30},"包的基本形状",[32,33,39],"pre",{"className":34,"code":36,"language":37,"meta":38},[35],"language-text","我的作品\u002F\n├─ package.json\n├─ Maps\u002F\n│  └─ MyProject\u002F\n│     ├─ Launcher.SC2Map\n│     └─ Chapter01.SC2Map\n└─ Mods\u002F\n   └─ MyProject.SC2Mod\n","text","",[18,40,36],{"__ignoreMap":38},[42,43,44,48,70],"ul",{},[45,46,47],"li",{},"清单放在压缩包根目录，且只能有一份。上传创意工坊时根目录必须直接是清单，不要再套一层「我的作品」文件夹；本地导入具备向下查找的兼容能力，但新作品不要依赖它。",[45,49,50,53,54,57,58,61,62,65,66,69],{},[18,51,52],{},"Maps\u002F","、",[18,55,56],{},"Mods\u002F"," 是",[23,59,60],{},"逻辑路径前缀","，不是磁盘绝对路径。清单里的 ",[18,63,64],{},"source_path"," 相对包根目录计，",[18,67,68],{},"target_path"," 相对游戏目录计，都不要填作者电脑上的路径。",[45,71,72],{},"清单是 UTF-8 编码的标准 JSON：不写注释、不写尾随逗号、不重复字段名。",[28,74,75],{"id":75},"作品类型",[77,78,79,97],"table",{},[80,81,82],"thead",{},[83,84,85,91,94],"tr",{},[86,87,88],"th",{},[18,89,90],{},"type",[86,92,93],{},"含义",[86,95,96],{},"安装后的行为",[98,99,100,114,127],"tbody",{},[83,101,102,108,111],{},[103,104,105],"td",{},[18,106,107],{},"campaign",[103,109,110],{},"替换对应官方战役的作品",[103,112,113],{},"在「战役管理」里激活后，从游戏进入该战役",[83,115,116,121,124],{},[103,117,118],{},[18,119,120],{},"customize",[103,122,123],{},"独立的自制地图或作品",[103,125,126],{},"安装到声明位置，可用启动器地图从客户端启动",[83,128,129,134,137],{},[103,130,131],{},[18,132,133],{},"dependency",[103,135,136],{},"多个作品共用的模组包",[103,138,139],{},"可独立安装与卸载，只提供模组资源",[11,141,142,144,145,147],{},[18,143,107],{}," 还必须给出 ",[18,146,107],{}," 字段，取值与对应的地图区域如下：",[77,149,150,163],{},[80,151,152],{},[83,153,154,157,160],{},[86,155,156],{},"值",[86,158,159],{},"战役",[86,161,162],{},"客户端识别的地图区域",[98,164,165,181,200,219],{},[83,166,167,172,175],{},[103,168,169],{},[18,170,171],{},"WOL",[103,173,174],{},"自由之翼",[103,176,177,180],{},[18,178,179],{},"\u002FMaps\u002FCampaign\u002F","，不含其他战役子目录",[83,182,183,188,191],{},[103,184,185],{},[18,186,187],{},"HOTS",[103,189,190],{},"虫群之心",[103,192,193,196,197],{},[18,194,195],{},"\u002FMaps\u002FCampaign\u002Fswarm\u002F","，含 ",[18,198,199],{},"evolution\u002F",[83,201,202,207,210],{},[103,203,204],{},[18,205,206],{},"LOTV",[103,208,209],{},"虚空之遗",[103,211,212,215,216],{},[18,213,214],{},"\u002FMaps\u002FCampaign\u002Fvoid\u002F"," 与 ",[18,217,218],{},"\u002FMaps\u002FCampaign\u002Fvoidprologue\u002F",[83,220,221,226,229],{},[103,222,223],{},[18,224,225],{},"NCO",[103,227,228],{},"诺娃隐秘行动",[103,230,231],{},[18,232,233],{},"\u002FMaps\u002FCampaign\u002Fnova\u002F",[11,235,236,237,239,240,53,243,53,245,53,248,53,251,53,254,257],{},"依赖包（",[18,238,133],{},"）不允许声明 ",[18,241,242],{},"maps",[18,244,107],{},[18,246,247],{},"manager",[18,249,250],{},"launcher",[18,252,253],{},"dependencies",[18,255,256],{},"localization"," 以及存档相关字段。",[28,259,260],{"id":260},"基础字段",[11,262,263],{},"以下字段三种类型通用。",[77,265,266,282],{},[80,267,268],{},[83,269,270,273,276,279],{},[86,271,272],{},"字段",[86,274,275],{},"类型",[86,277,278],{},"必填",[86,280,281],{},"说明",[98,283,284,305,319,333,347,361,377,392,406,421,435,449,463,477,491],{},[83,285,286,290,293,296],{},[103,287,288],{},[18,289,90],{},[103,291,292],{},"字符串",[103,294,295],{},"是",[103,297,298,53,300,53,302,304],{},[18,299,107],{},[18,301,120],{},[18,303,133],{}," 之一",[83,306,307,312,314,316],{},[103,308,309],{},[18,310,311],{},"name",[103,313,292],{},[103,315,295],{},[103,317,318],{},"作品名称，不能是空白",[83,320,321,326,328,330],{},[103,322,323],{},[18,324,325],{},"description",[103,327,292],{},[103,329,295],{},[103,331,332],{},"作品简介",[83,334,335,340,342,344],{},[103,336,337],{},[18,338,339],{},"version",[103,341,292],{},[103,343,295],{},[103,345,346],{},"作品版本，建议直接使用语义化版本",[83,348,349,354,356,358],{},[103,350,351],{},[18,352,353],{},"author",[103,355,292],{},[103,357,295],{},[103,359,360],{},"作者或制作团队",[83,362,363,368,371,374],{},[103,364,365],{},[18,366,367],{},"scnid",[103,369,370],{},"数字",[103,372,373],{},"否",[103,375,376],{},"创意工坊项目编号，非负安全整数，不能写成字符串",[83,378,379,384,387,389],{},[103,380,381],{},[18,382,383],{},"tags",[103,385,386],{},"字符串数组",[103,388,373],{},[103,390,391],{},"作品标签",[83,393,394,399,401,403],{},[103,395,396],{},[18,397,398],{},"website",[103,400,292],{},[103,402,373],{},[103,404,405],{},"作品网站",[83,407,408,413,416,418],{},[103,409,410],{},[18,411,412],{},"social",[103,414,415],{},"对象",[103,417,373],{},[103,419,420],{},"社交信息，见下",[83,422,423,428,430,432],{},[103,424,425],{},[18,426,427],{},"sponsor",[103,429,415],{},[103,431,373],{},[103,433,434],{},"赞助渠道，见下",[83,436,437,442,444,446],{},[103,438,439],{},[18,440,441],{},"$schema",[103,443,292],{},[103,445,373],{},[103,447,448],{},"编辑器用的 JSON Schema 地址，不是格式版本号",[83,450,451,456,458,460],{},[103,452,453],{},[18,454,455],{},"readme",[103,457,292],{},[103,459,373],{},[103,461,462],{},"包内说明文档路径",[83,464,465,470,472,474],{},[103,466,467],{},[18,468,469],{},"changelog",[103,471,292],{},[103,473,373],{},[103,475,476],{},"包内更新日志路径",[83,478,479,484,486,488],{},[103,480,481],{},[18,482,483],{},"docs",[103,485,386],{},[103,487,373],{},[103,489,490],{},"额外包内文档路径列表",[83,492,493,498,500,502],{},[103,494,495],{},[18,496,497],{},"assets",[103,499,386],{},[103,501,373],{},[103,503,504,505,215,508],{},"其他展示附件的白名单，支持 ",[18,506,507],{},"*",[18,509,510],{},"**",[11,512,513,514,517,518,521,522,53,525,528,529,53,532,535,536,539,540,542],{},"版本号推荐写成 ",[18,515,516],{},"主版本.次版本.修订版本","，例如 ",[18,519,520],{},"1.2.3","；预发布与构建元数据可写成 ",[18,523,524],{},"1.2.3-beta.1",[18,526,527],{},"1.2.3+build.5","。不要用 ",[18,530,531],{},"v1.2.3",[18,533,534],{},"最新版"," 或 ",[18,537,538],{},"1.2"," 作为发布版本。清单校验只要求 ",[18,541,339],{}," 是合法文本，工坊上传与 GitHub 安装源另有完整的语义化版本检查。",[11,544,545,547,548,53,551,53,554,53,557,53,560,53,563,566,567,547,569,53,572,53,575,53,578,581],{},[18,546,412],{}," 支持 ",[18,549,550],{},"twitter",[18,552,553],{},"discord",[18,555,556],{},"youtube",[18,558,559],{},"weibo",[18,561,562],{},"bilibili",[18,564,565],{},"qq_group","；",[18,568,427],{},[18,570,571],{},"paypal",[18,573,574],{},"patreon",[18,576,577],{},"buymeacoffee",[18,579,580],{},"afdian","。值都是字符串：",[32,583,587],{"className":584,"code":585,"language":586,"meta":38,"style":38},"language-json shiki shiki-themes material-theme-lighter github-light github-dark","{\n  \"website\": \"https:\u002F\u002Fexample.com\u002Fproject\",\n  \"social\": {\n    \"bilibili\": \"https:\u002F\u002Fspace.bilibili.com\u002F123456\",\n    \"qq_group\": \"123456789\"\n  },\n  \"sponsor\": {\n    \"afdian\": \"https:\u002F\u002Fexample.com\u002Fsupport\"\n  }\n}\n","json",[18,588,589,598,627,641,663,682,688,701,719,725],{"__ignoreMap":38},[590,591,594],"span",{"class":592,"line":593},"line",1,[590,595,597],{"class":596},"sP7_E","{\n",[590,599,601,605,608,611,614,618,622,624],{"class":592,"line":600},2,[590,602,604],{"class":603},"s39Yj","  \"",[590,606,398],{"class":607},"sseR_",[590,609,610],{"class":603},"\"",[590,612,613],{"class":596},":",[590,615,617],{"class":616},"sjJ54"," \"",[590,619,621],{"class":620},"s_sjI","https:\u002F\u002Fexample.com\u002Fproject",[590,623,610],{"class":616},[590,625,626],{"class":596},",\n",[590,628,630,632,634,636,638],{"class":592,"line":629},3,[590,631,604],{"class":603},[590,633,412],{"class":607},[590,635,610],{"class":603},[590,637,613],{"class":596},[590,639,640],{"class":596}," {\n",[590,642,644,647,650,652,654,656,659,661],{"class":592,"line":643},4,[590,645,646],{"class":603},"    \"",[590,648,562],{"class":649},"sZMiF",[590,651,610],{"class":603},[590,653,613],{"class":596},[590,655,617],{"class":616},[590,657,658],{"class":620},"https:\u002F\u002Fspace.bilibili.com\u002F123456",[590,660,610],{"class":616},[590,662,626],{"class":596},[590,664,666,668,670,672,674,676,679],{"class":592,"line":665},5,[590,667,646],{"class":603},[590,669,565],{"class":649},[590,671,610],{"class":603},[590,673,613],{"class":596},[590,675,617],{"class":616},[590,677,678],{"class":620},"123456789",[590,680,681],{"class":616},"\"\n",[590,683,685],{"class":592,"line":684},6,[590,686,687],{"class":596},"  },\n",[590,689,691,693,695,697,699],{"class":592,"line":690},7,[590,692,604],{"class":603},[590,694,427],{"class":607},[590,696,610],{"class":603},[590,698,613],{"class":596},[590,700,640],{"class":596},[590,702,704,706,708,710,712,714,717],{"class":592,"line":703},8,[590,705,646],{"class":603},[590,707,580],{"class":649},[590,709,610],{"class":603},[590,711,613],{"class":596},[590,713,617],{"class":616},[590,715,716],{"class":620},"https:\u002F\u002Fexample.com\u002Fsupport",[590,718,681],{"class":616},[590,720,722],{"class":592,"line":721},9,[590,723,724],{"class":596},"  }\n",[590,726,728],{"class":592,"line":727},10,[590,729,730],{"class":596},"}\n",[11,732,733,734,736],{},"不要编造创意工坊项目编号；关联工坊时填该项目实际分配的 ",[18,735,367],{},"。社交与赞助信息不保证在客户端每个页面都展示。",[28,738,739],{"id":739},"资源声明",[11,741,742,743,53,745,748,749,752,753,756],{},"地图与模组分别写在 ",[18,744,242],{},[18,746,747],{},"mods"," 两个数组里。地图文件扩展名是 ",[18,750,751],{},".SC2Map","，模组是 ",[18,754,755],{},".SC2Mod","，检查时不区分大小写。",[77,758,759,771],{},[80,760,761],{},[83,762,763,765,767,769],{},[86,764,272],{},[86,766,275],{},[86,768,278],{},[86,770,281],{},[98,772,773,786,807,822,835,848],{},[83,774,775,779,781,783],{},[103,776,777],{},[18,778,311],{},[103,780,292],{},[103,782,295],{},[103,784,785],{},"带扩展名的资源名，启动器通过它引用地图",[83,787,788,792,794,796],{},[103,789,790],{},[18,791,64],{},[103,793,292],{},[103,795,295],{},[103,797,798,799,802,803,806],{},"包内路径，地图以 ",[18,800,801],{},"\u002FMaps\u002F"," 开头，模组以 ",[18,804,805],{},"\u002FMods\u002F"," 开头",[83,808,809,813,815,817],{},[103,810,811],{},[18,812,68],{},[103,814,292],{},[103,816,373],{},[103,818,819,820],{},"游戏目录中的目标逻辑路径，省略时沿用 ",[18,821,64],{},[83,823,824,828,830,832],{},[103,825,826],{},[18,827,325],{},[103,829,292],{},[103,831,373],{},[103,833,834],{},"资源说明",[83,836,837,841,843,845],{},[103,838,839],{},[18,840,339],{},[103,842,292],{},[103,844,373],{},[103,846,847],{},"资源自身版本，不代替作品版本",[83,849,850,855,858,860],{},[103,851,852],{},[18,853,854],{},"components",[103,856,857],{},"布尔值",[103,859,373],{},[103,861,862],{},"资源以组件目录形式保存；实际以文件结构为准",[32,864,866],{"className":584,"code":865,"language":586,"meta":38,"style":38},"{\n  \"name\": \"Launcher.SC2Map\",\n  \"source_path\": \"\u002FMaps\u002FMyProject\u002FLauncher.SC2Map\",\n  \"target_path\": \"\u002FMaps\u002FMyProject\u002FStart.SC2Map\"\n}\n",[18,867,868,872,891,910,927],{"__ignoreMap":38},[590,869,870],{"class":592,"line":593},[590,871,597],{"class":596},[590,873,874,876,878,880,882,884,887,889],{"class":592,"line":600},[590,875,604],{"class":603},[590,877,311],{"class":607},[590,879,610],{"class":603},[590,881,613],{"class":596},[590,883,617],{"class":616},[590,885,886],{"class":620},"Launcher.SC2Map",[590,888,610],{"class":616},[590,890,626],{"class":596},[590,892,893,895,897,899,901,903,906,908],{"class":592,"line":629},[590,894,604],{"class":603},[590,896,64],{"class":607},[590,898,610],{"class":603},[590,900,613],{"class":596},[590,902,617],{"class":616},[590,904,905],{"class":620},"\u002FMaps\u002FMyProject\u002FLauncher.SC2Map",[590,907,610],{"class":616},[590,909,626],{"class":596},[590,911,912,914,916,918,920,922,925],{"class":592,"line":643},[590,913,604],{"class":603},[590,915,68],{"class":607},[590,917,610],{"class":603},[590,919,613],{"class":596},[590,921,617],{"class":616},[590,923,924],{"class":620},"\u002FMaps\u002FMyProject\u002FStart.SC2Map",[590,926,681],{"class":616},[590,928,929],{"class":592,"line":665},[590,930,730],{"class":596},[11,932,933,934,937,938,941,942,944],{},"上例读取包内 ",[18,935,936],{},"Maps\u002FMyProject\u002FLauncher.SC2Map","，安装为游戏目录下的 ",[18,939,940],{},"Maps\u002FMyProject\u002FStart.SC2Map","。",[18,943,68],{}," 要和地图里实际引用的资源路径一致，不能为了好看随便改。",[11,946,947],{},"路径规则：",[42,949,950,962,972,975,978],{},[45,951,952,953,956,957,53,959,961],{},"统一用 ",[18,954,955],{},"\u002F","，",[18,958,801],{},[18,960,805],{}," 前缀大小写要准确。",[45,963,964,965,53,968,971],{},"不允许盘符、网络共享路径、",[18,966,967],{},".",[18,969,970],{},"..","，也不允许越出安装目录。",[45,973,974],{},"声明的资源必须真实存在；同一个目标不能被两个资源覆盖，文件与目录也不能相互冲突。",[45,976,977],{},"不通过符号链接把包外文件带进安装范围。",[45,979,980],{},"组件形式的地图或模组声明整个资源根目录即可，不要逐个列出内部文件。",[28,982,983],{"id":983},"启动器",[11,985,986,987,989],{},"自制作品可以声明 ",[18,988,250],{},"：",[32,991,993],{"className":584,"code":992,"language":586,"meta":38,"style":38},"\"launcher\": {\n  \"name\": \"Launcher.SC2Map\",\n  \"description\": \"作品主菜单\"\n}\n",[18,994,995,1009,1027,1044],{"__ignoreMap":38},[590,996,997,999,1001,1003,1007],{"class":592,"line":593},[590,998,610],{"class":616},[590,1000,250],{"class":620},[590,1002,610],{"class":616},[590,1004,1006],{"class":1005},"su5hD",": ",[590,1008,597],{"class":596},[590,1010,1011,1013,1015,1017,1019,1021,1023,1025],{"class":592,"line":600},[590,1012,604],{"class":603},[590,1014,311],{"class":607},[590,1016,610],{"class":603},[590,1018,613],{"class":596},[590,1020,617],{"class":616},[590,1022,886],{"class":620},[590,1024,610],{"class":616},[590,1026,626],{"class":596},[590,1028,1029,1031,1033,1035,1037,1039,1042],{"class":592,"line":629},[590,1030,604],{"class":603},[590,1032,325],{"class":607},[590,1034,610],{"class":603},[590,1036,613],{"class":596},[590,1038,617],{"class":616},[590,1040,1041],{"class":620},"作品主菜单",[590,1043,681],{"class":616},[590,1045,1046],{"class":592,"line":643},[590,1047,730],{"class":596},[11,1049,1050,1053,1054,1056,1057,1060,1061,1063,1064,941],{},[18,1051,1052],{},"launcher.name"," 必须精确匹配 ",[18,1055,242],{}," 中",[23,1058,1059],{},"唯一","一项的 ",[18,1062,311],{},"，不是文件路径，也不是安装后的 ",[18,1065,68],{},[11,1067,1068,1069,53,1071,1074],{},"未声明时，客户端会尝试识别 ",[18,1070,886],{},[18,1072,1073],{},"启动器.SC2Map"," 这类常见名称，并在安装确认界面让玩家选择；安装后也能在作品详情里重新选择。玩家的本地选择不会改写作者原清单。",[28,1076,1077],{"id":1077},"附带的图片与文档",[11,1079,1080,1081,1084,1085,1088,1089,53,1091,53,1093,53,1095,941],{},"战役可声明 ",[18,1082,1083],{},"banner","，自制作品可声明 ",[18,1086,1087],{},"cover","，两者不能互换或同时出现；依赖包两者都不允许。三种类型都可以声明 ",[18,1090,455],{},[18,1092,469],{},[18,1094,483],{},[18,1096,497],{},[32,1098,1100],{"className":584,"code":1099,"language":586,"meta":38,"style":38},"{\n  \"cover\": \"images\u002Fcover.webp\",\n  \"readme\": \"docs\u002FREADME.md\",\n  \"changelog\": \"docs\u002FCHANGELOG.txt\",\n  \"docs\": [\"docs\u002Fguide.md\", \"docs\u002Fcredits.txt\"],\n  \"assets\": [\"images\u002F**\", \"docs\u002F*.md\"]\n}\n",[18,1101,1102,1106,1125,1144,1163,1196,1227],{"__ignoreMap":38},[590,1103,1104],{"class":592,"line":593},[590,1105,597],{"class":596},[590,1107,1108,1110,1112,1114,1116,1118,1121,1123],{"class":592,"line":600},[590,1109,604],{"class":603},[590,1111,1087],{"class":607},[590,1113,610],{"class":603},[590,1115,613],{"class":596},[590,1117,617],{"class":616},[590,1119,1120],{"class":620},"images\u002Fcover.webp",[590,1122,610],{"class":616},[590,1124,626],{"class":596},[590,1126,1127,1129,1131,1133,1135,1137,1140,1142],{"class":592,"line":629},[590,1128,604],{"class":603},[590,1130,455],{"class":607},[590,1132,610],{"class":603},[590,1134,613],{"class":596},[590,1136,617],{"class":616},[590,1138,1139],{"class":620},"docs\u002FREADME.md",[590,1141,610],{"class":616},[590,1143,626],{"class":596},[590,1145,1146,1148,1150,1152,1154,1156,1159,1161],{"class":592,"line":643},[590,1147,604],{"class":603},[590,1149,469],{"class":607},[590,1151,610],{"class":603},[590,1153,613],{"class":596},[590,1155,617],{"class":616},[590,1157,1158],{"class":620},"docs\u002FCHANGELOG.txt",[590,1160,610],{"class":616},[590,1162,626],{"class":596},[590,1164,1165,1167,1169,1171,1173,1176,1178,1181,1183,1186,1188,1191,1193],{"class":592,"line":665},[590,1166,604],{"class":603},[590,1168,483],{"class":607},[590,1170,610],{"class":603},[590,1172,613],{"class":596},[590,1174,1175],{"class":596}," [",[590,1177,610],{"class":616},[590,1179,1180],{"class":620},"docs\u002Fguide.md",[590,1182,610],{"class":616},[590,1184,1185],{"class":596},",",[590,1187,617],{"class":616},[590,1189,1190],{"class":620},"docs\u002Fcredits.txt",[590,1192,610],{"class":616},[590,1194,1195],{"class":596},"],\n",[590,1197,1198,1200,1202,1204,1206,1208,1210,1213,1215,1217,1219,1222,1224],{"class":592,"line":684},[590,1199,604],{"class":603},[590,1201,497],{"class":607},[590,1203,610],{"class":603},[590,1205,613],{"class":596},[590,1207,1175],{"class":596},[590,1209,610],{"class":616},[590,1211,1212],{"class":620},"images\u002F**",[590,1214,610],{"class":616},[590,1216,1185],{"class":596},[590,1218,617],{"class":616},[590,1220,1221],{"class":620},"docs\u002F*.md",[590,1223,610],{"class":616},[590,1225,1226],{"class":596},"]\n",[590,1228,1229],{"class":592,"line":690},[590,1230,730],{"class":596},[11,1232,1233,1234,1237,1238,1240],{},"这些路径都相对",[23,1235,1236],{},"压缩包根目录","，推荐写成不带起始 ",[18,1239,955],{}," 的形式。清单只声明路径，不检查文件是否存在；真实读取、安全校验与展示由客户端负责。",[11,1242,1243],{},"字段省略时，客户端按固定顺序在清单同级探测默认名称（精确匹配，区分大小写）：",[77,1245,1246,1255],{},[80,1247,1248],{},[83,1249,1250,1252],{},[86,1251,272],{},[86,1253,1254],{},"探测顺序",[98,1256,1257,1276,1294,1314],{},[83,1258,1259,1264],{},[103,1260,1261,1263],{},[18,1262,1083],{},"（仅战役）",[103,1265,1266,1269,1270,1269,1273],{},[18,1267,1268],{},"banner.jpg"," → ",[18,1271,1272],{},"banner.png",[18,1274,1275],{},"banner.webp",[83,1277,1278,1283],{},[103,1279,1280,1282],{},[18,1281,1087],{},"（仅自制）",[103,1284,1285,1269,1288,1269,1291],{},[18,1286,1287],{},"cover.jpg",[18,1289,1290],{},"cover.png",[18,1292,1293],{},"cover.webp",[83,1295,1296,1300],{},[103,1297,1298],{},[18,1299,455],{},[103,1301,1302,1269,1305,1269,1308,1269,1311],{},[18,1303,1304],{},"README.txt",[18,1306,1307],{},"README.md",[18,1309,1310],{},"readme.txt",[18,1312,1313],{},"readme.md",[83,1315,1316,1320],{},[103,1317,1318],{},[18,1319,469],{},[103,1321,1322,1269,1325,1269,1328,1269,1331],{},[18,1323,1324],{},"CHANGELOG.txt",[18,1326,1327],{},"CHANGELOG.md",[18,1329,1330],{},"changelog.txt",[18,1332,1333],{},"changelog.md",[11,1335,1336,1337,1339],{},"显式写了图片路径但文件不存在或无法加载时，直接使用客户端默认图片，不再探测同级文件；显式写了文档路径但缺失时，忽略该文档，同样不回退探测。",[18,1338,483],{}," 只读列表里的文件，不扫描目录。",[11,1341,1342,57,1344,1347,1348,53,1350,53,1352,1354,1355,1357,1358,1361],{},[18,1343,497],{},[23,1345,1346],{},"其他附件","的白名单。显式声明的图片、",[18,1349,455],{},[18,1351,469],{},[18,1353,483],{}," 以及省略字段时的默认候选会自动纳入，无需重复列举；除此之外的附件，包括文档里链接到的图片和另一个文档，都必须匹配 ",[18,1356,497],{},"。不写或写 ",[18,1359,1360],{},"[]"," 表示不保留任何未列出的附件。",[11,1363,1364,1365,1367,1368,989,1370,1373,1374,956,1377,1380,1381,1384,1385,1388,1389,1392,1393,941],{},"白名单只支持单段内的 ",[18,1366,507],{}," 与独立路径段的 ",[18,1369,510],{},[18,1371,1372],{},"images\u002F*.png"," 不匹配 ",[18,1375,1376],{},"images\u002Fsub\u002Fa.png",[18,1378,1379],{},"images\u002F**\u002F*.png"," 两级都匹配，",[18,1382,1383],{},"**\u002F*.md"," 也能匹配根目录的 ",[18,1386,1387],{},"guide.md","。不支持 ",[18,1390,1391],{},"?","、方括号、花括号、否定规则与段内 ",[18,1394,510],{},[11,1396,1397],{},"当前客户端的读取上限：",[77,1399,1400,1410],{},[80,1401,1402],{},[83,1403,1404,1407],{},[86,1405,1406],{},"项目",[86,1408,1409],{},"限制",[98,1411,1412,1420,1436,1444],{},[83,1413,1414,1417],{},[103,1415,1416],{},"图片格式与大小",[103,1418,1419],{},"JPEG \u002F PNG \u002F WebP，单文件 ≤ 8 MiB，解码后统一转为 PNG 展示",[83,1421,1422,1425],{},[103,1423,1424],{},"文档格式与大小",[103,1426,1427,1428,1431,1432,1435],{},"UTF-8 的 ",[18,1429,1430],{},".md"," \u002F ",[18,1433,1434],{},".txt","，单文件 ≤ 1 MiB",[83,1437,1438,1441],{},[103,1439,1440],{},"附件总量",[103,1442,1443],{},"最多 256 个文件，合计 ≤ 64 MiB",[83,1445,1446,1449],{},[103,1447,1448],{},"文档内链接",[103,1450,1451,1452,1431,1454,1456],{},"只能指向同一作品包内的 ",[18,1453,1430],{},[18,1455,1434],{},"，可带标题片段；不加载远程资源",[11,1458,1459],{},"附件以客户端管理的私有副本形式保存，删掉原始压缩包或来源目录后仍能读取，后续扫描也不会丢弃。",[28,1461,1462],{"id":1462},"其他可选字段",[11,1464,1465],{},"以下字段仅战役与自制作品可用。",[77,1467,1468,1480],{},[80,1469,1470],{},[83,1471,1472,1474,1477],{},[86,1473,272],{},[86,1475,1476],{},"结构",[86,1478,1479],{},"当前含义",[98,1481,1482,1510,1526,1544,1561],{},[83,1483,1484,1488,1491],{},[103,1485,1486],{},[18,1487,256],{},[103,1489,1490],{},"对象数组",[103,1492,1493,1494,1497,1498,53,1500,53,1502,53,1504,53,1506,1509],{},"每项含必填 ",[18,1495,1496],{},"locale","，以及可选的 ",[18,1499,311],{},[18,1501,325],{},[18,1503,353],{},[18,1505,339],{},[18,1507,1508],{},"translators","；声明不保证界面已按语言切换",[83,1511,1512,1516,1518],{},[103,1513,1514],{},[18,1515,253],{},[103,1517,1490],{},[103,1519,1520,1521,215,1523,1525],{},"每项可含 ",[18,1522,367],{},[18,1524,339],{},"；只描述依赖，不会自动下载或安装",[83,1527,1528,1533,1541],{},[103,1529,1530],{},[18,1531,1532],{},"bank_enable",[103,1534,1535,535,1538],{},[18,1536,1537],{},"\"official\"",[18,1539,1540],{},"\"custom\"",[103,1542,1543],{},"存档模式声明，不代表已实现存档迁移",[83,1545,1546,1551,1553],{},[103,1547,1548],{},[18,1549,1550],{},"banks",[103,1552,1490],{},[103,1554,1555,1556,1558,1559],{},"每项含 ",[18,1557,311],{}," 与可选 ",[18,1560,325],{},[83,1562,1563,1567,1575],{},[103,1564,1565],{},[18,1566,247],{},[103,1568,1569,535,1572],{},[18,1570,1571],{},"\"SCNexus\"",[18,1573,1574],{},"\"CCM\"",[103,1576,1577],{},"声明作品的管理器；不能让任意目录布局变成 CCM 包",[11,1579,1580],{},"新作品用不到的可选字段直接省略，不要用空字符串或编造值把字段填满。",[28,1582,1583],{"id":1583},"校验分三层",[77,1585,1586,1596],{},[80,1587,1588],{},[83,1589,1590,1593],{},[86,1591,1592],{},"层次",[86,1594,1595],{},"检查内容",[98,1597,1598,1606,1614],{},[83,1599,1600,1603],{},[103,1601,1602],{},"JSON Schema",[103,1604,1605],{},"字段名、类型、枚举与未声明字段，适合编辑器里做提示",[83,1607,1608,1611],{},[103,1609,1610],{},"清单校验",[103,1612,1613],{},"基本结构、类型是否为三种之一、战役值是否合法、启动器是否对应唯一地图、资源路径前缀",[83,1615,1616,1619],{},[103,1617,1618],{},"客户端安装",[103,1620,1621],{},"资源是否真实存在、路径边界、压缩包安全性、目标冲突；安装前还会给出文件规划让玩家确认",[11,1623,1624],{},"结构合法不等于能装，也不等于作品经过安全检测。压缩包本身另有约束：条目数、解压后总大小、路径层级、大小写冲突等都会被检查。",[28,1626,1627],{"id":1627},"发布前检查",[1629,1630,1631,1637,1644,1650,1656,1661],"ol",{},[45,1632,1633,1634,1636],{},"清单是有效 UTF-8 JSON，基本信息完整，",[18,1635,311],{}," 不是空白。",[45,1638,1639,1641,1642,941],{},[18,1640,90],{}," 与作品用途一致；替换型战役填了正确的 ",[18,1643,107],{},[45,1645,1646,1647,1649],{},"包内资源真实存在，",[18,1648,64],{}," 与地图、模组里的引用对得上。",[45,1651,1652,1653,1655],{},"启动器写在 ",[18,1654,250],{}," 里，且精确对应唯一一张地图。",[45,1657,1658,1659,941],{},"工坊压缩包的根目录直接是唯一的 ",[18,1660,20],{},[45,1662,1663],{},"在客户端的导入分析里核对目标文件，再实际启动作品走一遍。",[11,1665,1666,1667,1672,1673,1677,1678,941],{},"创作侧怎么摆目录、怎么把编辑器产出打成包，见",[1668,1669,1671],"a",{"href":1670},"\u002Fdocs\u002Fpackaging","打包安装包","；玩家侧怎么导入与安装，见",[1668,1674,1676],{"href":1675},"\u002Fdocs\u002Fcampaign","战役管理","与",[1668,1679,1681],{"href":1680},"\u002Fdocs\u002Fcustomize","自制作品",[1683,1684,1685],"style",{},"html pre.shiki code .sP7_E, html code.shiki .sP7_E{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s39Yj, html code.shiki .s39Yj{--shiki-light:#39ADB5;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sseR_, html code.shiki .sseR_{--shiki-light:#9C3EDA;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sjJ54, html code.shiki .sjJ54{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s_sjI, html code.shiki .s_sjI{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sZMiF, html code.shiki .sZMiF{--shiki-light:#E2931D;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .su5hD, html code.shiki .su5hD{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8}",{"title":38,"searchDepth":629,"depth":629,"links":1687},[1688,1689,1690,1691,1692,1693,1694,1695,1696],{"id":30,"depth":600,"text":30},{"id":75,"depth":600,"text":75},{"id":260,"depth":600,"text":260},{"id":739,"depth":600,"text":739},{"id":983,"depth":600,"text":983},{"id":1077,"depth":600,"text":1077},{"id":1462,"depth":600,"text":1462},{"id":1583,"depth":600,"text":1583},{"id":1627,"depth":600,"text":1627},"星际枢纽作品包的目录结构、package.json 清单字段、地图与模组资源声明、启动器与包内资料的写法。","md","reference",{},true,"\u002Fdocs\u002Fscnexus-package",{"title":6,"description":1697},"docs\u002Fscnexus-package","2026-11-01","-Kx1By6rMVT3AnEvrGi5Astv4i06QQ5gK3WI5COpj1Y","zh-CN",[1707,1709],"en",[1711,1717,1722,1726,1729,1731,1732,1737,1739,1743,1748,1752,1757,1762,1767,1772,1777,1782,1787,1792,1798],{"path":1712,"title":1713,"description":1714,"order":593,"group":1715,"section":1716,"contentLocale":1707},"\u002Fdocs\u002Feditor","创作流程概览","从在《星际争霸II》编辑器中制作，到打包、分发与更新，说明星际枢纽在创作流程里承担的环节。","start","editor",{"path":1718,"title":1719,"description":1720,"order":593,"group":1715,"section":1721,"contentLocale":1707},"\u002Fdocs\u002Foverview","快速开始","「星际枢纽」是一款专为星际社区服务的枢纽应用","app",{"path":1723,"title":1724,"description":1725,"order":593,"group":1699,"section":1699,"contentLocale":1707},"\u002Fdocs\u002Freference","概述","收录导入、安装与分发内容时依赖的压缩包与安装源约定。",{"path":1675,"title":1676,"description":1727,"order":727,"group":1728,"section":1721,"contentLocale":1707},"把自制战役导入战役库、激活到游戏，并随时恢复官方战役","usage",{"path":1670,"title":1671,"description":1730,"order":727,"group":1728,"section":1716,"contentLocale":1707},"把编辑器产出的地图、模组与 package.json 组织成一个能被星际枢纽自动识别并安装的压缩包。",{"path":1702,"title":6,"description":1697,"order":727,"group":1699,"section":1699,"contentLocale":1707},{"path":1733,"title":1734,"description":1735,"order":1736,"group":1699,"section":1699,"contentLocale":1707},"\u002Fdocs\u002Fccm-package","CCM 压缩包标准","CCM 用 metadata.txt 描述战役的键值格式、目录布局与安装落点，以及星际枢纽读取这类包时的处理方式。",20,{"path":1680,"title":1681,"description":1738,"order":1736,"group":1728,"section":1721,"contentLocale":1707},"把地图与模组直接装进游戏，指定启动器地图后一键启动",{"path":1740,"title":1741,"description":1742,"order":1736,"group":1728,"section":1716,"contentLocale":1707},"\u002Fdocs\u002Ftoolbox","创作工具 · 编码转换","把中文等非 ASCII 文本转成 Galaxy 代码里可用的转义写法，可选直接转码、字符串、文本与触发调试四种输出。",{"path":1744,"title":1745,"description":1746,"order":1747,"group":1699,"section":1699,"contentLocale":1707},"\u002Fdocs\u002Fgithub-source","GitHub 安装源标准","把公开 GitHub 仓库当作安装源时，仓库需要满足的清单与结构要求，以及地址与分支的写法。",30,{"path":1749,"title":1750,"description":1751,"order":1747,"group":1728,"section":1721,"contentLocale":1707},"\u002Fdocs\u002Fweekly-mutations","每周突变","查看本周突变的地图、因子与社区评分，并查阅全部突变因子",{"path":1753,"title":1754,"description":1755,"order":1756,"group":1728,"section":1721,"contentLocale":1707},"\u002Fdocs\u002Freplays","录像管理","按星际资料与录像类型索引录像，支持去重、批量导出与对局数据查看",40,{"path":1758,"title":1759,"description":1760,"order":1761,"group":1728,"section":1721,"contentLocale":1707},"\u002Fdocs\u002Fworkshop","创意工坊","浏览社区作品、查看详情并下载已审核的发布版本",50,{"path":1763,"title":1764,"description":1765,"order":1766,"group":1728,"section":1721,"contentLocale":1707},"\u002Fdocs\u002Fcreator","创作者中心与上传管理","创建作品、维护资料、上传新版本并跟踪上传任务",60,{"path":1768,"title":1769,"description":1770,"order":1771,"group":1728,"section":1721,"contentLocale":1707},"\u002Fdocs\u002Fdownloads","下载管理","从 GitHub 或创意工坊取回内容，确认后安装到游戏",70,{"path":1773,"title":1774,"description":1775,"order":1776,"group":1728,"section":1721,"contentLocale":1707},"\u002Fdocs\u002Ftools","创作工具","编码转换等本地辅助工具，输入不会上传也不会保存",80,{"path":1778,"title":1779,"description":1780,"order":1781,"group":1728,"section":1721,"contentLocale":1707},"\u002Fdocs\u002Fai-assistant","智能助手","把本地数据与本机 AI 客户端连起来的受控 MCP 服务",90,{"path":1783,"title":1784,"description":1785,"order":1786,"group":1728,"section":1721,"contentLocale":1707},"\u002Fdocs\u002Faccount","账号与个人中心","登录、资料与等级成长，以及两步验证的开启与维护",100,{"path":1788,"title":1789,"description":1790,"order":1791,"group":1728,"section":1721,"contentLocale":1707},"\u002Fdocs\u002Fsettings","设置","语言、游戏目录、功能开关与日志隐私，四个标签页逐项说明",110,{"path":1793,"title":1794,"description":1795,"order":1796,"group":1797,"section":1721,"contentLocale":1707},"\u002Fdocs\u002Fcontributing","参与开发","参与「星际枢纽」开发的方式：仓库分工、开发环境、提交前检查、代码与文档约定、行为准则，以及安全问题的报告渠道。",200,"contribute",{"path":1799,"title":1800,"description":1801,"order":1802,"group":1797,"section":1721,"contentLocale":1707},"\u002Fdocs\u002Flocalization","贡献翻译","界面翻译文件的位置与键名规则、提交流程、本地验证方法，以及新增一门界面语言需要改动的代码位置。",210,1793550745232]