case study · desktop app

Hoard ServerUI

A desktop app for running a DayZ server without hand-editing XML. Pull the config, edit it through typed forms and an interactive map, then push a reviewed diff back to the server.

Type
Desktop app (in-house tool)
Stack
Tauri 2, Rust, React, TypeScript
Status
In daily use, actively developed
Types editor: a filterable table of 8,531 item types with origin, nominal, lifetime, usage and tier columns
Types: 8,531 items across 48 files, filterable by mod source, usage and tier.

The problem

A DayZ server's economy lives in dozens of XML and config files spread across the mission, profiles and every mod. One typo can stop items spawning, and the game won't tell you. It just quietly ignores it.

We wanted to edit all of it safely, see it on a map, run the server's events and economy from one place, and never push a change to a live server without seeing exactly what it does.

what's in it

One app for the whole server

  • Itemstypes.xml economy tuning: nominal, min, flags and tiers
  • Eventsdynamic event definitions and spawn positions
  • Loadouts & gear setsspawnable types and random presets
  • Player spawnsplaced and checked on the map
  • Zones & tiersloot-tier overlay on the terrain
  • Server configserverDZ.cfg and globals through typed forms
  • Health & lintcross-file validation on every save
  • Map editorspawns, events and zones on the terrain
  • Expansionmarket, traders, quests, quest graph and NPCs
  • Server opslive server, economy, world events, reports, heatmap
  • Modpackbuild the server mod pack, reskins and external PBOs
  • History & backupsworkspace git history and pre-push snapshots

screens

A look inside

Real screenshots from the app, running against our development server.

under the hood

Built like a tool you can trust with a live server

safety

Nothing reaches the server by accident

Edits commit to a local git workspace. Pushing opens a full diff for review, and local pushes snapshot the files they're about to overwrite.

parsers

Round-trip file parsing

Rust parsers preserve comments, whitespace and unknown keys on write-back, so the tool never mangles hand-written config.

security

Encrypted credentials

SFTP logins are stored in an encrypted, machine-bound vault. The same UI works against a local folder or a remote server.

mods

Mod-aware

Vanilla and mod economy files are parsed side by side, each item tagged with its source, and a mod's files can be registered or removed cleanly.

reskin

Real mod builds

The modpack section clones items with a new texture or colour and packs and signs a genuine server mod (.pbo).

architecture

Pluggable modules

Optional features register themselves as add-ons with their own routes and sidebar sections, switched on or off in settings.

Honest limits

It edits configuration, not live game state, and it can't invent new models or animations; those still come from the game's own tools. If a class name doesn't exist in the game or an installed mod, the server ignores it, so the app's lint checks flag that before you push.

next step

Need a tool like this for your server?

We build admin tools around how your team actually works, safe to use on a live server.