An in-game info menu and report system for Arma Reforger servers.
The content lives on your server — one published addon, a different setup on every server that runs it.
Two menus, added to the game and filled from your server:
- F11 — an info menu. Your rules, onboarding and SOPs as a browsable list, in game.
- F10 — a report menu. Bug and player reports, delivered to a Discord channel and a log file on your server.
Both are also in the pause menu, both work on a controller, and both follow the player's game language.
The content is a JSON file in your server's profile directory. Edit it, restart the server, and players see the new text when they next join. Every server running this addon serves its own content from the same published mod.
Two levels of hierarchy: categories, each holding entries. The text supports bold, colours and inline icons. Title, accent colour and icons come from your config.
The footer holds up to three link buttons — Discord on D, your website on W, and one more on L that you name yourself: a ruleset, a ban appeal form, a Teamspeak address. Each appears once its URL is set, and each opens through the platform, which is what makes them work on console.
The menu is built from the game's own widget library, so it matches the vanilla settings and group menus.
A form that asks in order: which kind of report, who it concerns, what happened. Each tab shows the rows that apply to it, so the bug tab asks for a description alone:
A player is named one of four ways: picked from a list, whoever last killed me, whoever last injured me, or everyone within 300 m. For the last three the client sends which option was chosen, and the server resolves it from the kills and hits it recorded itself.
Sending is a hold. The footer prompt fills while the key is held down and fires when the fill completes.
Both menus appear in the pause menu. Labels and icons come from your config — a server that calls its info menu Regelwerk gets that word here too.
An entry appears when its feature is enabled and has content to show.
Every report goes to two places, each written independently of the other.
A Discord embed, with a coloured stripe telling the two kinds apart at a glance in a busy channel:
serverName becomes the footer. The time appears as the server's clock in the field and as Discord's own timestamp beside the footer, which every reader sees in their own timezone.
A log file on your server, one line per report, appended while the server runs:
2026-07-29 21:24:07 | PLAYER | by Meier (12) | against Schulz (7) | at 4821 / 9134 | shot me in the back at the arsenal
2026-07-29 21:31:55 | BUG | by Meier (12) | at 4102 / 8890 | the vehicle spawner at Levie eats supplies and gives nothing
The addon reads its content from the server:
<server profile directory>/MrFrost/
infomenu.json
report.json
Drop that folder next to your server config. On join, the server hands its content to the player and the menus render it. One published mod, different content everywhere it runs.
Where those files are absent, the content bundled with the addon is shown, which covers single player and local testing.
| Info menu | Categories and entries, rich text, icons, per-server accent colour, optional open-on-join |
| Reports | Bug and player reports, four ways to name a target, server-side resolution, hold-to-send |
| Delivery | Discord embed and a log file, each written independently of the other |
| Localisation | Thirteen languages, picked from the player's game language; every string overridable per server |
| Per-server config | Each menu can be switched off; its menu, pause entry and key go together |
| Console | Controller support throughout, and link buttons that open on console |
| Anti-radar | "Everyone within 300 m" files the report without disclosing whether anyone was in range, until you enable it |
Both menus share one panel, one input category and one folder of server-side content.
-
Add the mod as a dependency in your server config:
{ "modId": "697F04F543907FAF", "name": "MrFrost Server Essentials" } -
Copy
addon/server/MrFrost/into your server's profile directory and write your own text into it. -
Restart the server.
- Edit
addon/Configs/MrFrost/InfoMenu.conf. - Restart the game.
Players open the info menu with F11 and the report menu with F10, or from the pause menu. Both keys are rebindable under Settings → Controls → MrFrost. A report is sent by holding Enter, or the right trigger on a controller.
Important
Save every file as UTF-8. In the addon config, give each category and entry its own unique GUID — copying a block while keeping its GUID silently drops one of the two.
Tip
Server files are read once at startup, like the rest of your server configuration. Edited one? Restart the server.
Warning
The Discord webhook URL is a secret — anyone holding it can post into that channel. It belongs in your server's report.json. The addon config ships to every subscriber.
| Page | What it covers |
|---|---|
| Installation | Server setup, local testing, when the Workbench is required |
| Server content | The JSON files, their keys, languages, and how they reach players |
| Reports | The report menu, Discord webhook and log file |
| Configuration | Every field of the addon config, with examples |
| Text formatting | Rich text markup and layout conventions |
| Icons | Verified sprite names and using your own artwork |
| Presets | Shipping and switching complete configurations |
| Troubleshooting | Log messages and what they mean |
| Architecture | How the addon is built, for modders |
| Changelog | What changed in each release |
Start at docs/Home.md for the full index.
addon/ the addon, and the only thing the game loads
Configs/MrFrost/ addon content, the fallback for each feature
InfoMenu.conf the info menu's categories and entries
Report.conf the report menu's settings
Language.conf every string the addon itself shows
Configs/System/ menu registration, input actions, key bindings
UI/layouts/MrFrost/ the shared menu frame, then one folder per feature
scripts/Game/MrFrost/Core/ everything shared between features
scripts/Game/MrFrost/…/ one folder per feature
server/MrFrost/ example server files - copy this into your profile dir
docs/ the documentation linked above
.github/workflows/ builds the release archive from addon/ alone
Everything the game reads lives under addon/, which is the folder you point
-addonsDir at. Documentation, the README and the repository's own .git
directory sit beside it, so they stay out of anything built or published from
the addon.
- Arma Reforger
- Arma Reforger Tools — needed for adding files to the addon and for publishing
- The info menu has two levels of hierarchy: categories and entries.
- Content is read at startup.
- There is no search box.
- Reports carry no screenshot. The script API exposes screenshot pixels as an opaque pointer, and the REST layer sends strings.
Note
Reports, the log file and the Discord webhook are verified working. The server-to-client content transfer is compile-verified and still awaits a run on a live dedicated server — local hosting reads the files directly. The [MrFrost] lines in the server and client logs say how far it got. See Troubleshooting.
By MrFrost. Released under the MIT licence.




