Run the dedicated JAR
Start a local backend with Java 25, create an API token, and verify client access.
The dedicated JAR starts a backend independently of a desktop client. It keeps bot sessions running after remote clients disconnect. Use Docker if you prefer a managed container.
Prepare Java and the JAR
Install Java 25 and check the executable:
java -versionDownload the dedicated JAR from Downloads. Place it in an empty deployment directory and open a terminal there. Use the exact downloaded filename in the command below. The backend uses this working directory for its persistent data.
Start a local listener
java -Xmx2G -XX:+EnableDynamicAgentLoading -Dsf.grpc.host=127.0.0.1 -jar SoulFireDedicated.jarSoulFireDedicated.jar represents the downloaded filename. Released assets can include a version suffix.
The 2 GB heap illustrates a small trial, not a bot-capacity guarantee.
The first start can take longer while the launcher prepares its dependencies and data.
Wait for the backend to finish loading before connecting a client.
The backend can print recommended JVM tuning flags.
Those flags tune performance. The sf.flags.v2 property acknowledges that warning; it does not apply the flags itself.
Use measured backend performance to choose a heap and tuning settings.
Generate an API token
In the server's interactive console, run:
generate-token apiOpen the desktop app with Dedicated server (remote).
Use http://127.0.0.1:38765 and the generated token for a client on the same computer.
Expect the instance pages to load.
Then connect one bot to check the complete workflow.
Configure the listener
| Property | Default for dedicated mode | Purpose |
|---|---|---|
sf.grpc.host | 0.0.0.0 | Address to bind |
sf.grpc.port | 38765 | API port |
Pass system properties before -jar:
java -Xmx2G -XX:+EnableDynamicAgentLoading -Dsf.grpc.host=127.0.0.1 -Dsf.grpc.port=38766 -jar SoulFireDedicated.jarFor remote clients, configure a suitable listener and HTTPS access.
A remote client's 127.0.0.1 refers to that client, not this backend.
Console and shutdown
-Dterminal.jline=true or false controls the interactive terminal.
-Dterminal.ansi=true or false controls terminal colors.
Pause scripts and stop bots before maintenance.
Run stop in the backend console for a clean shutdown.
Restart from the same directory to preserve its saved data.
Use backup and restore before replacing the JAR or moving that directory.
How is this page?
Last updated on
