RaidAlarm
Your base, your channel, your phone buzzing at 3am.RaidAlarm sends each tribe a raid warning in their own Discord channel, as one live message that keeps counting hits while the whole tribe is fast asleep.
A raid never waits for you to log in. RaidAlarm watches every wall a tribe owns, and the second somebody starts breaking one the alarm goes off where that tribe will actually see it. Each tribe points me at their own Discord channel and each player can add a private one, so nobody is scrolling a busy public feed hoping to spot their own base. The alert is one message that updates itself while the fight goes on, so a two hour raid is something you watch, not a hundred pings you mute.
This project is Free & Open Source under MIT license, Feel free to fork it and customize the plugin to your own liking.
Supported Features
- Alarms that reach you while you sleep: I watch the walls a tribe owns and I speak up the moment somebody starts breaking one, whether a single member is logged in or not. That is the whole job.
- A channel for every tribe, and every player: a tribe points me at their own Discord channel with tribe, and any player can add a private one just for their own base. No more one shared feed for the whole server.
- Nobody can aim your alarm somewhere odd: I only take a real Discord webhook over https, and I post a short code into the channel that has to be typed back in game before that route ever goes live.
- One message that keeps counting: rather than a fresh post every minute, I edit the first alert and the hit count climbs inside it. A long raid stays one message you can watch.
- It changes as the fight changes: a few taps read as a poke, a wall of hits or a raid that drags on turns the alert louder, and when the hits stop I post how long it ran and how many landed.
- Quiet hours, mute and offline only: a player can go silent for a set number of minutes, sleep through clock hours they pick, or ask to only hear about a raid when nobody in the tribe is on.
- Buzz the right phone: drop in a Discord user id or a role id and I put that mention on the alert, so it lands as a real notification instead of a badge nobody looks at.
- VIP tiers you write yourself: point a Permissions group at more routes, a shorter wait, mentions, quiet hours and a weekly all is well post, so a supporter perk is one small config edit.
- One keeper per tribe channel: a tribe route belongs to one person, the tribe is told when it changes hands, and the old channel keeps hearing alarms for a grace window so nobody falls off quietly.
- A dead channel does not stay a secret: when Discord keeps refusing a route I count the strikes, switch it off, tell the owner the next time they log in, and drop a note in your staff channel.
- Staff commands a bot can drive: list routes, read one, ring one, drop one, or hand a tribe channel over, from console or RCON, and add --json when a Discord bot is doing the reading.
- Your language, your words: name the language in the config and I speak it in game and in the console, and the file is plain text you can rewrite, keep, or pass to another owner.
Console & RCON Commands
| Command | What It Does | Where |
| RaidAlarm.Reload | Read the config and language files again with no restart. | Both |
| RaidAlarm.Lines | List every alarm route on my board, a page at a time. | Both |
| RaidAlarm.Line <id> | Show one route in full, with strikes, sends and the last answer Discord gave me. | Both |
| RaidAlarm.Test <id> | Ring one route so you can see it still works. | Both |
| RaidAlarm.Clear <id> | Drop a route. Give me a team id or an EOS id. | Both |
| RaidAlarm.Keeper <team> <eos> | Hand a tribe route to somebody else. | Both |
| RaidAlarm.TestDiscord | Fire a test alert at the server webhook in your config. | Console |
Player Commands
The command name lives in config.json, so rename /raidalarm to whatever your players already say.| Command | What It Does |
| /raidalarm | See what your alarm is doing right now, and which tier you are on. |
| /raidalarm help | List everything you can type. |
| /raidalarm set <webhook> | Point your own private alarm at a Discord channel. |
| /raidalarm tribe <webhook> | Point the whole tribe alarm at a channel. |
| /raidalarm confirm <code> | Type back the code I posted in the channel to switch it on. |
| /raidalarm test | Ring your channel now so you know it works. Add tribe for the tribe one. |
| /raidalarm ping <id> | Add a Discord user mention. Put role after the id for a role, or off to drop it. |
| /raidalarm label <text> | Give your route a short name so you know which is which. |
| /raidalarm mute <minutes> | Go quiet for a while. Use 0 to hear it again. |
| /raidalarm quiet <from> <to> | Sleep through set hours, like 23:00 to 07:00. Use off to drop them. |
| /raidalarm onlyoffline | Only hear about a raid when nobody in the tribe is online. |
| /raidalarm who | See which channel the tribe alarm goes to and who looks after it. |
| /raidalarm handover <name> | Hand the tribe alarm to another tribe member. |
| /raidalarm off | Switch your alarm back off. Add tribe for the tribe one. |
Permissions
| Node | What It Unlocks |
| RaidAlarm.Use | Use the chat command at all. |
| RaidAlarm.Personal | Set up a private alarm channel. |
| RaidAlarm.Tribe | Set up the tribe alarm channel. |
| RaidAlarm.Mention | Put a user or role mention on an alert. |
| RaidAlarm.Quiet | Set quiet hours. |
| RaidAlarm.Fast | Get the shorter wait between alerts. |
| RaidAlarm.Admin | Edit or hand over a tribe route that is not yours. |
Config
To see every configuration option, visit our docs. To edit your config files the easy way, open our configuration editor.Requirements
- AsaApi v2.01 or newer
- A Windows server running ArkAscendedServer through the AsaApi loader
- A Discord webhook per tribe or player, which they paste in themselves
- Permissions (optional, only for VIP tiers and the staff node)
- SQLite is built in and needs nothing from you. MySQL is optional, for a cluster that shares one board
Installation
- Unzip the download and put the RaidAlarm folder into ArkApi/Plugins/. AsaApi finds a plugin by its folder, so the folder must carry the exact name of the DLL inside it.
- Open RaidAlarm/config.json. Leave Routes.Enabled on so players can set their own channels, and set Discord.Enabled with a webhook if you also want a public server feed.
- Tune MinHitsToAlert and BatchSeconds to taste, then set your tiers in the Tiers block if you run a VIP group.
- Start the server again through AsaApiLoader.exe.
- Watch ArkApi.log for the listening line, then run RaidAlarm.TestDiscord from the console to prove the server webhook before the first real raid.
Support & Help
Stuck on the setup, or an alarm not ringing? Come and find me on Discord and we will sort it out together: https://discord.gg/8GGaEzWk9pFrequently Asked Questions
What does RaidAlarm do?RaidAlarm watches your structures for damage and turns a raid into one readable alert in Discord. Each tribe points it at their own channel, so the warning lands where that tribe will see it. The alert carries the hits, the map, the spot on the map and how many of the tribe are online, and it keeps updating while the raid is still going.
How do I install RaidAlarm?
Drop the RaidAlarm folder into ArkApi/Plugins/, keeping the folder named exactly like the DLL, look over config.json, and restart the server through AsaApiLoader.exe. RaidAlarm makes its own SQLite file on first boot, so there is no database to set up. Run RaidAlarm.TestDiscord from the console to check your server webhook.
Can each tribe get alerts in their own Discord channel?
Yes, and that is the point of it. A tribe member types /raidalarm tribe with their webhook, RaidAlarm posts a short code into that channel, and they type the code back in game to switch it on. Any player can also add a private channel of their own with /raidalarm set.
Is it safe to let players paste a webhook?
Yes. RaidAlarm only takes an https link to a Discord webhook host on the allow list in your config, it checks the shape of the whole address, and it will not use a route until somebody types back a code that only appears inside that channel. So nobody can aim an alarm at a channel they do not own.
Will a long raid flood my Discord?
No. RaidAlarm sends one alert and then edits that same message as the hit count climbs, so an hour long raid is one message and not sixty. A minimum hit count keeps a stray swing quiet, and every send goes through a queue with caps you set, so even thousands of hits a second stay calm.
Does it need ArkShop, Permissions or a database server?
None of them. RaidAlarm runs on a built in SQLite file with no setup. Permissions is optional and only adds VIP tiers and the staff node, and ArkShop is not used at all because there is nothing to buy here.
Was any AI content used in the making of this?
The source code itself was fully created by myself. I do use ChatGPT occasionally to generate product images, and I do use ChatGPT to generate the website descriptions. I do this because I don't speak native English perfectly. I am natively from Sweden, so I use GPT to help translate and write product descriptions. I also will sometimes use GPT to write better English logs. Majority of my Free plugins are open source, so you can review the code yourself and freely fork and edit it to your liking.