Changelog

Every Highwatch release.

The desktop app, the @Highwatch mod and the ingest version separately. Each release says which mod and ingest it needs.

0.23.0
Mod 0.12.0Ingest 0.7.0

Ten tools for running a server

Evidence replay, a watchlist, Steam account checks, duplicated items, your own alert rules, economy drift, cleanup candidates, a staff log, retention, and a weekly recap.

New

  • Evidence replay: every Anti-Cheat observation has a Replay button that plays two minutes before and one minute after on the map, with every snapshot, everyone within 500 m, and their hits, kills, shots, pickups, vehicle seats, connects, and respawns.
  • Watchlist: watch a player with a reason from their profile or by Steam64. Their connects, disconnects, and observations land in the Watchlist view and the new Watchlist Discord feed. Watching never acts on the player.
  • Steam account check on every player profile: account age, VAC and game bans, DayZ hours, and how many friends carry bans, cached for six hours and shown as context, not proof. Set HIGHWATCH_STEAM_API_KEY on the ingest; the key never leaves it.
  • Duplicated items: the same persistent item id picked up while someone still holds it, handed over by someone who did not hold it, or lying on the ground twice, which is how the disconnect dupe looks. Needs mod 0.11.0.
  • Alert rules that run on the ingest with the app closed: player counts above or below a number, server FPS below a value, a silent mod or LB Core, raids by outsiders or while every owner is offline, strong Anti-Cheat observations, and bursts of any event. Each rule can post to its own Discord channel, and maintenance windows silence them all.
  • Economy drift on the Storage page: your types files against what is lying around, with items over nominal, items set to a nominal of 0 that exist anyway, items under min, and classes no types file knows. Needs mod 0.12.0.
  • Cleanup candidates on the Storage page: bases with no building activity and no member sessions for 7 to 60 days, and vehicles nobody has driven in that time, with the last driver. Nothing is removed.
  • Staff log in Operations: who changed what through the ingest, plus kicks, messages, and GameLabs actions sent through CFTools, each with the staff name set on that desk. Keys and tokens are never recorded.
  • Retention view on the Metrics page: daily players split into new and returning, weekly cohorts of new players (back within a week, still playing after 7 and 30 days), and regulars who stopped coming.
  • Weekly recap posted to Discord on your chosen day and hour: peak and daily players, new survivors, kills and the top three, the longest kill, raid hits, hours played, and the busiest hour. It never includes Anti-Cheat, ticket, or staff data.
0.22.0
Mod 0.10.1Ingest 0.6.0

The Anti-Cheat page

Security becomes a full Anti-Cheat page, and vehicle speed stops flagging helicopters.

New

  • The Security tab is now the Anti-Cheat page with five views. Overview shows open and strong counts, observations per day, when each evidence feed last arrived, the highest-risk players, and the detectors firing most.
  • Review queue with filters for status, detector, strength, and text, and evidence laid out as readable fields and tables.
  • Players view ranked by a risk score, with each player's full history. Detectors view lists every rule, the evidence it needs, and its confirm rate. The review log keeps the last 50 decisions with their notes.

Fixed

  • Vehicle speed no longer flags helicopters from mods with unusual class names. Mod 0.10.1 reports height above the terrain, and anything more than 4 m up is skipped.
0.21.0
Mod 0.10.0Ingest 0.5.0

Five new Security detectors

Highwatch Security adds fire rate, accuracy, damage, kills through buildings, and vehicle speed.

New

  • Fire rate: five shots inside 220 ms. Needs mod 0.10.0.
  • Accuracy: player hits at 75% or more of a day's shots. Shots fired also feed lifetime accuracy in the player dialog. Needs mod 0.10.0.
  • Damage: three non-head hits at three times the ammo's configured damage within ten minutes. Needs mod 0.10.0.
  • Kills through a building: after each firearm kill the mod traces a line from the killer's eyes to the victim's chest and reports what it met first. Needs mod 0.10.0.
  • Vehicle speed: a ground vehicle moving faster than 216 km/h between snapshots. Works with any mod from 0.7.0.
  • Every new detector shows its threshold and the innocent causes that can trigger it too.

Fixed

  • The Staff flags Discord feed no longer skips early observations on a route created before Security existed. Its old position is pulled back to the newest observation.
0.20.0
Mod 0.7.0Ingest 0.4.0

Highwatch Security arrives

Security detectors with evidence and review replace the Signals page.

