COWMODSКаталог модов

ServerChangelogs

Keep players up-to-date on server changes using intuitive, dialog-based UIs!

Автор: codingcat99031обновлён 17 сент. 2026 г.
УправлениеОбщениеУтилиты

Описание

Plugin Logo

ServerChangelogs

Downloads Github Repo License

Keep players up-to-date on server changes using intuitive, dialog-based UIs!


This plugin allows you to show changelogs to your players in a very accessible form, using minecraft's new-ish dialog UIs! Compared to similar solutions in chat / using books, this approach can't be overseen or be hard to read, and allows players to review earlier changes by just scrolling down!

Features

Currently, the plugin supports the following features:

  • Showing new changelogs to players upon joining
  • Configuration-phase dialogs that will show before players even join the world
  • Tracking whether a player has read a certain changelog
  • Indicators for unread changelogs in the UI
  • Viewing all changelogs using commands
  • Very user-friendly creation of changelogs using dialog UIs through a dialog-based editor
  • Saving editor sessions for later, so you can exit and come back to an in-progress changelog
  • MiniMessage support for creating changelogs
  • A completely customizable changelog screen
  • Customizable translations based on the player's client language

Supported Server Software & Versions

ServerChangelogs is currently available as:

  • a Paper plugin (meaning it will only run on Paper servers, including forks like Purpur etc.)
  • a Velocity plugin (which runs on the proxy itself, no matter what backend servers are used)

For paper, the initial version of the plugin is built against 26.1.2, which doesn't always imply it won't work on lower versions. The backwards-compatibility of the Paper API can sometimes work pretty well, but that's not always the case. This should again not be a concern for velocity, since the version of the client matters less there. Do note that this plugin relies on dialogs a lot, which are only available starting with 1.21.6.

