Skip to content
Back to Utilities
Utilities v0.3.2

DAoC Stream Overlay

Live DAoC stats from your own chat log, as browser sources for OBS or Streamlabs Desktop. Realm points, damage, XP, kill feed, frontier activity, and alerts. Free and MIT licensed.

The callouts layer over a scene: a SLAIN word and two eliminated plaques with the realm points earnedThe realm points widget: session RP, RP per hour, kill streak, realm rank and progress to the next rankThe kill feed widget: recent kills with the realm points on each row and the current streakThe combat widget: damage out, DPS, hit rate, and the opponents you fought mostThe realm widget: frontier losses, hot zone, keep captures and who is killing whomThe PvE widget: XP per hour, session XP, coin, mob kills and zone

Your night, on your stream, as it happens. The overlay reads the chat log the game already writes and turns it into browser sources for OBS or Streamlabs Desktop.

Six widgets, or one that holds the lot:

  • Realm points, RP/hour and deaths
  • Combat: damage, DPS, hit rate, and who you fought most
  • PvE: XP/hour, coin, mob kills, level and zone
  • Kill feed: kills as they land, with the RP on the row and your streak
  • Realm: frontier activity, the hot zone, captures
  • Callouts: animated banners for kills, streaks, ranks and captures
  • Everything, in one source

An alert flashes up the moments worth reacting to: a realm rank crossed, ten kills without dying, your best night beaten. It keeps a record of past evenings, can write the big moments out as VOD chapter markers, and sits in the notification area with a keyboard shortcut for the on-screen version.

Free and MIT licensed. Windows, built for Live (the official Broadsword servers), patch 1.130a.

Download

v0.3.2, daoc-overlay-v0.3.2-windows-amd64.zip, 3.4 MB, Windows 64-bit.

e2dca9f7d7ec5728dbfe582404ec4e10894c47b8f63903cdd5b4c84bba063143  daoc-overlay-v0.3.2-windows-amd64.zip
7afabad0cf36c3e53c2863aa4d95ad31ea2ab7634fffbaf35fa68299fa89c7a3  overlay.exe

Those two lines let you check the file arrived in one piece. See checking the download.

Install it

Unzip it anywhere, your Desktop is fine, and double-click overlay.exe. There is no installer, and nothing is written outside that folder apart from its own settings file.

Windows interrupts the first run twice, and both are normal:

“Windows protected your PC”. Click More info, then Run anyway. Windows shows that for any program without a paid signing certificate, and a free overlay does not have one.

“Allow this app through the firewall?”. Tick Private networks. You only need this if your streaming program runs on a second PC. On one PC you can decline it and everything still works.

Turn the log on, all the way on

Two steps in game, and the second one is the one everybody misses.

  1. Type /chatlog on its own. That starts the log, and it stays on across sessions. (/chatlog somename writes somewhere else instead. If you use that, put its path in the chat.log box on the control panel.)
  2. Right-click your chat tab → Messages & Channels → tick all 16 Message Types. With boxes unticked, whole categories of line are never written, so the overlay cannot count what it never sees. This is the number one cause of “it shows zeroes”.

overlay.exe opens a page that tells you which of those is wrong, in plain words, while you are still in game.

Add the widgets

overlay.exe prints the addresses. Add a Browser Source per widget, in OBS or in Streamlabs Desktop:

http://localhost:8752/w/all         everything at once
http://localhost:8752/w/rp          realm points, RP/hour, deaths
http://localhost:8752/w/combat      damage, DPS, hit rate, top opponents
http://localhost:8752/w/pve         XP/hour, coin, mob kills, level, zone
http://localhost:8752/w/killfeed    kills as they land, RP on the row, streak
http://localhost:8752/w/realm       frontier activity, hot zone, captures
http://localhost:8752/w/callouts    animated stream callouts in your realm's colour

The last one, callouts, is the flashy layer: drop it over your whole scene and it flashes a banner on each kill, an escalating streak call, a rank or level plaque, a keep-capture banner, and a “best night” takeover, each drawn in the right realm’s colour (Albion red, Midgard blue, Hibernia green), read from the character you are on.

Every widget is transparent and sizes itself to the browser source. They update themselves: no refreshing, no scripts.

