Overview
Jemsire Discord Webhook sends Arma Reforger server events to your Discord server using configurable webhooks. Each event type can use a different webhook URL, so you can split traffic across channels—for example a dedicated killfeed channel, a general activity channel, and an admin channel.
Typical uses include join/leave notifications, killfeeds (including AI and environment kills), and relaying in-game global chat with role and faction tags.
Use this page as the canonical reference for shipped settings.json keys and behavior.
Warnings
- Leaderboards are currently not finished or implemented.
- Very basic event actions currently. More will come later.
Requirements
- Arma Reforger 1.6+
- Mod loaded on the server so gameplay and chat hooks run server-side
- Discord webhook URL(s) (create under channel Settings → Integrations → Webhooks)
- No external mod dependencies
Configuration
On first run, the mod creates:
Profile/JemsireDiscordWebhook/settings.json
Edit this file while the server is stopped, then restart so changes apply.
Paste your Discord webhook URLs into the url fields for each named webhook you use. Assign event types to webhooks by setting each event’s webhookId to one of those names.
Default Config
{
"webhooks": [
{ "id": "general", "url": "" },
{ "id": "admin", "url": "" },
{ "id": "killfeed", "url": "" }
],
"eventPlayerKilled": { "webhookId": "killfeed", "enabled": true },
"eventPlayerConnected": { "webhookId": "general", "enabled": true },
"eventPlayerDisconnected": { "webhookId": "general", "enabled": true },
"eventChat": { "webhookId": "general", "enabled": true },
"eventLeaderboard": { "webhookId": "general", "enabled": true },
"leaderboardIntervalMinutes": 5
}
You can add more entries under webhooks (each needs a unique id and a url). Point any event’s webhookId at the id you want.
Settings
webhooks
Array of named webhooks Discord should receive POSTs from.
id: Machine-readable name used in event config (e.g."general","killfeed").url: Full Discord webhook URL. Empty URL means that id is skipped when sending.
eventPlayerConnected / eventPlayerDisconnected / eventPlayerKilled / eventChat / eventLeaderboard
Per-event options:
webhookId: Whichwebhooks[].idto use.enabled:trueorfalseto turn that event type on or off.
leaderboardIntervalMinutes
- Unit: minutes
- Default:
5 - Used when
eventLeaderboard.enabledistrue. A repeating timer runs on this interval. In the current shipped source the update only logs to the server console; assign a webhook so it is ready if your build adds leaderboard Discord posts.
Event Behavior
| Event | When it fires | Notes |
|---|---|---|
| Player connected | Player finishes joining | Message sent after a short delay so the player name resolves. |
| Player disconnected | Player leaves | — |
| Player killed | Death with instigator context | Killer shown as a player name when applicable; otherwise AI / Environment. |
| Chat | New message on global chat (channelId 0) | Not relayed for non-global channels. Adds [Admin], [GM], and [FactionKey] tags when applicable. |
| Leaderboard | Timer when enabled | Interval from leaderboardIntervalMinutes. |
Message text is sanitized for JSON (quotes and newlines are adjusted server-side).
Gameplay Notes
- Events are processed server-side and sent to Discord via HTTPS (standard webhook POST with JSON
content). - Global chat relay only mirrors the global channel; other channels are ignored.
- Works with Jemsire Chat Faction Tags for richer faction display in-game; Discord relay already includes faction keys from the faction manager.
Troubleshooting
| Issue | Things to check |
|---|---|
| Nothing appears in Discord | Confirm the mod is enabled on the server, webhook URLs are pasted correctly, and each event’s webhookId matches a webhooks[].id with a non-empty url. |
| Join/leave/kills silent | Ensure the gamemode component is present and the matching event….enabled is true. |
| Chat not relaying | Only global chat is relayed; sender must be a real player (senderId > 0). |
| 404 or webhook errors from Discord | Regenerate the webhook URL in Discord; URLs are secret—do not share publicly. |
| Config missing or ignored | Use strict JSON (no trailing commas or comments); path must be writable under the server profile. |
| Leaderboard timer but no Discord post | Expected for some builds: the timer may only log until leaderboard content is implemented—check your mod version. |
Credits
Created by TinyTank800.
Compatibility
- Arma Reforger 1.6+
- Compatible with any scenario or game mode (including Conflict and Game Master), subject to placing the game mode component on the game mode prefab.