Edit your server configuration
Find the config file
StoryForce ships storyforce_server.cfg in the StoryForce folder of your install.
The launcher reads it with +exec storyforce_server.cfg.
Change a value
Open the file in a text editor, find the setting and change the value inside its quotes:
set sf_chatprotection "1"
Quotes keep a value containing spaces together. Lines beginning // are comments and do not run.
set changes a value.
seta also marks it for the engine's saved settings file,
storyforce_autogen.cfg.
Keep your intended server settings in storyforce_server.cfg, which you edit by hand.
Set the base-game options
The first block sets the server name, capacity and match rules. These are the shipped choices:
| Setting | What it controls | Shipped |
|---|---|---|
sv_hostname | The name shown in server lists | StoryForce, with its colour codes |
sv_maxclients | Player slots | 16 |
sv_fps | Server frames per second | 40 |
g_gametype | Game type | 0, free for all |
timelimit | Match time limit in minutes | 0, no limit |
fraglimit, capturelimit, duel_fraglimit | Score limits for the relevant game types | 0, no limit |
The rest of that block covers combat, movement, votes and connection limits.
Secure a new server covers passwords and access.
Which page owns each block
Most blocks have their own guide:
| Section in the file | Where it is documented |
|---|---|
| Base game | This page |
| Console & logs | Read your server's logs |
| Accounts, registration & login | Secure a new server |
| Character XP | Tune how play works |
| Community characters, extras & myNPC | Tune how play works |
| World & roleplay tuning | Tune how play works |
| Admin permissions & director locks | Admin and director bit calculator |
| Clan branding & About page | Brand your server |
| Join welcome | Brand your server |
| Identity labels | Name your ranks, factions and statuses |
| Database backups & Cloudflare D1 mirror | Back up your database |
| LLM NPCs | Run LLM NPCs |
| Discord webhooks | Send events to Discord |
| Map | This page |
End the file with a map line
The last line of the shipped file is map mp/ctf3. It starts that map after applying the settings.
A dedicated server needs a map command in its config or launch arguments before players can join.
To change map once the server is up, use /changemap, which Prepare your map covers.
Apply a change while running
Type an individual setting at the server console to change it now:
set sf_chatprotection "1"
Type the cvar's name on its own to read its current value, default and any value waiting for a restart. Some settings, such as player slots, cannot change immediately:
Restart the server to apply a waiting value.
Save the same change in your config so it survives the next launch.
exec storyforce_server.cfg reads the whole file again. It also runs the final map line, so use it when you intend to load that map as well.
Save or load a scene from the server console
Use sf_scenesave <name>, sf_sceneload <name|filename.cfg> or sf_scenelist at the server console.
Saves belong to the storyforce account. A bare name loads that account's scene on the current map. Use the filename to load another account's scene.
The console can access private scenes. Load after a player joins if the scene needs NPCs. Loading with nobody connected skips them.
Save and load a scene explains what each scene stores.