If your streaming program runs on a second PC, tick Let other machines on my network reach the widgets on the control panel and restart the overlay, then use the address it prints instead of localhost.

Make it yours

Open http://localhost:8752/control to pick what each widget shows, set the colours, font and text size, and place the on-screen version. Colours, font and size are one setting for the widgets and the on-screen version together, and a widget already added picks a change up on its own.

The extras

Three things the overlay can do beyond showing numbers. All three are off until you switch them on, from that same panel.

Drive your stream from the log. Save a replay after a multi-kill, switch scene on a death, flash an alert on a milestone. Pick OBS and paste the password from Tools, WebSocket Server Settings, or pick Streamlabs Desktop and paste the API token from Settings, Remote Control, once you have switched remote control on there.

Answer your Twitch chat. A viewer types !rp and gets your realm points, your rank and the night’s total.

Steadier numbers, and your real rank. That one is the flusher, below.

The flusher

The game saves your chat log a chunk at a time, about 4 KB, so on a quiet evening your numbers arrive in bursts minutes apart. Turn the flusher on from the control panel and they move steadily instead.

It also gets your lifetime realm points and your realm rank, which the log does not contain. Neither does /stats: read its first line and it says this session. With the flusher running, both come straight from the game, so !rp names your rank, the progress bar is right, and crossing a rank flashes an alert. Everything earned tonight is added from the log.

It is optional, and the overlay says on screen whether it is running. Without it, you can tick Lifetime realm points for a fallback: it asks the Camelot Herald, the game’s own public record, where your total stood when you last logged off. That is the only request this program makes to a machine that is not yours, and it is off until you tick the box. It sends one character name and one server name, the same as looking a character up on the Herald site.

For what the flusher does to the game, and why it asks for administrator rights, see under the hood.

Before you go live

START HERE.txt in the zip ends with a six-check list to run before each stream: relaunch the overlay so tonight’s numbers start at zero, check the health page says Working, check the flusher is running, refresh the browser sources so they are not serving a cached page, read the status lights on the panel rather than assuming a Twitch token is still good, and keep the control panel off screen, because your tokens and passwords are visible on it.

Privacy

Nothing leaves your PC unless you switch it on, and three things can be switched on: what it says to OBS or Streamlabs Desktop on your own network, what it says in your own Twitch chat, and the Herald lookup above. There is no telemetry, no update check, no analytics, and no third-party service anywhere in it. Your chat log is read, never uploaded, never copied.

Under the hood

The detail, for anyone who wants it.

What the overlay does. It reads chat.log and serves a web page on your own machine. That half never touches the game.

What the flusher does. It is the one part that reaches the game, because the game only saves its log a chunk at a time. It asks the running game to save each line as it happens, and reads your character and zone, your realm rank and lifetime realm points, and your level and champion progress, so the page can label who is being logged and show a rank without a web lookup. That setting lives in the running game only: it undoes itself when the game closes, and changes no file the game owns. One optional tickbox keeps the game’s sound playing while its window is not focused. If you switch the real-time setting off, it presses a key into the game window instead, and it can press your /stats key on a timer if you set one. None of that happens unless the flusher is running, and it only runs if you start it.

Why it asks for administrator rights. The flusher runs as its own program, overlay.exe -flush, started for you by the overlay. Windows only lets a program reach a game that is running as administrator if it has the same rights, so it asks. Decline and it carries on without them. The overlay itself never asks and never needs them, which is why the two are separate programs. The flusher stops when the overlay stops, including when the overlay crashes or you end it in Task Manager.

Checking the download. Compare either hash above against the file you have. In PowerShell:

Get-FileHash .\overlay.exe -Algorithm SHA256

That catches a download that arrived damaged, or a copy re-hosted somewhere that no longer matches this one. It is not a signature: the hashes and the file come from the same site.

If your antivirus objects. Every release is scanned by Microsoft Defender on a clean machine before it goes out, and this one comes back clean. Scanners still guess about programs without a paid signing certificate, and an overlay that talks to your game is an unusual shape to guess about. If yours does object: check the hash above, leave the flusher switched off (everything but the update rate works without it), or allow it under Windows Security → Protection history and add the folder under Exclusions.