mirror of
https://github.com/Mezeporta/Erupe.git
synced 2026-03-22 07:32:32 +01:00
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
This commit is contained in:
@@ -185,7 +185,7 @@ func CreateTestCharacter(t *testing.T, db *sqlx.DB, userID uint32, name string)
|
||||
// Create minimal valid savedata (needs to be large enough for the game to parse)
|
||||
// The name is at offset 88, and various game mode pointers extend up to ~147KB for ZZ mode
|
||||
// We need at least 150KB to accommodate all possible pointer offsets
|
||||
saveData := make([]byte, 150000) // Large enough for all game modes
|
||||
saveData := make([]byte, 150000) // Large enough for all game modes
|
||||
copy(saveData[88:], append([]byte(name), 0x00)) // Name at offset 88 with null terminator
|
||||
|
||||
// Import the nullcomp package for compression
|
||||
|
||||
Reference in New Issue
Block a user