Add Code bridge request: rules mod COMMON config not read at runtime
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
# Bug Follow-up v2: COMMON Config File Not Read at Runtime
|
||||
|
||||
**Date:** 2026-04-13
|
||||
**Topic:** firefrostrules-common.toml has correct values but mod still serves default rules
|
||||
**Priority:** HIGH — Otherworld still broken
|
||||
**Filed by:** Chronicler #86
|
||||
**Related to:** REQ-2026-04-13-rules-mod-config-still-resetting.md
|
||||
|
||||
---
|
||||
|
||||
## What We Did
|
||||
|
||||
1. Deployed firefrostrules-1.0.2-1.20.1-forge.jar to Otherworld (NC1, volume d4790f45)
|
||||
2. Deleted old world/serverconfig/firefrostrules-server.toml
|
||||
3. Started server — generated config/firefrostrules-common.toml with defaults
|
||||
4. Stopped server — wrote real values to config/firefrostrules-common.toml
|
||||
5. Restarted — config file still has correct values (confirmed)
|
||||
6. Restarted again — config file still has correct values (confirmed)
|
||||
|
||||
Config persistence is fixed. ✅
|
||||
|
||||
## What's Still Wrong
|
||||
|
||||
Player ran `/rules` and got the hardcoded default rules, not Discord content.
|
||||
|
||||
Log evidence:
|
||||
|
||||
```
|
||||
[22:42:38] [modloading-worker-0/INFO] [com.firefrostgaming.rules.ServerRules/]: Firefrost Rules Mod Initialized.
|
||||
[22:43:08] [main/INFO] [com.firefrostgaming.rules.ServerRules/]: Registered /rules command.
|
||||
[22:43:58] [Server thread/INFO] [minecraft/MinecraftServer/]: [Fire] Server Rules
|
||||
Please check Discord for the full rules list.
|
||||
```
|
||||
|
||||
Two problems:
|
||||
|
||||
1. **Loading handler never fired** — Code's `onConfigLoaded` handler should have logged "Rules mod config loaded successfully. Channel: 1493228237860638770" — it's completely absent from logs. The handler is not executing.
|
||||
|
||||
2. **Default rules served** — `/rules` returned hardcoded defaults, meaning `ServerRulesConfig.BOT_TOKEN.get()` is returning `YOUR_TOKEN_HERE` at runtime even though the file has the real token.
|
||||
|
||||
## What This Means
|
||||
|
||||
The config file has correct values but `ServerRulesConfig.SPEC` is not reading from it. The `ModConfig.Type.COMMON` registration may not be correctly linking the spec to the file on disk, or the config values are being read before the file is loaded.
|
||||
|
||||
## Hypothesis
|
||||
|
||||
In Forge 1.20.1, `ModConfig.Type.COMMON` configs are loaded from `config/<modid>-common.toml`. But the filename Forge generates may need to match exactly what the spec expects. Check:
|
||||
|
||||
1. What filename is Forge actually generating? Is it `firefrostrules-common.toml` or something else like `firefrostrules-server.toml` even with COMMON type?
|
||||
2. Is `ModLoadingContext.get().registerConfig(ModConfig.Type.COMMON, ServerRulesConfig.SPEC)` being called before or after the config file is read?
|
||||
3. Is there a `ModConfigEvent.Loading` listener that confirms the spec is bound to the correct file?
|
||||
|
||||
## Current File State on Server
|
||||
|
||||
```
|
||||
Path: /var/lib/pterodactyl/volumes/d4790f45-b1bc-43b8-98c4-425238387ee3/config/firefrostrules-common.toml
|
||||
bot_token = "MTQ4NzA4MDE2Njk2OTU3NzUwMg.GU5EsT.mqBwo7XUHsciN9jNy9OygTRkaMZ9qJ2tHw7HbI"
|
||||
channel_id = "1493228237860638770"
|
||||
message_id = "1493228916998013101"
|
||||
```
|
||||
|
||||
File is correct. Mod is not reading it.
|
||||
|
||||
## What Code Needs to Do
|
||||
|
||||
1. Add a debug log immediately after `ServerRulesConfig.BOT_TOKEN.get()` in `RulesCommand.java` to print the actual value being read at command execution time
|
||||
2. Verify the `ModConfigEvent.Loading` listener is actually being registered and firing
|
||||
3. Check if there's a timing issue — config might need to be read after `FMLServerStartedEvent` rather than at command time
|
||||
4. Verify COMMON type generates correct filename in 1.20.1
|
||||
|
||||
## Applies To
|
||||
|
||||
1.20.1 confirmed broken. 1.21.1 and 1.16.5 status unknown — may have same issue.
|
||||
Bump to 1.0.3 once fixed. Update CHANGELOG.md.
|
||||
Reference in New Issue
Block a user