diff --git a/docs/widgets.md b/docs/widgets.md
index ac03ad5461..b3c7fed318 100644
--- a/docs/widgets.md
+++ b/docs/widgets.md
@@ -40,6 +40,7 @@ Dashy has support for displaying dynamic content in the form of widgets. There a
- [Mvg Connection](#mvg-connection)
- [Custom search](#custom-search)
- [Rescuetime overview](#rescuetime-overview)
+ - [Minecraft Server](#minecraft-server)
- **[Self-Hosted Services Widgets](#self-hosted-services-widgets)**
- [System Info](#system-info)
- [Cron Monitoring](#cron-monitoring-health-checks)
@@ -1378,6 +1379,45 @@ Show an overview of how you have spent your time for the current day.
---
+### Minecraft Server
+
+Show minecraft server status
+
+

+
+#### Options
+
+**Field** | **Type** | **Required** | **Description**
+--- | --- | --- | ---
+**`title`** | `string` | _Optional_ | Display title for server uses server address if not set.
+**`server`** | `string` | Required | Server hostname or ip(:port) will use srv records.
+**`bedrock`** | `boolean` | _Optional_ | If server is a bedrock edition server. (default false)
+**`showMods`** | `boolean` | _Optional_ | Display mod list if available
+**`showPlayers`** | `boolean` | _Optional_ | Display player list if available
+**`showPlugins`** | `boolean` | _Optional_ | Display plugin list if available
+
+#### Example
+
+```yaml
+ - type: minecraft-status
+ options:
+ title: Venity Network
+ server: play.venitymc.com
+ bedrock: true
+ showMods: true
+ showPlayers: true
+ showPlugins: true
+```
+#### Info
+
+- **CORS**: 🟢 Enabled
+- **Auth**: 🟢 Not Required
+- **Price**: 🟢 Free
+- **Host**: [Minecraft Server Status](https://mcsrvstat.us/)
+- **Privacy**: _See [Minecraft Server Status FAQ](https://mcsrvstat.us/faq)_
+
+---
+
## Self-Hosted Services Widgets
diff --git a/src/components/Widgets/MinecraftStatus.vue b/src/components/Widgets/MinecraftStatus.vue
new file mode 100644
index 0000000000..fc20f96d2a
--- /dev/null
+++ b/src/components/Widgets/MinecraftStatus.vue
@@ -0,0 +1,258 @@
+
+
+
+ {{ title }}
+
+
+
![server-icon]()
+
+
+
+
{{ server }}
+
Server Offline
+
+ {{ software || (bedrock ? "Bedrock" : "Minecraft") }} {{ version }}
+
+
+
+
{{ onlinePlayers }}/{{ maxPlayers }} Players
+
+
+
+
{{ mods.length }} Mods
+
+ -
+ {{ name }}={{ version }}
+
+
+
+
+
{{ plugins.length }} Plugins
+
+ -
+ {{ name }}={{ version }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/Widgets/WidgetBase.vue b/src/components/Widgets/WidgetBase.vue
index c4d4220f51..b2e57caae5 100644
--- a/src/components/Widgets/WidgetBase.vue
+++ b/src/components/Widgets/WidgetBase.vue
@@ -86,6 +86,7 @@ const COMPAT = {
iframe: 'IframeWidget',
image: 'ImageWidget',
joke: 'Jokes',
+ 'minecraft-status': 'MinecraftStatus',
'mullvad-status': 'MullvadStatus',
mvg: 'Mvg',
linkding: 'Linkding',
diff --git a/src/utils/defaults.js b/src/utils/defaults.js
index 88b5757dd6..787c440b37 100644
--- a/src/utils/defaults.js
+++ b/src/utils/defaults.js
@@ -240,6 +240,10 @@ module.exports = {
holidays: 'https://kayaposoft.com/enrico/json/v2.0/?action=getHolidaysForDateRange',
jokes: 'https://v2.jokeapi.dev/joke/',
news: 'https://api.currentsapi.services/v1/latest-news',
+ minecraftPlayerIcon: 'https://mc-heads.net/avatar/',
+ minecraftPlayerLink: 'https://minecraftuuid.com/?search=',
+ minecraftServerLink: 'https://mcsrvstat.us/server/',
+ minecraftStatus: 'https://api.mcsrvstat.us/',
mullvad: 'https://am.i.mullvad.net/json',
mvg: 'https://www.mvg.de/api/fib/v2/',
publicIp: 'https://ipapi.co/json',