New

  • Highwatch Security replaces Signals, which waited on events the mod never sent. Detectors run on the ingest as posts arrive: speed over 9 m/s on foot, jumps of more than 300 m between snapshots, pickups more than 4 m away, three or more hits that cost no health, headshot rates of 70% or more over at least 15 kills in seven days, kills at 900 m or more, and disconnects within 15 seconds of combat.
  • Movement is never judged in a vehicle, while unconscious, across long snapshot gaps, in the first 20 seconds after a connect or respawn, or from LB-sourced positions.
  • Each observation keeps its raw evidence, threshold, location, and known innocent causes. Staff confirm or dismiss it with a note, and the reviewer and time are recorded. Nothing kicks or bans.
  • The player dialog lists a player's Security observations, and the Staff flags Discord feed now posts them.

Improved

  • Windows: the search hint reads Ctrl K, and scrollbars are thin and dark instead of the wide light default.

Fixed

  • The mod's Expansion log reader now tracks whether its log file is open instead of comparing the file handle to zero. Shipped in mod 0.10.0.
0.19.2

Fewer CFTools rate limits

Vehicle and world-event reads are cached, RCon reads as a word, and mod 0.9.1 makes the storage scan lighter.

Improved

  • The GameLabs vehicle and world-event routes are cached for two minutes. CFTools was rate limiting them when they were read on every refresh.
  • The server card shows RCon as a word (Connected, Disconnected) instead of the CFTools enum.
  • Mod 0.9.1 makes each storage scan query about a quarter of the size. The grid is configurable (storageGrid, default 32) and a full pass takes about 34 minutes. The app update does not require the new mod.
0.19.1

Connected RCon reads correctly

Operations no longer marks a connected RCon worker as an error.

Fixed

  • Operations now recognizes CFTools RCon states such as WorkerState.CONNECTED as available. A connected state still needs fresh, successful server information. No mod or ingest update needed.
0.19.0
Mod 0.9.0Ingest 0.3.0

Operations and a lighter mod

An Operations page with opt-in incidents and daily briefings, and mod 0.9.0 fixes a cost that grew with uptime.

New

  • Operations page: source health with the last successful read from each source, and a diagnostic export.
  • Opt-in incidents for a silent mod feed and sustained low server FPS (defaults: no post for 2 minutes, FPS under 100 for 2 minutes), with acknowledgement, maintenance windows, and Discord notifications that retry.
  • Daily owner briefing to a Discord channel at your hour and timezone: FPS average and minimum, new and returning players, pending tickets, incidents, and recorded changes.
  • Change records: note a restart, a mod update, or a config change so it shows beside the numbers.
  • Mod 0.9.0 adds an on/off switch and, with profileWork enabled, timings for its own work (storage queries, the Expansion log, player snapshots) shown in Operations.

Improved

  • Mod 0.9.0 scans storage on a 16 by 16 grid in batches and keeps its event queue by acknowledged sequence.

Fixed

  • The mod's Expansion reader reopened the log and read every earlier line on each pass, so its cost grew with uptime. Mod 0.9.0 keeps a read cursor.
0.18.0
Mod 0.8.0Ingest 0.2.0

Advanced metrics and world census

A deep Advanced metrics view, a world census from the mod, and fully open inventories.

New

  • Advanced view on the Metrics page: FPS percentiles, a frame time histogram, hitches, FPS by players online, pipeline health, peak players by weekday and hour, session lengths, new and returning players, return after a day and a week, ping, activity per ten player-hours, and a per-restart comparison. Needs the ingest from this release.
  • World census from the storage scan: live infected, animals, vehicles, loose items, base parts, tents, stashes, and total entities. Needs mod 0.8.0, which also reports failed posts.

Improved

  • Inventory opens every nested level by default, with Expand all, Collapse all, and an item count on collapsed rows.
0.17.0
Mod 0.7.0Ingest 0.2.0

Tickets from in game

Players open tickets with !ticket, and staff answer from the app or a Discord thread.

New

  • !ticket <text> opens or adds to a player's ticket and !ticket close closes it, both answered on screen. Needs mod 0.7.0.
  • Tickets page with status filters, search, the full transcript with delivery state, a reply box, and close and reopen.
  • One open ticket per player, a minute between opens, and 500 characters per line. A reply the player could not receive is delivered again on their next connect.
  • With a ticket channel set, each ticket gets a Discord message with Reply and Close buttons and a thread holding every line from both sides. The buttons need the staff role.
0.16.0
Mod 0.6.0Ingest 0.2.0

Bases, owners, and raid alerts

Highwatch works out who owns each base and DMs members when it is raided.

New

  • Bases view on the Storage page: objects within 60 m grouped into a base with an owner, members, group, objects, and seven days of raids by non-members. Ownership comes from the mod, Expansion territories, and LB Groups. Needs mod 0.6.0 for deployments and construction.
  • Linked members get a Discord DM when their base is raided, at most once per base every fifteen minutes.
  • Containers show who placed them, and the player dialog lists the player's bases.
