Commit Graph

38 Commits

Author SHA1 Message Date
Houmgaor
bcdc4e0b7e 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
2026-02-23 23:39:49 +01:00
Houmgaor
385b974adc feat(config): register all defaults in code, shrink example config
Only the database password is truly mandatory to get started, but
config.example.json was 267 lines with 90+ options. Newcomers faced a
wall of settings with no indication of what matters.

Add registerDefaults() with all sane defaults via Viper so a minimal
config (just DB credentials) produces a fully working server. Gameplay
multipliers default to 1.0 instead of Go's zero value 0.0, which
previously zeroed out all quest rewards for minimal configs. Uses
dot-notation defaults for GameplayOptions/DebugOptions so users can
override individual fields without losing other defaults.

- Shrink config.example.json from 267 to 10 lines
- Rename full original to config.reference.json as documentation
- Simplify wizard buildDefaultConfig() from ~220 to ~12 lines
- Fix latent bug: SaveDumps default used wrong key DevModeOptions
- Add tests: minimal config, backward compat, single-field override
- Update release workflow, README, CONTRIBUTING, docker/README
2026-02-23 21:25:44 +01:00
Houmgaor
27fb0faa1e feat(db): add embedded auto-migrating schema system
Replace 4 independent schema management code paths (Docker shell
script, setup wizard pg_restore, test helpers, manual psql) with a
single migration runner embedded in the server binary.

The new server/migrations/ package uses Go embed to bundle all SQL
schemas. On startup, Migrate() creates a schema_version tracking
table, detects existing databases (auto-marks baseline as applied),
and runs pending migrations in transactions.

Key changes:
- Consolidated init.sql + 9.2-update + 33 patches into 0001_init.sql
- Setup wizard simplified to single "Apply schema" checkbox
- Test helpers use migrations.Migrate() instead of pg_restore
- Docker no longer needs schema volume mounts or init script
- Seed data (shops, events, gacha) embedded and applied via API
- Future migrations just add 0002_*.sql files — no manual steps
2026-02-23 21:19:21 +01:00
Houmgaor
b96cd0904b fix: ease onboarding with startup warnings and doc corrections
- Warn at startup when quest files are missing (clients crash without
  them) and point users to the download link
- Fix Host config description: it's the advertised IP, not a bind
  address — 0.0.0.0 was wrong advice
- Load bundled schemas (shops, events, gacha) in Docker init so new
  users get working demo data out of the box
- Renumber duplicate patch schema 28 → 32 to resolve numbering
  collision
- Fix patch schema example filename to use hyphens matching actual
  files
2026-02-23 20:23:08 +01:00
Houmgaor
e8963ce0cf ci: add release workflow to publish binaries on tag push
Users without a Go toolchain can now download pre-built binaries
directly from GitHub Releases (closes #161). The workflow triggers
on v* tags, builds Linux and Windows amd64 archives, and attaches
them along with SCHEMA.sql to an auto-generated release.

Also fixes the README badge URL (go-improved.yml → go.yml).
2026-02-22 20:08:25 +01:00
Houmgaor
a8f70df1fb fix: clean up Docker setup (compose, README, gitignore)
- Remove deprecated version field from docker-compose.yml
- Pin Postgres to 18-alpine (matches existing db-data)
- Remove undocumented web (Apache) service
- Fix config/bin volume mounts to use docker/ directory
- Gitignore docker/savedata, docker/bin, docker/config.json
- Rewrite docker/README.md: fix typos, use docker compose V2
  commands, match actual compose file behavior
- Link docker/README.md from main README Docker section
2026-02-17 15:16:57 +01:00
Houmgaor
3413ff638a doc: restructure README for new users and fix dead community links
Reorganize README to put Quick Start first with three install paths
(Docker/binary/source), give quest files their own section, consolidate
updating instructions, trim configuration to essentials with wiki link,
and move informational sections (features, architecture) below setup.

Absorb community tool links from the now-removed pastebin FAQ and update
dead URLs: Ferias → English Project, damage calc → fist.moe, armor set
searcher → mhfz-ass GitHub releases.
2026-02-17 15:04:01 +01:00
Houmgaor
63a91a879a doc: describe Mogapedia as French MH community and Erupe maintainers 2026-02-17 14:46:25 +01:00
Houmgaor
220de4cf3b doc: replace Codecov badge with Go version badge 2026-02-17 00:22:22 +01:00
Houmgaor
6eb9ed66cc doc: add Codecov coverage badge to README 2026-02-17 00:13:26 +01:00
Houmgaor
5724a605a2 doc: add CI, CodeQL, and release badges to README 2026-02-17 00:12:02 +01:00
Houmgaor
9c0a65069d doc: update README for upstream transition
Remove fork language and point all links to Mezeporta/Erupe.
Update stable branch reference to stable/v9.2.x.
2026-02-16 12:20:44 +01:00
Houmgaor
68b9cf48d1 doc: expamding documentation. 2025-11-09 16:47:18 +01:00
Houmgaor
02d5195611 docs: starting to expand the documentation. 2025-10-19 18:57:10 +02:00
Houmgaor
1268a77712 docs(md): minor review of the markdown files. 2025-09-10 00:19:46 +02:00
wish
8f3624d589 Update README.md 2025-05-16 18:10:13 +10:00
wish
734a982689 proofreading 2024-03-02 21:37:25 +11:00
stratic-dev
851301b088 Updated readme and added init schemas to folder 2024-01-26 17:59:34 +00:00
wish
0b75a42682 Update README.md 2023-10-26 22:31:00 +11:00
wish
3edc77d3b5 Update README.md 2023-10-26 22:30:04 +11:00
wish
58b401d978 Update README.md 2023-10-26 22:29:42 +11:00
wish
6bc883cc0e update README 2023-10-02 23:10:48 +11:00
wish
8425c0a99e README formatting 2023-07-16 12:59:23 +10:00
wish
88970a3ec3 readme review pass 2 2023-07-08 22:14:18 +10:00
wish
cf1da979ec readme review pass 1 2023-07-08 00:55:26 +10:00
straticspaff
5af40ab46a clean: added version info 2023-07-03 21:32:11 +01:00
straticspaff
ec1c9631c8 clean: added config to readme 2023-07-03 21:25:46 +01:00
Evotushon
3f6b7cd95e Remove typo 2023-04-24 16:31:48 +02:00
Evotushon
75a803f1a2 Make README.md adequate to Markdown Style Standards 2023-04-24 16:26:56 +02:00
wish
5bf9a946f6 update readme 2022-12-24 00:17:33 +11:00
wish
9d0e47c2a8 Update README.md 2022-12-11 22:44:08 +11:00
wish
1aa7bfdd51 Update README.md 2022-09-01 22:26:28 +10:00
wish
1df961d2aa update readme 2022-09-01 20:40:31 +10:00
Evotushon
95104571a6 Rewrite README.md (#14) 2022-08-03 22:11:02 +10:00
wish
c5fa728c5a update readme 2022-07-23 10:17:11 +10:00
xl3lackout
8d196806c8 Update README.md 2022-04-11 17:49:39 -04:00
xl3lackout
8a5283439d Update README.md 2022-03-31 18:57:26 -04:00
xl3lackout
a92897404a Reupload 2022-02-25 19:44:26 -05:00