NRF SDK 0.9

Maintenance

Logs and troubleshooting

Add useful diagnostics, find relevant errors and prepare a reproducible report.

Find the right log

On Windows, the usual root is %LOCALAPPDATA%/NimbyRailsFrance/logs/. Find the component and time of your test. The Hub log explains a build or activation; a mod or application log explains its execution.

On the JVM, DiagnosticLog writes to a component directory and a per-process file. NRF_LOG_DIR overrides its root; an explicit constructor root also lets you choose the directory. Files rotate with a size limit: retain incident evidence promptly.

At JVM application startup
val log = fr.nimby.sdk.DiagnosticLog.forComponent("mon-outil")
log.startApplication("0.1.0")
log.write("Profile loaded")

Log useful events

Fragment in a Native callback with ToolContext
context.log("Preview unavailable", LogLevel.Warning)

ToolContext.log accepts a UTF-8 message of 1 to 4,096 bytes, without a null character, using Info, Warning or Error. Use the context only during its callback. Record a state change, requested action, result or actionable error; avoid one message per successful read.

DiagnosticLog coalesces identical repetitions over a short period. Keep a stable message and add only the necessary information: operation, affected identity, result and session context. Do not create unique text on every tick to defeat coalescing.

Connect the symptom to a check

SymptomFirst check
Unresolved Kotlin importNative or JVM API, selected kit, Gradle reload and first configuration error.
Package built, old behaviour in gameActually activated profile, loaded versions and launch after activation.
Signal showing fallbackFreshness, setting availability, occupancy and neighbour resolution before the image.
Tool refused or result pendingGame state, session and ticket result; do not replay the request without checking.
File missing after installationFirst copy or verification failure and protection history at the same time.

Provide a reproducible report

  • Game, SDK, kit, mod and application versions; Windows version.
  • Exact steps, save or small scenario, selected speed and actions before the incident.
  • Expected and observed results, with time and time zone; useful identities within the relevant session.
  • First error and preceding lines, followed by recovery or shutdown outcome.

Logs may contain local paths and game names. Review the report before sharing it. If you remove personal information, say so while preserving the times, codes and event order needed for diagnosis.