Routing
Field-by-field explanation of Identica's routing configuration area.
The routing configuration decides where players should be sent while a scenario is waiting and where they should land after it completes.
defaults
defaults provides the fallback targets used when no scenario-specific override applies.
step
- Takes: a target name and an attempt policy
- Current default target:
"auth" - Affects: the fallback route used when a step finishes in a waiting state and no scenario-specific override applies
If this target is blank and no scenario target resolves, Identica clears the current routing intent with a NO_TARGET reason instead of routing the player.
complete
- Takes: a target name and an attempt policy
- Current default target:
"survival" - Affects: the fallback route used when a scenario completes and no scenario-specific completion target applies
This is usually the place to send players back into the normal network after authentication, registration, or migration is done.
defaults:
step:
target: "auth"
complete:
target: "survival"{
"defaults": {
"step": {
"target": "auth"
},
"complete": {
"target": "survival"
}
}
}scenarios
- Takes: a map keyed by scenario id
- Supported scenario ids:
authentication,registration,migration - Affects: per-scenario step and completion targets
Generated routing config leaves this map empty.
Add scenario entries only when a scenario should route differently from defaults.
Scenario ids are matched case-insensitively by the routing planner.
scenarios:
authentication:
step:
target: "auth"
complete:
target: "survival"{
"scenarios": {
"authentication": {
"step": {
"target": "auth"
},
"complete": {
"target": "survival"
}
}
}
}overrides.stages
Advanced- Takes: a map keyed by stage id
- Affects: route selection for matching stages inside a scenario
Use this when one stage should route somewhere different from the scenario-wide step target.
scenarios:
registration:
overrides:
stages:
provider:
target: "register-fallback"{
"scenarios": {
"registration": {
"overrides": {
"stages": {
"provider": {
"target": "register-fallback"
}
}
}
}
}
}overrides.steps
Advanced- Takes: a map keyed by step name
- Affects: route selection for a specific waiting step
Step overrides win over stage overrides when both match.
scenarios:
authentication:
overrides:
steps:
enrollment:
target: "manual-choice"{
"scenarios": {
"authentication": {
"overrides": {
"steps": {
"enrollment": {
"target": "manual-choice"
}
}
}
}
}
}attempts
Each step or complete target can define an attempts policy.
mode
Advanced- Takes:
"NONE","RETRY_ONCE","RETRY_LIMITED", or"UNTIL_REACHED" - Affects: how many routing attempts are allowed for one routing intent
Behavior in current source:
NONE: allow one attempt totalRETRY_ONCE: allow the initial attempt plus one retryRETRY_LIMITED: allow attempts untilmaxAttemptsis reachedUNTIL_REACHED: never exhaust by attempt count
maxAttempts
Advanced- Takes: an integer
- Affects: the limit used by
RETRY_LIMITED
For NONE, RETRY_ONCE, and UNTIL_REACHED, this value is effectively ignored by the current allowsAttempt logic.
retryDelay
Advanced- Takes: a duration
- Current defaults:
0sin the runtime defaults, but generated examples may choose a non-zero value - Affects: how long Identica waits before retrying a routed intent
consumeOnReached
Advanced- Takes:
trueorfalse - Affects: whether the routing intent is removed immediately after the target server is reached
If true, the intent is cleared as soon as the player is confirmed on the target server.
If false, the reached intent remains stored until something else replaces or clears it.
consumeOnExhausted
Advanced- Takes:
trueorfalse - Affects: whether the routing intent is removed when retries are exhausted
If true, an exhausted route is cleared immediately.
If false, the exhausted intent stays in the store with status EXHAUSTED.
