A native Linux launcher for DayZ that provides server browsing, automatic mod management, and game launching with correct parameters - bypassing the broken official launcher.
- Server Browser: Fetches ~19,000 servers from DZSA API with search, sort, and filter
- Automatic Mod Subscription: Uses Steamworks SDK to subscribe to missing mods - no Workshop pages, no manual clicking
- Mod Management: Check updates, re-download, bulk delete, symlink management
- Game Launch: Uses
steam -applaunchwith-nolauncherto skip the broken official DayZ launcher - Favorites: Mark servers as favorites, always shown at top
- Server History: Persists recently joined servers
- Direct Connect: Join via IP:PORT without browsing
- In-Game Name: Set and persist your player name
- Pre-flight Checks: Validates
vm.max_map_count, BattlEye runtime, and DayZ executable
Server browser showing favoriting, searching, joining, auto-subscribing to a mod.
Note: GIF quality is reduced for file size. The actual TUI is crisp and responsive.
Download the latest release tarball from GitHub Releases:
# Download
wget https://github.com/realvolk/DZLS/releases/latest/download/dzls-1.0.0-linux-x86_64.tar.gz
# Extract
tar -xzf dzls-1.0.0-linux-x86_64.tar.gz
# Run
cd dzls
./dzlsThe binary release includes everything needed:
dzls- compiled binarylibsteam_api.so- Steamworks SDK (licensed for redistribution)steam_appid.txt- Steam App ID
No SDK download required. No build tools needed. Just extract and run.
Steam must be running.
| Requirement | Version/Value |
|---|---|
| Steam | Native, Flatpak, or Snap |
| DayZ | Stable (221100) |
| Proton | Experimental recommended |
| Proton BattlEye Runtime | Required for BattlEye servers |
| vm.max_map_count | ≥ 1048576 |
| libcurl | ≥ 7.60 |
| ncurses | ≥ 6.0 |
git clone https://github.com/realvolk/DZLS.git
cd DZLSDZLS uses the Steamworks SDK for automatic Workshop subscriptions. The SDK is NOT included in this repository.
Obtain the Steamworks SDK:
- Go to https://partner.steamgames.com/
- Sign in with your Steam account
- Navigate to Steamworks SDK → Download
- Read and accept the SDK Access Agreement
- Download
steamworks_sdk.zip
Extract:
unzip steamworks_sdk.zip -d steamworks_sdkThe SDK must be placed at:
DZLS/steamworks_sdk/sdk/
├── public/steam/
│ ├── steam_api_flat.h
│ └── isteamugc.h
└── redistributable_bin/
└── linux64/
└── libsteam_api.so
No download link is provided. You must obtain it from Valve directly and agree to their license terms.
make./dzlsThe Steam client must be running.
| Key | Action |
|---|---|
↑ / ↓ |
Navigate servers |
PgUp / PgDn |
Page up/down |
Enter |
Join selected server |
1-5 |
Sort (Players/Name/Map/Mods/Ping) |
6-9 |
Toggle filters (Password/Empty/Full/Offline) |
0 |
Reset all filters |
R |
Ping all visible servers |
P |
Ping selected server only |
F |
Toggle favorite on selected server |
F3 |
Direct Connect (IP:PORT) |
N |
Edit player name |
/ |
Search by name or map |
F2 |
Mods screen |
F1 |
Help |
Q |
Quit |
- Browse or search for a server
- Press
Enterto select - Confirm or edit your profile name
- If password required, enter it
- DZLS checks mod requirements
- Missing mods prompt: "Download? (Y/N)"
- Steamworks SDK subscribes automatically
- Steam downloads in background
- DZLS waits for downloads
- Symlinks created
- Game launches with correct parameters
Press F3 and enter an IP:PORT.
Direct Connect
Enter IP:PORT
Example: 192.168.1.100:2302
Address: [192.168.1.100:2302]
DZLS validates the IP and port, then queries the server for mod requirements.
Press F2 to open the mods screen.
Tab 1: Installed Mods
- Lists all Workshop mods installed for DayZ
Space: Toggle selection for bulk operationsV: Check for updates (cached, 30s)R: Re-download selected mods (delete + DownloadItem)D: Delete selected mods (folders + symlinks)
Tab 2: Server History
- Shows recently joined servers and their mod lists
Press F on any server to toggle favorite. Favorited servers:
- Show
*in the first column - Always appear at the top of the list
- Persist across sessions in
favorites.json
Config file: $XDG_CONFIG_HOME/dzls/config.toml
[steam]
steam_root = "" # Auto-detected if empty
steam_executable = "" # Auto-detected if empty
[game]
profile_name = "PlayerName"
[network]
query_threads = 12
query_timeout_ms = 1000
[security]
remember_server_passwords = false
[ui]
show_empty_servers = true
show_password_servers = true
[system]
check_vm_max_map_count = trueBefore launching, DZLS validates:
-
vm.max_map_count ≥ 1048576
sudo sysctl -w vm.max_map_count=1048576
-
Proton BattlEye Runtime installed Search "Proton BattlEye Runtime" in Steam
-
DayZ executable exists Under Proton, the executable is
DayZ_x64.exe
make releaseProduces dzls-1.0.0-linux-x86_64.tar.gz containing:
dzls- compiled binarylibsteam_api.so- Steamworks SDK redistributablesteam_appid.txt- App ID for Steam API
┌─────────────────────────────────────────────────────────────┐
│ USER INTERFACE LAYER │
│ (TUI: ncurses) │
└───────────────────────────┬─────────────────────────────────┘
│
┌───────────────────────────▼─────────────────────────────────┐
│ ORCHESTRATION LAYER │
│ - State machine │
│ - Mod sync workflow │
│ - Launch coordination │
│ - Pre-flight orchestration │
└───────────┬───────────────┬───────────────┬─────────────────┘
│ │ │
┌───────────▼───────┐ ┌─────▼──────┐ ┌─────▼─────────────────┐
│ DZSA API │ │ A2S MANAGER│ │ STEAMWORKS SDK │
│ - Server list │ │ - Thread pool│ │ - SubscribeItem │
│ - Cache │ │ - Socket │ │ - DownloadItem │
│ │ │ - Parse │ │ - GetItemState │
└───────────────────┘ └────────────┘ └───────────────────────┘
| Library | Version | Purpose |
|---|---|---|
| libcurl | ≥ 7.60 | HTTP requests |
| ncurses | ≥ 6.0 | Terminal UI |
| cJSON | ≥ 1.7 | JSON parsing |
| pthread | Any | Threading |
| libsteam_api | SDK v1.65 | Workshop subscriptions |
Copyright (c) 2026 realvolk (Volk)
The Steamworks SDK is not included in this repository. Users must download it from the Steamworks partner site and agree to Valve's license terms.
- DZSA Launcher for server API
- Steamworks SDK for Workshop integration
- dayz-py-launcher and dayz-ctl projects for Linux inspiration
