Skip to content
Arma Reforger intermediate · 10 min read

Arma Reforger Discord Killfeed and Server Alerts

Send your Arma Reforger killfeed, join and leave notices, up/down/restart alerts, and performance warnings straight to Discord with up to five per-server webhooks.

By Bradford Updated

The Server Stats feature on your Arma Reforger server can post a live killfeed and a set of server alerts straight into Discord. Every kill, every player who joins, a best-effort notice when someone leaves, your server going up, down, or restarting, and a warning when CPU, memory, or frame-rate cross a line you set — all delivered as tidy Discord embeds by a background worker that keeps running whether or not anyone has the panel open. You can point up to five separate Discord webhooks at one server, each subscribed to its own mix of events, with its own filters, so a public #killfeed channel and a private #server-alerts channel can each get exactly what they should. This guide covers what each alert type does, how to set the webhooks up in the panel, how the filters work, and the accuracy limits worth knowing before you rely on them.

What the Killfeed and Alerts Can Send

Server Stats delivers five independent event families to Discord. A single webhook can subscribe to any combination of them, and each one is detected and de-bounced separately so you only get a message when something actually changes.

EventWhat it posts
KillfeedOne embed per batch of new kills — who killed whom, with weapon, hit zone, and distance when known
Player connectA green “Players joined” embed listing players who just connected
Player disconnectA grey “Players left (approx.)” embed — estimated from inactivity, not an exact leave line
Server state🟢 Server up, 🔴 Server down, or 🔄 Server restarted
Performance thresholdAn amber warning when CPU %, memory %, or FPS crosses a limit you set

Note: A background worker checks each server about once a minute and posts only what is new since the last check, so a webhook never replays old events

Note: When you first create or enable a webhook, its starting point is set to “now” — it will not dump the whole existing match history into your channel

Note: Server state alerts work on any game type; the killfeed, join, leave, and performance alerts read Arma Reforger’s server log and only have a data source on Reforger

Setting Up Your First Webhook

Webhooks are configured on the server’s Server Stats page in the LoafHosts panel. You will need a Discord webhook URL first — create one in Discord under the target channel’s settings (Integrations, then Webhooks), and copy its URL.

  1. In Discord, create a webhook on the channel you want the alerts in and copy its URL
  2. In the panel, open your Arma Reforger server and click Server Stats in the server sidebar
  3. Add a new webhook and paste the Discord webhook URL into it
  4. Choose which events this webhook should send (killfeed, joins, leaves, server state, performance — any mix)
  5. Set any filters you want, such as which kill types to include or a minimum distance
  6. Optionally give the webhook a label and a Discord thread ID, then enable it
  7. Use the test button to send a sample message and confirm it lands in the right channel

Tip: Send the test message before you rely on a webhook — it confirms the URL is right and that it posts to the channel (or thread) you expect

Tip: A webhook must have a URL on file before it can be enabled; the panel will ask you to add one first

Tip: Use the optional label to remember a webhook’s job, for example “Public killfeed” or “Admin alerts”

Note: Only a real Discord webhook URL is accepted, and the panel masks the secret token when it shows the URL back to you, so the token is never displayed in full after saving

Filtering the Killfeed

The killfeed is the busiest feed, so it has two filters that let a webhook show only the deaths you care about. Both are set per webhook, which is how one channel can carry the full feed while another carries only the highlights.

The first filter is kill type. Reforger deaths are sorted into categories, and a webhook only posts the types you tick. The default for a new webhook is enemy kills and team kills.

Kill typeMeaningExample line
ENEMYA normal kill of an enemy playerKiller killed Victim
TKA team killKiller team-killed Victim
SUICIDEA self-inflicted deathVictim died (suicide)
OTHER_DEATHA death with no attributed killerVictim died
GMA Game Master eliminationKiller eliminated Victim (GM)

The second filter is minimum distance. Set a value in metres and the webhook only posts kills at or beyond that range — handy for a “long-range highlights” channel that ignores close-quarters trades. Each killfeed line also carries the weapon, the hit zone, and the distance in metres when the log provides them, appended after the kill text.

