Quake 3 Monitor for WordPress

My Quake 3 Server Monitor v1.10 for WordPress is now available in the downloads section.  The plugin allows you to pull current game information from a running Quake 3 server and display the results in WordPress.  It also features a Leaderboard of users with the top frags.

README.TXT FILE:

=== Quake 3 Server Monitor ===
Contributors: RastaWorld.com - https://www.rastaworld.com
Tags: quake3, quake, game server, monitor, leaderboard
Requires at least: 5.5
Tested up to: 6.6
Requires PHP: 7.4
Stable tag: 1.1.0
License: GPLv2 or later

Monitors a Quake III Arena server over UDP, tracks player scores over time, and displays live status plus an all-time leaderboard via shortcodes, with customizable colors, background, and fonts.

== Description ==
This plugin periodically queries a Quake III Arena game server using its
native UDP "getstatus" protocol, records each player's score, and maintains:

* A live status view (server name, current map, connected players, scores, ping)
* An all-time leaderboard of best scores per player name, persisted across map changes and server restarts

Use the shortcodes anywhere in a post, page, or widget:

`q3_status` - live server status and current players
`q3_leaderboard limit="10"` - all-time top scores table

== Installation ==

1. Upload the `quake3-monitor` folder to `/wp-content/plugins/`, or install the zip via Plugins > Add New > Upload Plugin.
2. Activate the plugin.
3. Go to Settings > Quake 3 Monitor and enter your server's host/IP and port (default 27960).
4. Choose a poll interval and save.
5. Place the shortcodes on any page or post.

== Appearance ==

Settings > Quake 3 Monitor > Appearance lets you customize how the
q3_status and q3_leaderboard boxes render:

* Background: solid color, or an uploaded image shown blurred behind the content (with adjustable blur strength)
* Text color
* Font (a set of common web-safe font stacks)
* Font size

== HTTP Relay (for hosts that block UDP) ==

Many shared/budget WordPress hosts block outbound UDP traffic entirely, so
Direct UDP mode will always report the server offline no matter how it's
configured. If that's the case for you:

1. Deploy the `relay/quake-relay.php` script (included with this plugin)
somewhere with outbound UDP access — the game server's own box is
usually the easiest choice, since its UDP port is already open to the
internet for players. See `relay/README.md` for full setup steps.
2. In Settings > Quake 3 Monitor, set Connection Method to "HTTP Relay"
and enter the relay's URL and shared key.

The relay is locked to the one server configured inside it (host/port are
not accepted from the request) and requires a shared secret on every
call, so it can't be turned into an open UDP proxy.

== Notes ==

* This plugin communicates over UDP. Some shared hosting environments block outbound UDP traffic — if status always shows offline, check with your host.
* Player identity is tracked by in-game name, since Quake III has no persistent player IDs. Renaming will start a new leaderboard entry.
* Snapshot history is pruned automatically after the configured retention period; the leaderboard itself is kept indefinitely until manually reset.
* This plugin runs entirely independently from the companion Quake 2 Server Monitor plugin — both can be installed and active at the same time, each monitoring its own server.

== Changelog ==

= 1.1.0 =
* Added an HTTP Relay connection method, plus a bundled relay script, for hosts that block outbound UDP.

= 1.0.0 =
* Initial release.