SST is a source-available, non-commercial DayZ server management suite. It combines a server-side DayZ mod, a Node/Express API, and a React dashboard so server owners can inspect player data, manage items and vehicles, review logs, and work with common DayZ Expansion economy files.
SST is a public early release for DayZ server owners who are comfortable testing server-admin tools.
The current build is usable, but setup still requires care. Test it on a development or staging server before using it on a live community. The current release focuses on the core server-admin loop:
- server-side mod loads correctly
- mod writes useful JSON exports
- API reads the server files through local disk, FTP, or SFTP
- dashboard connects to the API
- admins can test the core management tools
Future releases will continue to streamline installation, packaging, hosted-provider setup, and documentation.
SST has three parts:
- SST DayZ mod - Runs on the DayZ server. It exports server state to JSON files and reads command queues written by the API.
- SST API - Runs beside your server or on another machine. It reads the SST JSON files from local disk, FTP, or SFTP, then exposes them to the dashboard.
- SST Dashboard - Runs in a browser. It connects to the API so admins can view players, vehicles, inventories, logs, economy files, and queue supported actions.
The mod is intended to be installed as a server-side mod. Players should not need to install SST on their client when your server host supports server-side mods through -serverMod.
DayZ server + SST mod -> $profile:SST JSON files -> SST API -> Web dashboard
Dashboard actions -> SST API command queue -> SST mod -> DayZ server
SST is ready for community testing and contribution, but it should be treated as server-admin software. Review configuration before exposing it to the internet, keep API keys private, and test changes on a staging server before using them on a live community.
@SST/- ready-to-install server-side DayZ mod package.SST/- DayZ mod source in Enforce Script.Missions/- mission configuration bundles for supported maps.apps/api/- Node/Express API that reads SST export files and queues commands.apps/web/- Vite/React dashboard.tools/setup-wizard/- Windows setup wizard for first-time API configuration.docs/wiki/- community-facing setup and reference documentation.
- DayZ server with permission to install server-side mods.
- Node.js 18 or newer for the API and dashboard.
- Windows for DayZ server tooling and the setup wizard.
- SFTP/FTP credentials if the DayZ server is hosted by a provider.
- Access to the DayZ server profile folder. This is the folder passed to DayZ with
-profiles=...; after the mod runs it should containSST/.
This repository includes a ready-to-install server-side mod package in @SST/. It also includes the mod source in SST/ if you want to rebuild the PBOs yourself.
Copy the whole @SST/ folder to your DayZ server root and load it as a server-side mod. A typical startup parameter looks like:
-profiles=Server1 -serverMod=@SST -scrAllowFileWrite
If your host does not expose -serverMod, use the server-side mod field or startup parameter field your host provides. Avoid putting SST in the public client mod list unless your host specifically requires that.
Keep your normal client-required mods in -mod, and keep SST in -serverMod. If players are kicked for missing or extra PBOs, make sure every client-required mod is also loaded by the server through -mod and that those mods' .bikey files are in the server keys folder.
If you rebuild from source, build the PBOs from SST/ using your normal DayZ tools workflow and place the output in @SST/Addons/.
Start the DayZ server once, then check the active DayZ profile folder. SST writes to $profile:SST, so the real folder depends on your -profiles parameter:
-profiles=Server1usually means<DayZServerRoot>/Server1/SST-profiles=profilesusually means<DayZServerRoot>/profiles/SST-profiles=D:\DayZServer\profilesmeansD:\DayZServer\profiles\SST
SST should create:
SST/
SST/api/
SST/inventories/
SST/events/
SST/life_events/
SST/trades/
SST/vehicles/
If the SST/ folder does not appear, check the DayZ RPT/script logs and confirm the mod is loaded by the server.
The API setup and dashboard connection test will not work until the mod has run at least once and generated the SST/ folder.
When an admin logs into the dashboard, SST checks GitHub Releases for a newer version. If one is available, the dashboard shows an update prompt with release notes.
The install button is intentionally local-only by default because it changes files on the machine running SST. It starts tools/updater/Update-SST.ps1, backs up local API config/data, downloads the release archive, installs dependencies, rebuilds the web dashboard, and then asks you to restart SST so the API can load the new code.
Update settings live in apps/api/.env:
SST_DISABLE_UPDATE_CHECK=0
SST_UPDATE_REPO=DillanStep/SST-Public
SST_ALLOW_REMOTE_UPDATE=0The API needs to read the SST/ folder created by the mod.
First, find where the mod created its files.
- Start the DayZ server with
@SSTloaded. - Open your DayZ server profile folder.
- Look for a folder named
SST. - Inside it you should see folders such as
api,inventories,events,life_events,trades, andvehicles. - That folder is your
SST_PATH.
If you cannot find the folder, the mod is probably not loaded correctly yet. Fix that before configuring the API.
Use local when the API runs on the same machine as the DayZ server.
Example:
STORAGE_BACKEND=local
SST_PATH=C:/DayZServer/Server1/SSTUse forward slashes / in the path, even on Windows. Do not use backslashes.
Good:
SST_PATH=C:/DayZServer/Server1/SSTAvoid:
SST_PATH=C:\DayZServer\profiles\SSTUse sftp when your DayZ server is hosted by a provider and you have SFTP details.
You need these details from your host panel:
- SFTP host
- SFTP port
- SFTP username
- SFTP password
- The remote path to the
SSTfolder
Example:
STORAGE_BACKEND=sftp
SFTP_HOST=example.host
SFTP_PORT=22
SFTP_USER=your-user
SFTP_PASSWORD=your-password
SFTP_ROOT=/remote/root
SST_PATH=HostHavocDayZServer/SSTHost panels often show a long path. For example, if FileZilla shows:
/104.234.251.153_2332/HostHavocDayZServer/SST/api/online_players.json
Then use:
STORAGE_BACKEND=sftp
SFTP_ROOT=/104.234.251.153_2332
SST_PATH=HostHavocDayZServer/SSTIn plain English:
SFTP_ROOTis the top folder your host drops you into.SST_PATHis the path from that root to theSSTfolder.- Do not include
/api/online_players.jsoninSST_PATH; stop at theSSTfolder.
Use ftp if your host provides FTP or FTPS instead of SFTP.
Example:
STORAGE_BACKEND=ftp
FTP_HOST=example.host
FTP_PORT=21
FTP_USER=your-user
FTP_PASSWORD=your-password
FTP_SECURE=true
FTP_ROOT=/remote/root
SST_PATH=HostHavocDayZServer/SSTIf your provider does not support FTPS, set:
FTP_SECURE=falseKeep credentials private. Do not commit .env.
The API is the backend server. The dashboard talks to it, and it talks to the DayZ server files.
Open PowerShell, Command Prompt, Windows Terminal, or Git Bash.
Go to the repository folder:
cd C:\path\to\SST-Public-mainIf your folder is somewhere else, use your real path.
cd apps/apiRun this once:
npm ciIf npm ci fails, check that Node.js 18 or newer is installed:
node --version
npm --versionIf you are using Git Bash, WSL, or Linux:
cp .env.example .envIf you are using PowerShell:
Copy-Item .env.example .envIf you are using Command Prompt:
copy .env.example .envOpen this file:
apps/api/.env
At minimum, set:
STORAGE_BACKEND=local
SST_PATH=C:/DayZServer/Server1/SSTOr, for hosted SFTP:
STORAGE_BACKEND=sftp
SFTP_HOST=your-host
SFTP_PORT=22
SFTP_USER=your-user
SFTP_PASSWORD=your-password
SFTP_ROOT=/your/root
SST_PATH=path/to/SSTLeave API_KEY and JWT_SECRET blank if you want SST to generate them on first startup.
From inside apps/api, run:
npm startLeave this terminal window open. If you close it, the API stops.
The API listens on:
http://localhost:3001
Open a second terminal and run:
curl http://localhost:3001/healthIf curl is not available, open this in your browser:
http://localhost:3001/health
You should get a small health response. If the browser cannot connect, the API is not running or the port is blocked.
From the repository root, you can run:
PowerShell -NoProfile -ExecutionPolicy Bypass -File tools/setup-wizard/SetupWizard.ps1The setup wizard helps write the API configuration, but you still need the DayZ mod loaded and the SST/ folder created first.
The dashboard is the web interface you open in your browser.
Open a new terminal. Do not close the API terminal.
Go back to the repository root:
cd C:\path\to\SST-Public-mainThen go into the dashboard folder:
cd apps/webInstall dashboard dependencies:
npm ciStart the dashboard:
npm run devLeave this terminal window open. If you close it, the dashboard dev server stops.
Vite will show a local URL. It is usually:
http://localhost:5173
On first run, the dashboard will ask you to connect to the API and create the first admin account.
Use this API URL when the dashboard asks:
http://localhost:3001
If the dashboard asks for an API key, use the API_KEY from apps/api/.env. If you left it blank, restart the API once and check .env; SST should write the generated key there.
After the mod, API, and dashboard are connected, admins can:
- View server/player dashboard data.
- Search players and inspect inventories.
- Track vehicles and player history.
- View live map data when exports are available.
- Review logs and event data.
- Work with Expansion market/economy files.
- Queue supported actions through JSON command queues that the server-side mod processes.
For the full walkthrough, start with Getting Started.
The repository includes Windows helper scripts:
Install-SST.bat- installs API/web dependencies and builds the dashboard.Start-SST.bat- starts the API and dashboard locally.Reset-Factory.bat/Reset-Factory.ps1- reset local generated setup state.tools/setup-wizard/SetupWizard.ps1- guided API storage configuration.
These scripts do not install the DayZ server mod for you. The DayZ mod still needs to be built/installed on your DayZ server.
API:
cd apps/api
npm ci
npm startDashboard:
cd apps/web
npm ci
npm run lint
npm run build
npm run devThe API reads configuration from apps/api/.env. Important settings:
STORAGE_BACKEND:local,ftp, orsftp.SST_PATH: path to the DayZ profileSSTfolder.API_KEY: generated on first API startup if left blank.JWT_SECRET: generated on first API startup if left blank.CORS_ORIGIN: set this when the dashboard runs on a separate origin.
Do not commit .env, database files, logs, node_modules, or build output. The repo includes .gitignore rules for these files.
If the dashboard is empty or cannot connect:
- Confirm the DayZ server loaded the SST server-side mod.
- Confirm the DayZ profile folder contains
SST/. - Confirm the API can reach that folder through local disk, FTP, or SFTP.
- Check
http://localhost:3001/health. - Check the browser console and API logs.
- Remove credentials, player IPs, and private data before posting logs in issues.
More help is available in SUPPORT.md and Troubleshooting.
- Keep the API behind a firewall, VPN, reverse proxy, or trusted network where possible.
- Use HTTPS if the dashboard or API is reachable from the internet.
- Rotate
API_KEYand admin passwords if they were ever shared. - Remove credentials and player-sensitive data before posting logs in issues.
- Do not expose FTP/SFTP credentials in screenshots, issues, or pull requests.
SST welcomes community testing, bug reports, documentation fixes, and pull requests. The normal contribution workflow is:
- Open or find an issue.
- Fork the repository.
- Create a focused branch.
- Run the relevant checks.
- Open a pull request against
main.
Start with CONTRIBUTING.md. For setup help, read SUPPORT.md. Project maintenance expectations are in GOVERNANCE.md.
Good first contributions include documentation fixes, setup notes for hosted providers, dashboard bug fixes, issue reproduction steps, and map/mission testing notes.
- Discord support: SUDO Gaming Discord
- Report bugs, feature requests, support questions, and documentation issues with the GitHub issue templates.
- Open pull requests from forks; maintainers review and merge accepted changes.
- Security reports should follow SECURITY.md, not public issues.
- License: source-available non-commercial. See LICENSE.md.