In case something does break on earlier versions, let me know and create an issue (as long as you're not trying to run it on 1.8), and I might be able to take a look at it! Also, keep in mind that I won't keep the version number above updated very frequently, and that updates aren't always necessary to support a new version, so just give it a try!

Installation

Installing this plugin should be as simple as downloading the appropriate version, and copying the file into your plugins folder! After that, restart your server and the plugin should generate all the config files automatically (you can find them in the plugins/ServerChangelogs directory!)

Commands & Permissions

The plugin provides a few commands, to which access can be controlled using the following permissions:

Plugin CommandPermissionDescription
/scl infoserver_changelogs.command.infoProvides version information about the plugin & platform
/scl createserver_changelogs.command.createOpens the UI to publish a new changelog
/scl viewserver_changelogs.command.viewOpens the player-facing changelog UI
/scl reloadserver_changelogs.command.reloadReloads the plugin configuration and all languages
/changelogserver_changelogs.dedicated_commandDoes the same as /scl view, but using a dedicated command; this can be more intuitive for players! Note that this is NOT /changelogs (no S at the end).
-server_changelogs.manageAllows the user to edit/delete existing changelogs through buttons in the changelog UI

Note that /server_changelogs, /changelogs and /scl are just aliases of the same command (they do the same thing and are controlled by the same permissions)!

Configuration & Language

The plugin configuration can be found in config.yml and includes a few basic options for storage, formatting and UI layout.

Most of the actual UI customization can be done in the language files (found in the lang directory), which are formatted using MiniMessage. If you're not sure what part of the file to edit, just search for the text you're trying to change in-game in the file!

Out of the box, the plugin currently only supports American English (en_US), but more language files can be added using the same country code format (e.g. de_DE, fr_FR, en_GB).

Custom MiniMessage Tags & Sub-Translations

The plugin registers a few custom MiniMessage Tags you can use in any of the translations, including:

  • <prefix>: The plugin prefix defined in the prefix translation
  • <plugin:name>: The (internally defined) name of the plugin
  • <plugin:description>: The (internally defined) plugin description
  • <plugin:version>: The currently running version of the plugin
  • <plugin:authors>: A comma-separated list of plugin authors
  • <platform:name>: The (colored/formatted) name of the current platform (e.g. Paper)
  • <platform:version>: The current version that the platform the plugin runs on is reporting
  • <translate:your.key.here>: Allows you to include values of other translations in another translations. Unlike MM's <lang> tag, this is specifically made to work with the plugin's translations! Note that this does not support arguments as of now.

Throughout the language files, you'll also come across tags looking something like this: <arg:0>.

Those are argument tags, which contain specific text defined by the plugin (such as the actual changelog, the author, and more). Those arguments are specific to a given translation, meaning re-using them in another translation either won't work or give potentially unwanted results!

If multiple arguments are present in a certain translation, they can be identified by the number after the :.

Roadmap

ServerChangelogs was originally made for a smaller minecraft server I'm a part of, to make players aware of changes without having to rely on e.g. Discord. Because we wanted this feature to be available pretty fast, the plugin initially won't have as many features as I'd like it to have.

The roadmap below contains some of the features that I'm planning to add in the future:

  • JDBC (relational) database support: Currently, the plugin stores all changelog data (including who has already seen what changelogs) in a plain YAML file. The reason for this mostly comes down to the stuff above (we wanted a solution fast), so we didn't prioritize storage. This does start to cause problems over time, since the amount of data that has to be (de-)serialized for each startup/write operation increases by a lot! A proper implementation would also have to consider things like auto-migration from the existing YAML files.
  • Pre-defined authors: Rather than having to enter the name of the changelog's author every time (possibly including formatting), there could be a list of pre-defined authors in the plugin config that a user could choose from.
  • Customizable changelog dialog layout: Currently, the changelog dialog always shows all previous changelogs, with unread ones marked red. In the future, it'd be nice to have an option for this, e.g. so players on join could also only see the most recent changelog.
  • Paged changelogs: At the moment, all existing changelogs are just added to the dialog without any additional checks. While this is fine with just a few of them, it could quickly become an issue with a long history of changelogs. So adding a page system with a configurable amount of changelogs per page would be great!
  • Player first-join storage: Right now, changelogs are just displayed to players upon joining whenever they haven't read them (except for the first time a player joins a server). This can be very confusing to new-ish players, since they weren't there for all the previous changes to begin with! A possible (while not 100% perfect) solution to this would be storing when the player initially joined the server / was first seen by the plugin, to then only display relevant changelogs to them.
  • Other UI types: The changes in this lower section are planned for a not-so-close future, the stuff above is more relevant for now! Anyway, even though other UI types (like chat, books, etc.) may not be as intuitive, some server owners might still prefer them. While there are plugins out there that can already do this, it would be nice for those to be available along with the additional features this plugin provides.
  • A poll/voting system?: A bit of a far-fetched idea, but since changelogs include a lot of, well, change, they can sometimes be controversial along players. I feel like a voting system might fit this plugin kind of well, so players can immediately share their opinion on a specific change right when they see it!

Contributions over on GitHub are always welcome, so if you do want to help out, it'd be nice to see if you are interested in implementing/helping with some of the above ideas!

Галерея

Changelog UIThe Changelog EditorAn unread changelogEmpty changelog UI

Последние версии

Все версии →
release

ServerChangelogs v1.2.1

1.2.1
17 сент. 2026 г.151Minecraft: 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3velocity
Скачать
Что нового
This is a small patch release to address some issues with PacketEvents and the way command permissions work. ### Updated Features - The `/scl` command will **no longer** return version information about the plugin when executed with **no additional arguments** - Instead, this functionality has been **moved to a separate** `/scl info` command, with its own permission - This also means that the `server_changelogs.command` permission is no longer required to **execute any command** *(also I had that permission completely wrong in the description, whoops!)* - Added a temporary fix for [an issue in PacketEvents](https://github.com/retrooper/packetevents/issues/1569) that would **kick players** upon seeing changelogs, which could prevent them from joining in versions below **26.1** ### Technical Changes - Removed the permission requirement from the root `/scl` command and added a new `server_changelogs.command.info` permission for the new sub-command - Implemented a workaround for the PE issue mentioned above, by attaching dummy component data to the item dialog body - This workaround will automatically activate on affected versions, but can be manually activated if needed - Added a new config option `enable_manual_workarounds` to force-enable workarounds like this one - You can force-activate this workaround by setting the option to `["INVALID_ITEM_BODY_ENCODING"]` **Full Changelog**: https://github.com/codingcat2468/ServerChangelogs/compare/v1.2.0...v1.2.1
release

ServerChangelogs v1.2.1

1.2.1
17 сент. 2026 г.695Minecraft: 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2, 26.3folia, paper, purpur
Скачать
Что нового
This is a small patch release to address some issues with PacketEvents and the way command permissions work. ### Updated Features - The `/scl` command will **no longer** return version information about the plugin when executed with **no additional arguments** - Instead, this functionality has been **moved to a separate** `/scl info` command, with its own permission - This also means that the `server_changelogs.command` permission is no longer required to **execute any command** *(also I had that permission completely wrong in the description, whoops!)* - Added a temporary fix for [an issue in PacketEvents](https://github.com/retrooper/packetevents/issues/1569) that would **kick players** upon seeing changelogs, which could prevent them from joining in versions below **26.1** ### Technical Changes - Removed the permission requirement from the root `/scl` command and added a new `server_changelogs.command.info` permission for the new sub-command - Implemented a workaround for the PE issue mentioned above, by attaching dummy component data to the item dialog body - This workaround will automatically activate on affected versions, but can be manually activated if needed - Added a new config option `enable_manual_workarounds` to force-enable workarounds like this one - You can force-activate this workaround by setting the option to `["INVALID_ITEM_BODY_ENCODING"]` **Full Changelog**: https://github.com/codingcat2468/ServerChangelogs/compare/v1.2.0...v1.2.1
release

ServerChangelogs v1.2.0

1.2.0
23 авг. 2026 г.22Minecraft: 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2velocity
Скачать
Что нового
This release includes a lot of new and improved features relating to changelog editing, and finally introduces support for **Velocity**! > **IMPORTANT NOTE**: Updating an **existing installation** to this version will require to to **fully delete/re-create** your language files, due to a lot of changes and restructuring. After re-creating, you can apply any changes you might've had again! You can get the default `en_US` language file from [**here**](https://github.com/codingcat2468/ServerChangelogs/blob/master/base/src/main/resources/lang/en_US.yml). ### New Features - Added the ability to show changelog dialogs during the **configuration phase** (before the player joins the world) - Finalized the design of the changelog creation/editing UI: - Individual **lines** can now be **edited** and **removed** after being added - The editor can now also be used to **edit existing changelogs** (see below) - Closing the editor will now prompt the user to confirm they want to discard their changes - Editor **sessions** can now be **saved for later** when closing the UI *(unless the server restarts)* - The main changelog UI now has buttons to edit/delete each changelog for administrators - Fixed **Folia** compatibility (it was technically compatible already, just not marked as such) - Added full* support for the **Velocity** platform *\*(read more in the details below)* ### "Technical" / Detailed Changes - Added a new configuration option `dialog_phase`, which specifies whether dialogs should be shown during the `PLAY` or `CONFIGURATION` phase - The default for new installations will be `CONFIGURATION` - This setting won't appear in your file automatically for now, so you'll have to add it yourself. - In case you want the full explanation of the options, you can take a look at the [**default config file**](https://github.com/codingcat2468/ServerChangelogs/blob/master/base/src/main/resources/defaults/config.yml)! - Added a new `server_changelogs.manage` permission that will show edit/delete buttons for every changelog in the regular list UI - Implemented the **Velocity** platform fully, excluding a few tiny details: - Players who join the server for the **first time** will also see changelogs (unlike on paper); since velocity doesn't store this information anywhere, a rework of that system or a separate implementation would be required - Items for the changelog **dialog header** don't support custom components *yet* (again, velocity does not have any built-in parsing for those) **Full Changelog**: https://github.com/codingcat2468/ServerChangelogs/compare/v1.1.0...v1.2.0
release

ServerChangelogs v1.2.0

1.2.0
23 авг. 2026 г.56Minecraft: 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, 26.1.2, 26.2folia, paper, purpur
Скачать
Что нового
This release includes a lot of new and improved features relating to changelog editing, and finally introduces support for **Velocity**! > **IMPORTANT NOTE**: Updating an **existing installation** to this version will require to to **fully delete/re-create** your language files, due to a lot of changes and restructuring. After re-creating, you can apply any changes you might've had again! You can get the default `en_US` language file from [**here**](https://github.com/codingcat2468/ServerChangelogs/blob/master/base/src/main/resources/lang/en_US.yml). ### New Features - Added the ability to show changelog dialogs during the **configuration phase** (before the player joins the world) - Finalized the design of the changelog creation/editing UI: - Individual **lines** can now be **edited** and **removed** after being added - The editor can now also be used to **edit existing changelogs** (see below) - Closing the editor will now prompt the user to confirm they want to discard their changes - Editor **sessions** can now be **saved for later** when closing the UI *(unless the server restarts)* - The main changelog UI now has buttons to edit/delete each changelog for administrators - Fixed **Folia** compatibility (it was technically compatible already, just not marked as such) - Added full* support for the **Velocity** platform *\*(read more in the details below)* ### "Technical" / Detailed Changes - Added a new configuration option `dialog_phase`, which specifies whether dialogs should be shown during the `PLAY` or `CONFIGURATION` phase - The default for new installations will be `CONFIGURATION` - This setting won't appear in your file automatically for now, so you'll have to add it yourself. - In case you want the full explanation of the options, you can take a look at the [**default config file**](https://github.com/codingcat2468/ServerChangelogs/blob/master/base/src/main/resources/defaults/config.yml)! - Added a new `server_changelogs.manage` permission that will show edit/delete buttons for every changelog in the regular list UI - Implemented the **Velocity** platform fully, excluding a few tiny details: - Players who join the server for the **first time** will also see changelogs (unlike on paper); since velocity doesn't store this information anywhere, a rework of that system or a separate implementation would be required - Items for the changelog **dialog header** don't support custom components *yet* (again, velocity does not have any built-in parsing for those) **Full Changelog**: https://github.com/codingcat2468/ServerChangelogs/compare/v1.1.0...v1.2.0
release

ServerChangelogs v1.1.0

1.1.0
1 авг. 2026 г.43Minecraft: 26.1, 26.1.1, 26.1.2, 26.2paper, purpur
Скачать
Что нового
This release introduces *a lot* of under-the-hood changes to the way that the plugin works, mostly to make it more compatible with non-bukkit platforms for the future! If I didn't just release this plugin, I'd probably even have released this as a `v2.0.0`. ### New Features - A new, fully **platform-independent internal API** has been introduced. This can *(and will)* be used to expand platform support in the upcoming releases! - The **changelog creation** UI has been completely reworked to be less cluttered and more intuitive; changelogs are now created **line-by-line**, with "live" previews for each of them! - Added a **fallback permission mode** that will resolve command permissions depending on the "native" admin state of a player, depending on the platform *(e.g. on paper, this would base permissions on the vanilla OP system)* - Added new custom **MiniMessage tags** for the name & version of the current platform *(e.g. Paper)* for all plugin translations ### Technical Changes - Switched from the paper dialog API to **[PacketEvents](https://github.com/retrooper/packetevents)** - Introduced a new `platformapi` submodule with dependencies on only [**Adventure** ](https://github.com/PaperMC/adventure) and [**Brigadier**](https://github.com/Mojang/brigadier) - Moved all of the previous plugin code to the `base` submodule and reworked it to use `platformapi` instead of Paper APIs - Implemented all of the `platformapi` infrastruce for the **Paper** platform > *and now I need to fix my sleep schedule again, because I decided to work on this instead for several hours* **Full Changelog**: https://github.com/codingcat2468/ServerChangelogs/compare/v1.0.0...v1.1.0
release

ServerChangelogs v1.0.0

1.0.0
13 июл. 2026 г.21Minecraft: 26.1, 26.1.1, 26.1.2, 26.2paper, purpur
Скачать
Что нового
The initial release of this plugin, check the project description to see what features are implemented already!