Brazil's biggest MU Online portal — since 2003
Tutorial Intermediate Web

How to build an automated changelog page for your MU Online site

Build a changelog page that updates itself from a structured file, with change categorization, versioning, and Discord integration — cutting down the manual work of communicating updates.

BR Bruno · Updated on Jul 31, 2026 · ⏱ 14 min read
Quick answer

Communicating updates consistently is one of the habits that most strengthens a private MU Online server's community trust — but maintaining a changelog page manually, copying and formatting text every time something changes, is repetitive work that most admins end up abandoning after a few weeks. A

Communicating updates consistently is one of the habits that most strengthens a private MU Online server's community trust — but maintaining a changelog page manually, copying and formatting text every time something changes, is repetitive work that most admins end up abandoning after a few weeks. An automated changelog page solves this: you write the change once in a structured file, and the site, Discord, and any other channel update from that same source. This tutorial shows how to structure that file, categorize changes usefully, and connect everything to a simple publishing automation.

Why a structured changelog (and not just loose posts)

A structured changelog treats each update as a data record (date, version, category, list of changes) instead of free-form text scattered across a blog post or Discord message. This structure lets you generate the site page automatically, filter by category, search by keyword, and even feed other channels (Discord, social media) from the same single source of truth, eliminating the rework of writing the same information in different formats for each channel.

Choosing the source file format

FormatAdvantageWatch out for
JSONEasy to process programmaticallyLess readable for long manual edits
YAMLReadable and easy to edit manuallySensitive to incorrect indentation
Markdown with front matterFamiliar for anyone already editing site contentRequires a front matter parser

For sites that already use Markdown for other content pages (like tutorials), keeping the changelog in Markdown with front matter as well reuses the same build pipeline, reducing the complexity of maintaining two different parsing systems.

Recommended structure for each entry

Each changelog entry should contain, at minimum: a date or version, a short title, category (or categories), and a list of change items. An example in front matter format:

---
version: "1.4.2"
date: "2026-07-15"
categories: ["balanceamento", "correcoes"]
title: "Balancing adjustments after the guild war event"
---
- Reduced Twisting Slash damage by 8% against players (PvP only).
- Fixed a bug preventing guild war rewards from being delivered to offline members at the moment of victory.
- Increased Jewel of Bless drop rate in Kanturu Relics by 5%.

This format is simple enough for anyone on the team to write without needing to understand the site's code, but structured enough for the build to process automatically.

Categorization that's useful for the player

Split changes into categories that reflect the community's different interests: New Features (new items, systems, events), Balancing (damage, drop, and rate adjustments), Bug Fixes, and Events/Seasonal. A PvP-focused player wants to quickly scan the Balancing category without having to read about bug fixes irrelevant to them, and this clear separation increases the chance that relevant information actually gets read.

CategoryExample contentMost interested audience
New FeaturesNew socket system, new custom wingAll players
BalancingDamage adjustment, drop rate, crafting costPvPers and economy
Bug FixesExploit fix, quest bug, UI errorEveryone, especially those affected
Events/SeasonalChristmas event, double EXP weekendCasual/returning players

Generating the page automatically from the source file

In the site's build process (whether a static generator like Next.js/Astro/Hugo, or a custom script), configure it to read all files in the changelog folder, sort them by descending date/version, and render the page grouped by category or by chronological entry, according to community preference. The key point is that the page should never be edited directly in HTML — every content change goes through the source file, ensuring consistency and versioned history (especially if the site uses version control like Git).

Versioning: version numbers vs. dates

If the server makes large, well-defined updates (new system, broad rebalancing), numbering versions (v1.4.0, v1.4.1) helps the community reference "that update" precisely in support tickets and discussions. If updates are more frequent and incremental (small weekly tweaks), using just the date as the main identifier tends to be more intuitive, avoiding the bureaucracy of deciding whether a small tweak "deserves" a new version number.

Automatic Discord integration

Set up a Discord webhook in the server's announcements channel, triggered automatically whenever a new changelog entry is published (via GitHub Actions, a cron job that checks for new files, or a hook in the site's own deploy). The message should include the title, main category, a 2-3 item summary, and a direct link to the full entry on the site page, avoiding manually rewriting the same content in two places.

# Simplified example of a webhook notification script
curl -X POST "$DISCORD_WEBHOOK_URL" \
  -H "Content-Type: application/json" \
  -d '{"content": "**New update: v1.4.2**\nPost-guild war balancing. See everything at: https://yoursite.com/changelog/1-4-2"}'

RSS or feed for players who follow closely

For servers with a more technical community or partnerships with MU news sites, generating an RSS feed from the same changelog source file lets players and third-party sites track updates without depending on manually visiting the site or being on Discord at the exact moment of the announcement.

Writing best practices for the changelog

Write each change item from the perspective of its impact on the player, not from an internal technical perspective ("Reduced X's damage by Y%" is better than "Adjusted the skill multiplier in the config file"). Avoid development jargon that the average player won't understand, and whenever a change meaningfully affects economy or PvP, consider adding a line of context explaining the reason for the adjustment — this reduces community complaints about the change feeling arbitrary.

Common errors and fixes

SymptomLikely causeFix
Changelog outdated for weeksManual process with no automationMigrate to a structured file + automatic build
Players can't find relevant changesLack of categorizationSplit into New Features/Balancing/Fixes/Events
Discord and site show different informationContent written twice manuallyGenerate the Discord notification from the same source file
Community complains about "unexplained" changesChangelog item lacking context for the reasonAdd a short line explaining the reason for the change
Page breaks after publishing a new entrySyntax error in the source file (YAML/JSON)Validate the file with a linter before deploy

Automated changelog implementation checklist

  • Source file format defined (JSON, YAML, or Markdown with front matter).
  • Standardized field structure (date/version, category, items).
  • Categories defined usefully for the different player profiles.
  • Site build generating the page automatically from the source file.
  • Discord webhook configured to notify new entries.
  • Versioning convention (numbers or dates) defined and documented for the team.
  • Source file linter/validation configured before deploy.

With the automated changelog live, communicating updates stops being repetitive manual work and becomes a natural part of the deploy process — to dig deeper into the overall structure of the site and the server behind it, see the MU Online server setup tutorial.

Frequently asked questions

Why have a dedicated changelog page instead of just posting on Discord?

Discord is great for immediate notification, but messages get lost in the scroll and aren't easily searchable. A changelog page on the site becomes a permanent, indexable history, useful for players who come back after a while and want to know what changed, and it also helps the site's SEO.

Do I need a full CMS to automate the changelog?

Not necessarily. A structured file (JSON, YAML, or Markdown with front matter) versioned alongside the site's code is already enough to generate the page automatically on every deploy, without requiring a full CMS panel.

How do I categorize changes in a useful way for the player?

Split them into categories like New Features, Balancing, Bug Fixes, and Events. This lets players quickly scan what matters to them — a PvPer goes straight to Balancing, a collector goes to Events — instead of reading one big block of text.

Is it worth versioning the changelog with numbers (v1.2.3)?

For servers with frequent, well-structured updates, yes, it helps communication with the community and makes it easier to reference a specific version in support. For servers with more sporadic updates, dates (dd/mm/yyyy) as an identifier tend to be more intuitive for the average player.

How do I integrate the changelog automatically with the server's Discord?

Set up a Discord webhook that fires automatically whenever a new entry is published in the changelog file, usually via a CI/CD action or a script that runs on site deploy, formatting the message with title, category, and a link to the full page.

BR
Events, maps & items editor

Bruno specializes in MU Online events, maps, bosses and item economy. He documents every detail based on real gameplay.

Keep reading

Related articles