Rules
Rules is the decision layer between catalog identity, running games, emulators, controllers, and cabinet hardware. It decides what ArcadeStudio detected, which route should win, and what to do when a preferred route is unavailable.
Start with Stack
Section titled “Start with Stack”Open Rules → Stack and choose an area. The page shows only the rules that belong to that area; search narrows the selected list.
| Area | Change it when… |
|---|---|
| Detection | A running game is not identified correctly |
| Emulator Routing | An emulator needs a route other than the default |
| Controller Priority | A controller type should win, lose, or be avoided |
| Fallback Behavior | The preferred route is missing, unsafe, or unsupported |
| Controller Availability | A platform or emulator should prefer another controller family |
Official rules are already active for these areas. Most cabinets do not need a local override.
Official and my override
Section titled “Official and my override”Official rows are read-only. Select Override to copy a rule into your own draft, or select Add my rule to open Author with a new local override. Editing your copy does not rewrite the official package.
The effective stack is layered by priority:
- Required official rules
- Recommended rules
- Community rules
- My override
- Game-specific overrides
Higher-priority matching rules win. Turning off My override returns that area to the lower layers instead of deleting the official baseline.
Write and check an override
Section titled “Write and check an override”- In Stack, choose the affected area.
- Select Override on an official row, Edit on one of your rows, or Add my rule.
- Make the smallest change needed in Author.
- Add extra rule rows inside Author when the package needs more than one condition.
- Check the draft before exporting or publishing it.
Use Discard draft to abandon unfinished Author changes. To undo an active customization, turn off My override in Stack and publish again.
Rule packs are installed or removed in Data Packs. Install does not enable an optional rule layer, and it does not change the cabinet until you publish.
Publish to ArcadeServer
Section titled “Publish to ArcadeServer”ArcadeServer consumes a snapshot; it does not read the Rules editor live.
- Studio resolves the active layers for each area.
- Publish writes identification, emulator routing, controller routing, fallback behavior, and validation results into the cabinet bundle.
- ArcadeServer loads that published snapshot when it detects a game and chooses its runtime route.
Open Rules → Runtime to see whether the cabinet is using the last publish or whether your current Studio edits are still unpublished. If the edits are not live, go to Publish and publish the cabinet again.
Rules do not rebuild Master.db or replace catalog identity. If detection cannot match a running game against the published catalog, ArcadeServer records an observation for Data Management → Inbox.
Keep other jobs in their workspace
Section titled “Keep other jobs in their workspace”- Install rule packages in Data Packs.
- Rebuild catalog identity in Data Management.
- Map and test physical inputs in Controllers.
- Use Rules → Advanced only when you need to inspect how an area is layered.
- Use Support diagnostics for package inventory, hashes, drift, and runtime proof.
Next: Overlay or ArcadeServer.