Scripts And Automation
Find problems in visual scripts and SDK workers with a small test.
Identify the failed automation layer
Start by identifying the process that owns the failing policy:
- visual scripting in the node editor
- SDK applications, including
@soulfiremc/beat-game
Identify the correct layer before you continue.
If a visual script trigger fires but the action does not
Reduce the graph to three parts:
The fastest path is usually:
- trigger
Print- one action
Then add the other nodes back one at a time.
Find out whether the trigger provides a bot
Some triggers do not provide a bot.
On Interval, On Script Init, and On Script End do not give you a bot automatically.
If your action expects a bot, fetch or loop over bots explicitly.
For the details, see Scripting and Triggers.
Remove timing nodes while isolating
If the graph uses timing nodes, remove them temporarily. Then make sure that the simple path works.
That is especially important when:
- a chat trigger stops behaving after an update
Send Chatappears to run but nothing visible happens- the graph only breaks once a delay or branch is added
Use Print to trace the graph
Print is usually the fastest way to answer:
- did the trigger fire?
- which branch ran?
- did the expected value exist?
- did the graph stop before or after the action node?
Use these results instead of guessing from visible symptoms.
Keep tick-trigger work small
On Pre Entity Tick and On Post Entity Tick are not general-purpose places for expensive graphs.
If a graph only works when you simplify it, move the heavy work out of tick timing before assuming the engine is broken.
If an SDK runner looks idle or stuck
Review the worker before you change SoulFire settings:
- Make sure that the TypeScript process is still running.
- Read its latest beat-game event and snapshot.
- Make sure that the bot is connected and its connection epoch is current.
- Inspect the active task and control lease.
- Retry with one bot and an in-memory coordinator.
- Look for a checkpoint compare-and-set conflict.
If one bot works and a team does not, inspect shared claims, coordinator membership, and the End-entry quota.
Choose the correct tool
Visual scripting is for event-driven behavior and custom flows.
If you are trying to implement chat-driven behavior, inventory menus, or custom timed reactions, Scripting is usually the right layer. If you are running first-party progression policy, use the beat-game runner.
If the issue appeared after an update
Do not edit the graph until the error disappears.
Instead, write down:
- exact SoulFire version
- smallest failing graph
- whether the failure still happens without timing nodes
- whether the failure still happens with one bot
This information makes the error easier to reproduce.
A minimal graph or SDK action that still fails is more valuable than a large workflow that fails for unknown reasons.
Related pages
How is this page?
Last updated on
