mirror of
https://github.com/pelican-dev/plugins.git
synced 2026-05-09 08:26:01 +02:00
[PR #80] [CLOSED] Add comprehensive GameQ protocol support with query port offsets #104
Labels
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/plugins#104
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/pelican-dev/plugins/pull/80
Author: @Destructor
Created: 1/14/2026
Status: ❌ Closed
Base:
main← Head:main📝 Commits (8)
7720303New versione8c2620Work in progress before adding GameQ subtreeb6eccb8Squashed 'player-counter/src/GameQ/' content from commit 347cf58758eab2Merge commit 'b6eccb89d3' as 'player-counter/src/GameQ'7ed2f47Fix GameQ0e06508Update Readme9378e92Update Readme 293d1804Add Protocols📊 Changes
187 files changed (+19288 additions, -78 deletions)
View changed files
➕
player-counter/.gitignore(+14 -0)📝
player-counter/README.md(+68 -1)📝
player-counter/database/Seeders/PlayerCounterSeeder.php(+339 -25)📝
player-counter/lang/en/query.php(+1 -1)📝
player-counter/plugin.json(+4 -6)📝
player-counter/routes/api-client.php(+2 -2)📝
player-counter/src/Enums/GameQueryType.php(+266 -17)📝
player-counter/src/Filament/Admin/Resources/GameQueries/GameQueryResource.php(+4 -4)📝
player-counter/src/Filament/Admin/Resources/GameQueries/Pages/ManageGameQueries.php(+2 -2)📝
player-counter/src/Filament/Server/Pages/PlayersPage.php(+3 -3)📝
player-counter/src/Filament/Server/Widgets/ServerPlayerWidget.php(+2 -2)➕
player-counter/src/GameQ/Autoloader.php(+59 -0)➕
player-counter/src/GameQ/Buffer.php(+505 -0)➕
player-counter/src/GameQ/Exception/Protocol.php(+30 -0)➕
player-counter/src/GameQ/Exception/Query.php(+30 -0)➕
player-counter/src/GameQ/Exception/Server.php(+30 -0)➕
player-counter/src/GameQ/Filters/Base.php(+61 -0)➕
player-counter/src/GameQ/Filters/Normalize.php(+152 -0)➕
player-counter/src/GameQ/Filters/Secondstohuman.php(+112 -0)➕
player-counter/src/GameQ/Filters/Stripcolors.php(+164 -0)...and 80 more files
📄 Description
This PR adds complete support for all 150+ GameQ protocols available in the plugin, with proper query port offset configuration for 47 games that require it. This ensures accurate server querying across a wide range of game servers.
Changes Made
File: database/Seeders/PlayerCounterSeeder.php
Added 60+ new game mappings to $eggMappings (from ~90 to 120+ games)
Implemented complete $queryPortOffsets array with 47 protocols requiring specific port offsets
Added support for: Counter-Strike variants, Quake series, Unreal Tournament series, Battlefield series, Call of Duty series, survival games, military simulators, racing games, and voice servers
File: src/Enums/GameQueryType.php
Added 60+ new enum cases for all available GameQ protocols
Updated getDefaultQueryPortOffset() method with all correct port offsets based on GameQ protocol definitions
Port Offsets Configured (47 protocols)
+1: 17 games (Rust, Arma 3, Barotrauma, Eco, Valheim, V Rising, etc.)
+2: 4 games (COD MW3, Life is Feudal, Miscreated, rFactor 2)
+3: 1 game (Battalion 1944)
+10: 1 game (Post Scriptum)
+15: 1 game (Hell Let Loose)
+29: 1 game (Insurgency: Sandstorm)
+101: 1 game (Terraria)
+123: 2 games (Multi Theft Auto, Soldat)
+8433 to +51800: Battlefield series, ARK, Squad, Atlas
+18243: America's Army 3
-36938: Mumble (negative offset)
New Games Added (60+)
Counter-Strike 1.5, CS:CZ, CS2, Half-Life 1, Natural Selection 2, Contagion, Fistful of Frags, The Ship, Brink, DayZ Mod, Wurm, Arma 2/OA, America's Army 3/PG, Call of Duty original/UO, GTA5M, rFactor 1/2, Quake 2/3/4/Live, Enemy Territory, ETQW, Unreal Tournament 2004/3, Unreal 2, Urban Terror, Jedi Academy/Outcast, Doom 3, Crysis series, Halo, Kingpin, MOHAA, SOF2, SWAT 4, Dawn of War, Warsow, Red Orchestra Ostfront, Just Cause 2/3, Pixark, Citadel, Modiverse, OpenTTD, Soldat, Teeworlds, Tibia, CS2D, TeamSpeak 2, Ventrilo
Benefits
✅ Comprehensive game server support (120+ protocols)
✅ Accurate query port configuration for all games
✅ Automatic detection and configuration during seeding
✅ Fixed database constraint issue preventing game query updates
✅ All port offsets based on official GameQ protocol definitions
Testing
Verified all enum cases are properly defined
Confirmed port offsets match GameQ protocol $port_diff values
Tested seeder logic for automatic game detection
Fixed database constraint issue that prevented updating game queries
Breaking Changes
None. This is a backward-compatible enhancement.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.