Tip: Run a busy public channel on enemy kills only, and a separate admin channel that also includes team kills, so moderators can spot repeat teamkillers

Tip: A minimum distance of something like 300 metres turns a webhook into a sniper highlight reel

Note: Kills are grouped into a single embed per check rather than one message per kill, which keeps a busy server from flooding the channel

Performance Threshold Alerts

A performance webhook warns you when the server is straining. You set a limit for any of three metrics, and the webhook fires when a metric crosses it. Metrics you leave blank are simply ignored.

  • CPU % — alert when CPU usage reaches your percentage
  • Memory % — alert when used memory reaches your percentage of the limit
  • FPS floor — alert when server frame rate drops below your number

Performance alerts are de-bounced: once one fires, that webhook stays quiet for at least 30 minutes even if the metric is still over the line, so a struggling server cannot spam the channel. Recovery is silent — a metric dropping back under its limit simply stops triggering new alerts.

Warning: On most Reforger servers the CPU metric is skipped because the plan uses an unlimited CPU allowance, which means the panel cannot convert the raw figure into a clean 0–100% value. Memory % and the FPS floor are unaffected and are the more reliable performance alerts to rely on

Tip: An FPS floor is the most useful performance alert for Reforger — set it a little below your normal frame rate so you hear about a slowdown before players do

Note: Each performance metric accepts a value of at least 1; leaving a metric empty turns that metric off for the webhook

Server Up, Down, and Restart Alerts

The server state webhook tells you when the server’s power status changes. It distinguishes three transitions and fires each one exactly once:

  • 🟢 Server up — the server has come online with a fresh session
  • 🔄 Server restarted — a new boot was detected after the server was already up
  • 🔴 Server down — the server reports an explicit offline or stopped state

This is the one alert family that is not Reforger-specific — it reads the server’s power state, so it works on any game you host. The worker deliberately stays quiet during transient phases like installing, starting, or restoring, and it treats a temporary inability to reach the server as “no information” rather than firing a false down alert. That means brief blips during a reinstall or a slow boot will not spam your channel.

Tip: Put server state alerts in a private staff channel so admins notice an unexpected crash quickly

Note: A reinstall or a slow startup will not trigger a false down/up flap; the worker only announces a confirmed offline state and only re-announces “up” on the next real boot

Choosing Your Stats Source

The killfeed reads kill and event data from the Reforger server log, and that data has to be produced by a compatibility mod. The Server Stats page lets you pick and install the source with one click rather than editing config by hand.

SourceWhat it gives youSetup
Server Admin ToolsThe default. Reads kills and events from the server logInstall the mod from the panel
WCS_CommandsMore detailed combat dataInstall the mod and the -WCSTest startup parameter, which the panel adds for you

When you install a source from the panel, the mod is added to your server’s config and Reforger downloads it on the next boot, so a restart is required before the data starts flowing. For WCS_Commands the panel also appends the -WCSTest startup parameter automatically, because that mod only writes its event log when the flag is present.

Note: A mod installed from the panel downloads on the next server boot, so restart the server after switching sources

Tip: Start with Server Admin Tools — it is the default and needs no startup flag; only move to WCS_Commands if you want richer combat detail

Multiple Webhooks and Discord Threads

Each server supports up to five webhooks, and they run completely independently. A slow or failing webhook never holds up the others, and each one tracks its own position in the feed, so two webhooks subscribed to the killfeed each receive every kill on their own schedule.

If your alerts belong inside a Discord thread or a forum-channel post rather than a plain channel, you can give a webhook an optional Discord thread ID — the numeric ID of the thread or forum post. When set, the alerts post into that thread. The test message uses the same thread, so what you see when you test is exactly where real events will land.

Tip: Five webhooks is enough to split a community cleanly: a public killfeed, a long-range highlight feed, a staff alerts channel, an uptime channel, and a performance channel

