=== Gaming-Plus Game Server Status ===
Contributors: nilsdberlin
Tags: minecraft, game server, server status, gaming, community
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 1.0.2
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Show the live status of your Minecraft & Steam game servers on your WordPress site: online/offline, players, version, ping. Fast, no external API.

== Description ==

Game Server Status shows your community a clean, modern status card telling them whether your server is up right now – including player count, version, MOTD and ping. No external services: the query runs directly over the game protocol (Minecraft Java & Bedrock, Steam/Source A2S).

Easy to use: add your server under the "Game Server" menu (name, address, port) – you instantly get a ready-to-use shortcode, or let it create a finished page with one click.

`[gpgss_server_status id="1"]`

With live updates (every 30 seconds, without reloading):

`[gpgss_server_status id="1" refresh="30"]`

Or directly by address, without saving:

`[gpgss_server_status host="mc.yourserver.com" port="25565"]`

Results are cached for 60 seconds to keep your site fast.

= What's on board =

* Minecraft Java & Bedrock, Steam/Source (CS2, Rust, ARK, Valheim, GMod, 7DTD, TF2 …)
* Server icon, "Copy address" & "Join" (steam://connect)
* Player list, live auto-refresh, server grid
* Player history (24h) & uptime display
* Gutenberg block, design options (5 card styles, theme/color/width)
* Downtime alerts via email & Discord

= Planned =

* Rank/perk sales with in-game delivery

The plugin is fully translatable and ready for community translations via translate.wordpress.org.

== Installation ==

1. Upload the plugin folder to `wp-content/plugins/` (or install the ZIP via "Plugins > Add New > Upload Plugin").
2. Activate the plugin.
3. Add a server under the "Game Server" menu and insert the shortcode shown – or click "Create page" right away.
4. Alternatively, insert the "Game Server Status" block in the editor and pick your server.

== Frequently Asked Questions ==

= Which servers are supported? =

Minecraft Java, Minecraft Bedrock, and Steam/Source games via A2S: Counter-Strike 2, Rust, ARK, Valheim, Garry's Mod, 7 Days to Die, Team Fortress 2 and more. For Source games, use the query port (not always the game port).

= Does the plugin need an external API? =

No. The query runs directly over sockets (Minecraft Server List Ping, and UDP for Bedrock and Steam/Source).

= Can it show whether a whitelist is active? =

No. The whitelist status is not part of the server response and cannot be reliably read from the outside.

= Will I be notified when my server goes down? =

Yes. Under "Game Server > Alerts" you can enable email and/or a Discord webhook. The plugin checks every 5 minutes and reports downtime as well as recovery.

= Something is broken, or I am missing a feature =

Please tell me. Open a topic in the support forum – it is just me behind this plugin and I read every single one. For problems, the "Game Server > Help & Feedback" page in your admin points you to the Diagnostics tool first, which finds the cause in most cases. For wishes: say which game or which detail you need. That is how the list of supported games grew in the first place.

= Is any data sent to third parties? =

No. The plugin only contacts the game servers YOU enter (to query their status), and – only if you enable it – your own Discord webhook for downtime notifications. There is no external service, no tracking, and no sharing of visitor data.

== Screenshots ==

1. The status card on your website – with server icon, player count, version, ping and player list.
2. Design settings: choose from 5 card styles with an instant live preview.
3. Server management in the admin – with live status per server.
4. Downtime alerts via email and Discord webhook.

== Changelog ==

= 1.0.2 =
* New: "Help & Feedback" page under "Game Server" – the quickest way to reach me if something is broken or you are missing a feature.
* New: "Support" and "Rate this plugin" links on the Plugins screen.
* Occasional, dismissible reminder that a review helps – shown only on this plugin's own pages, only after two weeks of actual use, and never again once you say so.
* Added a page describing the optional Pro add-on. The free plugin contains no locked functionality: everything you already use stays free and keeps working unchanged.

= 1.0.1 =
* Performance: player history and alert state are no longer autoloaded on every page request.
* Performance: server grids now use a shared time budget – a page with unreachable servers no longer waits for every timeout in turn. Remaining cards load in the background.
* Performance: front-end CSS is only loaded on pages that actually show a status card.
* New: "Diagnostics" page under "Game Server" – shows whether your hosting allows outgoing connections and tests every saved server directly.
* The player history is only recorded for servers that actually display it.
* Clearer message when the hosting blocks outgoing connections (instead of just "offline").
* Accessibility: the history graph has a proper label, and the "Copy address" button reports back to screen readers.
* The "Copy address" button no longer uses inline JavaScript (works with strict Content-Security-Policy setups).
* Hardening: limits on the size of server responses and server icons.
* Uninstalling the plugin now removes all its options, scheduled tasks and cached data.

= 1.0.0 =
* First public release. Includes: Minecraft (Java & Bedrock) and Steam/Source games (CS2, Rust, ARK, Valheim, GMod, 7DTD, TF2), server icon, copy/join button, player list, live auto-refresh, server grid, player history (24h) & uptime, Gutenberg block, 5 card styles with design options, and downtime alerts (email/Discord).
