Add comprehensive GameQ protocol support with query port offsets #80
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.