feedback2 WE: the English title is the official Stronghold Protocol: Alliance (EN activity_table act2autochess) — README, server banner, package name; was Covenant (#38)
This commit is contained in:
1 parent
945c9f3ee8
commit
380af1ba80
5 files changed
+22
-7
No files matched your search
@@ -1,4 +1,4 @@
|
||||
# 卫戍协议:盟约 · Stronghold Protocol: Covenant
|
||||
# 卫戍协议:盟约 · Stronghold Protocol: Alliance
|
||||
|
||||
《明日方舟》季节性自走棋塔防玩法「卫戍协议:盟约」的**非官方同人复刻**:浏览器即开即玩,单人或 1–4 人联机合作。
|
||||
|
||||
@@ -230,7 +230,7 @@ RENDER_E2E=1 node --test 'test/render/*.browser.test.js' # 渲染测试,部
|
||||
|
||||
## English
|
||||
|
||||
An **unofficial, non-commercial fan remake** of Arknights' seasonal auto-chess tower-defense mode *Stronghold Protocol: Covenant*, played in the browser: solo, or 1–4 player co-op (AI teammates can fill seats). Combat is simulated in each player's browser, so a low-power PC can host.
|
||||
An **unofficial, non-commercial fan remake** of Arknights' seasonal auto-chess tower-defense mode *Stronghold Protocol: Alliance*, played in the browser: solo, or 1–4 player co-op (AI teammates can fill seats). Combat is simulated in each player's browser, so a low-power PC can host.
|
||||
|
||||
- **Run:** download the all-in-one bundle from [Releases](../../releases/latest), install Node.js 22 or 24, then double-click `scripts\start-windows.bat` (Windows) or run `./scripts/start.sh` (macOS / Linux) and open <http://localhost:3000>. From source: `npm install && npm run setup && npm start` (setup downloads ~250 MB of art from public mirrors; the official 3D board needs a local Arknights client to extract, otherwise the 2D board is used).
|
||||
- **Play with friends:** create a co-op room and share the 4-letter key or the `?room=KEY` link. On a LAN, use the address printed at start; otherwise use a virtual-LAN tool, a tunnel or a VPS — see [docs/DEPLOY.md](docs/DEPLOY.md).
|
||||
|
||||
Generated
+2
-2
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"name": "stronghold-protocol-covenant",
|
||||
"name": "stronghold-protocol-alliance",
|
||||
"version": "0.1.1",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "stronghold-protocol-covenant",
|
||||
"name": "stronghold-protocol-alliance",
|
||||
"version": "0.1.1",
|
||||
"hasInstallScript": true,
|
||||
"license": "GPL-3.0-or-later",
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"name": "stronghold-protocol-covenant",
|
||||
"name": "stronghold-protocol-alliance",
|
||||
"version": "0.1.1",
|
||||
"private": true,
|
||||
"description": "明日方舟「卫戍协议:盟约」非官方同人联机网页复刻(1–4 人合作,Node.js 服务器 + 浏览器客户端)",
|
||||
|
||||
+1
-1
@@ -639,7 +639,7 @@ async function main() {
|
||||
else console.error('[boot] failed to start', e);
|
||||
process.exit(1);
|
||||
}
|
||||
console.log(`\n 卫戍协议:盟约 · Stronghold Protocol: Covenant v${APP_VERSION}`);
|
||||
console.log(`\n 卫戍协议:盟约 · Stronghold Protocol: Alliance v${APP_VERSION}`);
|
||||
console.log(` Local: ${srv.url}`);
|
||||
if (srv.host === '0.0.0.0' || srv.host === '::') {
|
||||
for (const u of lanUrls(srv.port)) console.log(` LAN: ${u}`);
|
||||
|
||||
+16
-1
@@ -37,10 +37,25 @@ test('the release version is what players see', () => {
|
||||
assert.match(read('public/js/screens/title.js'), /v\$\{APP_VERSION\}/, 'title screen footer');
|
||||
assert.ok(!/PROTOCOL v1/.test(read('public/js/screens/title.js')), 'no protocol number posing as a version');
|
||||
const server = read('server/index.js');
|
||||
assert.match(server, /Stronghold Protocol: Covenant v\$\{APP_VERSION\}/, 'boot banner');
|
||||
assert.match(server, /Stronghold Protocol: Alliance v\$\{APP_VERSION\}/, 'boot banner');
|
||||
assert.match(server, /app: APP_VERSION/, '/healthz');
|
||||
});
|
||||
|
||||
test('the English title is the official one: Stronghold Protocol: Alliance (GitHub issues #38 / #42)', () => {
|
||||
// EN client data, activity_table basicInfo.act2autochess.name = "Stronghold Protocol: Alliance" (CN 卫戍协议:盟约);
|
||||
// the project used to call it "Covenant". The Chinese title stays 卫戍协议:盟约; the repository keeps its name.
|
||||
const readme = read('README.md');
|
||||
assert.match(readme.split('\n')[0], /^# 卫戍协议:盟约 · Stronghold Protocol: Alliance$/, 'README title');
|
||||
assert.match(readme, /mode \*Stronghold Protocol: Alliance\*/, 'README English summary');
|
||||
assert.match(read('server/index.js'), /卫戍协议:盟约 · Stronghold Protocol: Alliance v/, 'boot banner');
|
||||
assert.equal(pkg.name, 'stronghold-protocol-alliance');
|
||||
assert.equal(lock.name, pkg.name);
|
||||
assert.equal(lock.packages[''].name, pkg.name);
|
||||
for (const f of ['README.md', 'server/index.js', 'package.json', 'package-lock.json', 'NOTICE.md', 'public/index.html', 'docs/DEPLOY.md']) {
|
||||
assert.ok(!/covenant/i.test(read(f)), `${f}: no "Covenant" title left`);
|
||||
}
|
||||
});
|
||||
|
||||
test('GPL-3.0-or-later: LICENSE, package metadata and notices', () => {
|
||||
const license = read('LICENSE');
|
||||
assert.match(license.slice(0, 200), /GNU GENERAL PUBLIC LICENSE\s+Version 3, 29 June 2007/);
|
||||
|
||||
Reference in new issue
Block a user