0.15.0
Ingest 0.2.0

LB Core as a player source

LBmaster servers get the map and player views without the mod, and a route walk shows what LB answers.

New

  • LB as a players source: for a linked LB Core service the ingest asks for the online players every fifteen seconds and uses that list when the mod has not posted for thirty seconds, so the map, condition block, travel trail, and presence work on LB servers without the mod. The mod always wins while it posts.
  • Routes tab on the LB panel: reads every LB Core route once and records what it answered. Write routes are never called.

Fixed

  • The /online and /server Discord commands no longer report a posting server as silent.
  • Kill notifications keep going when a server has been removed from the ingest.
  • Mod 0.5.0 compiles again: the !link command clashed with an engine name in the Mission module.
0.14.0
Mod 0.5.0Ingest 0.2.0

Discord linking and slash commands

Players link their Discord account in game, and Discord gets slash commands and kill notifications.

New

  • Account linking: !link in game shows a six-character code, and /link in Discord claims it within ten minutes. One account per character; /unlink undoes it. Needs mod 0.5.0, which handles chat lines starting with ! as commands and keeps them out of the chat feed.
  • Slash commands: /me shows a player's lifetime stats, and /online and /server are available to a staff role you set in the app. Register the commands from the Discord card.
  • Linked players get a Discord DM when another player kills them.
  • The player dialog shows a player's linked Discord account.
  • Avatar and banner artwork in the Highwatch palette for your Discord bot's profile.

Improved

  • The server-info outage notice includes the CFTools request id.

Fixed

  • The Discord status board always showed 'No post from the mod in the last two minutes' even while the mod posted every few seconds. It now reads the post time correctly.
  • A feed route or status board for a removed server no longer stops every other feed and board.
0.13.0
Ingest 0.2.0

Highwatch for Discord

Discord feeds and a live status board, posted from your ingest.

New

  • Discord feeds from the ingest: killfeed, raids, staff flags, server lifecycle, joins and leaves, the Expansion market, and a chat mirror, each routed to a channel. A new route starts at the newest event, so nothing old is replayed.
  • Live status board: one message per server, edited every minute with players, FPS, frame time, uptime, in-game time, weather, and who is online.
  • Discord card on Integrations to route feeds, set status boards, and send a test post. The bot token is set on the ingest and never reaches the app.

Improved

  • Posts are batched up to ten embeds and paced per route. When Discord rate limits, posting pauses for the time asked; a channel that no longer exists switches its route off with the reason.
  • The Expansion page finds MarketSettings in the mission folder, and log lines link the player's name cleanly.

Fixed

  • The ingest's Docker image could not start because it left out the LB and Expansion modules. It now ships every module.
  • Mod 0.4.0's Mission module failed to compile because of a name clash in the inventory command. The data.inventory action is unchanged.
  • The mod now keeps the Expansion file size cap between 1 and 512 KB and the Expansion intervals at 1000 ms or more, so one oversized post cannot be retried forever.
  • When CFTools answers bad-token after an application is edited, the app now registers again at once instead of failing every request for up to 23 hours.
0.12.0
Mod 0.4.0Ingest 0.1.0

DayZ Expansion integration

An Expansion page with market trades, the Expansion log, and your settings, read beside Expansion without touching it.

New

  • Expansion page with four views. Overview: bridge state, log activity, the settings in force, and log flags that are switched off. Market: trades by trader, item, and player, plus traders and zone stock. Log: grouped and searchable, with player links. Files: a read-only viewer.
  • Mod 0.4.0 follows the newest Expansion log every ten seconds and relays the Settings, Market, Traders, ATM, and trader zone files when they change. It references no Expansion class.
  • Players carry their hashed Bohemia id on connect, which is how Expansion log lines resolve to a Steam64.
  • An Expansion card on Integrations. Needs the ingest from this release.
0.11.0
Mod 0.3.0Ingest 0.1.0

Inventory and storage views

Read a player's inventory and every stash and vehicle, with an in and out log.

New

  • Inventory tree in the player dialog, with Read again. Reads go through the mod and arrive in a few seconds.
  • Storage page listing stashes and vehicles with their contents and a log of what went in and out.
  • Item pickups, drops, and transfers between containers on the Events page, with the stash or vehicle and the pickup distance. Moves inside one player's own inventory are skipped.
  • Mod 0.3.0 indexes storage across the map in 64 sectors, one every two seconds, and answers commands from the app: inventory and storage reads, private messages and notifications, broadcasts, and kicks. Needs the ingest from this release.

Improved

  • CFTools errors name the route, the HTTP status, CFTools' own error code, and the request id, so a grant problem and a credential problem no longer look the same. Four more 403 codes get their own explanation.
