feat(server): queue dynamic operator mail grants

This commit is contained in:
2026-10-03 00:56:48 +08:00
parent 30d9ef7f4e
commit 46eed875a9
6 changed files with 901 additions and 53 deletions
+6
View File
@@ -82,6 +82,7 @@ func serve(args []string) (serveErr error) {
playerSeed := fs.String("player-seed", "", "versioned starter inventory and characters")
readonlySeed := fs.String("readonly-seed", "", "versioned server schedules and optional feature defaults")
mailSeed := fs.String("mail-seed", "", "versioned starter mailbox")
mailGrantSpool := fs.String("mail-grant-spool", "", "optional local JSON spool for idempotent dynamic system mail")
stateFile := fs.String("state", "", "account SQLite database override")
deckSeed := fs.String("deck-seed", "", "versioned starter deck")
worldSeed := fs.String("world-seed", "", "versioned starter world")
@@ -340,6 +341,11 @@ func serve(args []string) (serveErr error) {
if err := mailService.AttachSeedPath(filepath.Clean(*mailSeed)); err != nil {
return fmt.Errorf("watch mail seed: %w", err)
}
if *mailGrantSpool != "" {
if err := mailService.AttachGrantSpoolPath(*mailGrantSpool); err != nil {
return fmt.Errorf("attach mail grant spool: %w", err)
}
}
missionDesign, err := gamedata.LoadMissionDesign(gameData, *gameDataVersion)
if err != nil {
return fmt.Errorf("load mission GameData: %w", err)