fix: load development settings by default
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
package main
|
||||
|
||||
import "path/filepath"
|
||||
|
||||
func resolveDevelopmentSettingsPath(dataDir, override string) string {
|
||||
if override != "" {
|
||||
return filepath.Clean(override)
|
||||
}
|
||||
return filepath.Join(dataDir, "dev-tools.json")
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"path/filepath"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestDevelopmentSettingsDefaultFollowsServerDataDirectory(t *testing.T) {
|
||||
dataDir := filepath.Join(t.TempDir(), "custom-data")
|
||||
if got := resolveDevelopmentSettingsPath(dataDir, ""); got != filepath.Join(dataDir, "dev-tools.json") {
|
||||
t.Fatalf("development settings path = %q", got)
|
||||
}
|
||||
override := filepath.Join(t.TempDir(), "operator-settings.json")
|
||||
if got := resolveDevelopmentSettingsPath(dataDir, override); got != override {
|
||||
t.Fatalf("explicit development settings path = %q, want %q", got, override)
|
||||
}
|
||||
}
|
||||
@@ -95,7 +95,7 @@ func serve(args []string) (serveErr error) {
|
||||
deckSeed := fs.String("deck-seed", "", "versioned starter deck")
|
||||
worldSeed := fs.String("world-seed", "", "versioned starter world")
|
||||
gachaScheduleSeed := fs.String("gacha-schedule-seed", "", "versioned dynamic gacha schedule")
|
||||
devToolsConfig := fs.String("dev-tools-config", "", "optional local development-tool settings JSON")
|
||||
devToolsConfig := fs.String("dev-tools-config", "", "development-tool settings JSON (defaults to DATA_DIR/dev-tools.json)")
|
||||
if err := fs.Parse(args); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -166,6 +166,7 @@ func serve(args []string) (serveErr error) {
|
||||
if err != nil {
|
||||
return fmt.Errorf("resolve server data directory: %w", err)
|
||||
}
|
||||
*devToolsConfig = resolveDevelopmentSettingsPath(*dataDir, *devToolsConfig)
|
||||
gameData := filepath.Join(*dataDir, "resources", "GameData")
|
||||
if *stateFile == "" {
|
||||
*stateFile = filepath.Join(*dataDir, "state", "state.db")
|
||||
@@ -360,9 +361,7 @@ func serve(args []string) (serveErr error) {
|
||||
if err != nil {
|
||||
return fmt.Errorf("load inventory slot state: %w", err)
|
||||
}
|
||||
if *devToolsConfig != "" {
|
||||
inventorySlots.AttachDevelopmentSettings(filepath.Clean(*devToolsConfig))
|
||||
}
|
||||
inventorySlots.AttachDevelopmentSettings(*devToolsConfig)
|
||||
if err := login.AttachInventorySlots(inventorySlots); err != nil {
|
||||
return fmt.Errorf("attach inventory slots to login: %w", err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user