Note: The thread ID is the numeric id of a Discord thread or forum post (17–20 digits); leave it blank to post to the channel itself

Warning: Editing webhooks uses the same permission as editing your server’s startup, so a subuser needs that permission granted before they can add or change alerts

What the Alerts Look Like

Every alert arrives as a Discord embed posted by “LoafHosts Server Stats” (the killfeed uses “LoafHosts Killfeed”), titled with your server’s name, colour-coded by type, and footed with a small “LoafHosts Server Stats” line. Joins show a ➕ next to each player, leaves show a ➖, and each killfeed line escapes player names so a clever in-game name cannot break the formatting.

The “Players left” embed is explicitly labelled approximate, and its footer notes that disconnects are estimated from inactivity. That is because of how Reforger logs work, covered next.

Accuracy Limits Worth Knowing

Two of the alert types are best-effort by nature, and it is worth understanding why so the messages make sense.

The biggest one is player disconnects. Arma Reforger does not write a per-player “left the server” line to its log — it only logs an overall player count. So a leave is inferred: when a player’s last activity in the log has gone quiet for about ten minutes, the worker treats them as having likely left and posts the grey “Players left (approx.)” notice with a “last seen ~X ago” note. A player who is connected but idle, and so triggers no parsed log lines, can occasionally be reported as a false leave. The ten-minute window is deliberately generous to keep those false leaves rare, but the feature is honest that this number is an estimate, not an exact leave time.

The other is the CPU performance metric, which is skipped on servers with an unlimited CPU allowance as described above. Memory %, the FPS floor, the killfeed, joins, and server state are all exact within their checking interval.

Note: Joins and the killfeed are exact; disconnects are estimated from inactivity because Reforger has no per-player leave line

Tip: If false leave notices bother a public channel, keep player disconnect alerts in a low-traffic staff channel and leave them off the public killfeed webhook

Frequently Asked Questions

How do I get a Reforger killfeed in my Discord?

Open your Arma Reforger server in the LoafHosts panel, go to Server Stats in the server sidebar, add a webhook with your Discord channel’s webhook URL, subscribe it to the killfeed event, and enable it. Send the test message to confirm it posts to the right channel. You also need a stats source mod (Server Admin Tools by default) installed so the server log contains kill data.

Why is my killfeed empty even though the webhook tests fine?

A successful test only proves the Discord URL works. The killfeed itself needs a stats source — Server Admin Tools or WCS_Commands — installed and the server restarted so Reforger downloads it. Until kills are being written to the server log, there is nothing for the worker to post.

How many Discord webhooks can one server have?

Up to five per server. Each is independent, with its own events, filters, optional label, and optional thread ID, so you can split a public killfeed from private staff alerts.

Can I send alerts to a Discord thread or forum post?

Yes. Set the webhook’s optional Discord thread ID to the numeric id of the thread or forum post, and the alerts — including the test message — will post inside it.

Why does it say a player “likely left” instead of giving an exact time?

Reforger does not log a per-player disconnect line, only an overall count. The panel infers a leave when a player’s activity has been quiet for about ten minutes, so the notice is marked approximate and shows “last seen ~X ago” rather than an exact leave time.

Why am I not getting CPU performance alerts?

On most Reforger plans the CPU allowance is unlimited, which means the panel cannot turn the raw CPU figure into a 0–100% value, so it skips the CPU metric to avoid false alarms. Use the memory % and FPS floor alerts instead — they work regardless.

Do server up and down alerts work for games other than Reforger?

Yes. The server state alert reads the server’s power status, so up, down, and restart notices work on any game you host. The killfeed, join, leave, and performance alerts are specific to Reforger because they read its server log.

Will enabling a webhook flood my channel with old events?

No. When you create or enable a webhook, its starting point is set to the present moment, so it only posts events that happen afterwards. Re-enabling a webhook that was switched off also resets it to “now”, so it never replays the off period.

Rate this guide

Tap a star — it helps us decide what to write (and fix) next.