fix(setup): reduce friction in installation procedure

- Add Language default ("jp") so missing field no longer produces empty
  string, and include language selector in setup wizard
- Add --setup flag to re-run wizard even when config.json exists,
  providing a recovery path for corrupted configs
- Auto-apply seed data on fresh databases so users who skip the wizard
  still get shops, events, and gacha
- Fix stale docs referencing non-existent init/setup.sh and
  schemas/patch-schema/ in docker/README, CONTRIBUTING, and README
This commit is contained in:
Houmgaor
2026-02-23 23:39:49 +01:00
parent 210cfa1fd1
commit bcdc4e0b7e
7 changed files with 67 additions and 39 deletions

View File

@@ -145,10 +145,20 @@ h1{font-size:1.75rem;margin-bottom:.5rem;color:#e94560;text-align:center}
</div>
<div style="font-size:.75rem;color:#666;margin-top:.3rem">Use 127.0.0.1 for local play, or auto-detect for LAN/internet play.</div>
</div>
<div class="field">
<label>Client Mode</label>
<select id="srv-client-mode"></select>
<div style="font-size:.75rem;color:#666;margin-top:.3rem">Must match your game client version. ZZ is the latest.</div>
<div class="field-row">
<div class="field">
<label>Client Mode</label>
<select id="srv-client-mode"></select>
<div style="font-size:.75rem;color:#666;margin-top:.3rem">Must match your game client version. ZZ is the latest.</div>
</div>
<div class="field field-sm">
<label>Language</label>
<select id="srv-language">
<option value="jp" selected>jp</option>
<option value="en">en</option>
</select>
<div style="font-size:.75rem;color:#666;margin-top:.3rem">Game text language.</div>
</div>
</div>
<label class="checkbox" style="margin-top:1rem"><input type="checkbox" id="srv-auto-create" checked> Auto-create accounts (recommended for private servers)</label>
<div class="actions">
@@ -339,6 +349,7 @@ function buildReview() {
['Database Password', masked],
['Database Name', document.getElementById('db-name').value],
['Server Host', document.getElementById('srv-host').value],
['Language', document.getElementById('srv-language').value],
['Client Mode', document.getElementById('srv-client-mode').value],
['Auto-create Accounts', document.getElementById('srv-auto-create').checked ? 'Yes' : 'No'],
];
@@ -362,6 +373,7 @@ async function finish() {
dbPassword: document.getElementById('db-password').value,
dbName: document.getElementById('db-name').value,
host: document.getElementById('srv-host').value,
language: document.getElementById('srv-language').value,
clientMode: document.getElementById('srv-client-mode').value,
autoCreateAccount: document.getElementById('srv-auto-create').checked,
})