0.10.0
Mod 0.2.0Ingest 0.1.0

Combat heat and travel history

A combat heat map, a per-player travel replay, combat relations, and a real server FPS reading.

New

  • Combat heat layer on the map: kills and deaths, hits, base damage, and movement flags over a day, a week, or a month.
  • Travel dialog from the player dialog: the player's position history with a time scrubber and session breaks.
  • The lifetime block shows who a player fights with and against, with clickable names.
  • The player dialog warns when the player is on one of your CFTools ban lists.

Improved

  • The metrics strip and charts say Server FPS and Frame time, and the sidebar shows the app version.
  • Manual refresh names the data source that needs attention instead of a generic notice.

Fixed

  • Server FPS sat at 1000 no matter how the server ran. Mod 0.2.0 counts real engine frames per second and measures frame time properly.
0.9.0
Mod 0.1.1Ingest 0.1.0

LBmaster bridge

Connect LB Core to the ingest, and CFTools rate limits stop blocking everything.

New

  • LBmaster bridge: the ingest is an LB Core endpoint. Connect LB Core from Integrations, copy the Api.json entry the app prints once, and read status, online players, groups, mutes and timeouts, and any config or data file. Writes stay off for each service.
  • Mod 0.1.1 reports the raw engine loop rate beside server FPS.

Improved

  • A CFTools rate limit now blocks only the route that was limited. Statistics, the action catalog, queue priority, and whitelist are cached for five to ten minutes, so a refresh costs three requests instead of nine.
0.8.0

Actions on the map

Run GameLabs actions, message, kick, and broadcast from the map, and players land where they really are.

New

  • Actions on the map and in the player dialog: every GameLabs action your server reports, with forms built from its parameters, plus private message, kick, and broadcast. Each asks for confirmation and is recorded in Activity.
  • Mod positions layer on the map from the mod's player snapshot.

Fixed

  • Players from CFTools all landed on the south coast because positions were read in the wrong axis order. They are now plotted where they stand.
0.7.1

Player dialog crash fixed

Opening a player with native data no longer blanks the app.

Improved

  • If a view ever fails, the rest of the app stays up and shows the error instead of a black screen.

Fixed

  • Opening a player with a native profile turned the window black. The app now reads the ingest's nested event lists correctly.
0.7.0
Mod 0.1.0Ingest 0.1.0

Native telemetry and the @Highwatch mod

A new observe-only server mod that loads beside GameLabs, and Metrics, Events, and Signals pages fed by your own ingest.

New

  • @Highwatch server mod 0.1.0, written new to load beside CFTools GameLabs. It reports server timing, deaths with cause, kills with weapon and distance, hits, chat, sessions, base damage, vehicle seat changes, and a player condition snapshot to your ingest over HTTPS. It is observe-only and server-side only.
  • Connect an ingest feed from Integrations and link it to a paired CFTools server.
  • Metrics, Events, and Signals pages, a native health strip on the server card, live condition and lifetime statistics in the player dialog, and lifetime rows on the Online players page.
  • The demo workspace includes sample native data, labelled as sample.

Improved

  • The ingest can run on its own without CFTools webhooks: the listener secret is optional.

Fixed

  • The earlier server mod, which could boot-loop a server running CFTools GameLabs, was withdrawn and replaced by @Highwatch.
0.6.0
Ingest 0.1.0

The first Highwatch desktop app

A desktop panel for DayZ server health and online players over the CFTools Data API and direct Steam queries.

New

  • Discover and pair the servers your CFTools application is granted, or pair one by hand, up to 20 servers, with all-server and per-server views. Credentials are encrypted on your machine.
  • Server health: availability, players, queue, RCon worker state, BattlEye, and GameLabs status and capabilities.
  • Online players with Steam64, country, ping and ping trend, load time, session length, CFTools ban count, and Steam ban flags, with search, high-ping filtering, and pinned players.
  • Player dialog with CFTools statistics: playtime, sessions, kills, deaths by cause, K/D, longest kill and shot, hit zones, top weapons, and name history. A leaderboard covers every statistic CFTools ranks.
  • Server map with players, vehicles by kind, and world events (crash sites, contaminated areas, airdrops), with search, pan and zoom, and a grid.
  • Server data view: CFTools statistics, GameLabs world events and vehicles, action definitions, queue priority, whitelist, ban lists, and details from the public Steam query.
  • Population trends, arrivals and departures, and automatic refresh every 60 seconds with pause and manual refresh.
  • A labelled demo community to explore before you connect a server.
  • Self-hosted ingest 0.1.0: a CFTools webhook relay with encrypted storage, and the receiving end for the native telemetry that follows.