{"id":21889284,"url":"https://github.com/jacklul/q3serverlist","last_synced_at":"2025-04-15T11:20:02.012Z","repository":{"id":19670299,"uuid":"22923845","full_name":"jacklul/q3serverlist","owner":"jacklul","description":"Simple library for querying Quake 3 based master servers and it's game servers","archived":false,"fork":false,"pushed_at":"2023-06-04T17:44:13.000Z","size":51,"stargazers_count":16,"open_issues_count":1,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-28T19:21:22.632Z","etag":null,"topics":["gameserver","master-server","quake3","server-list"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jacklul.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-08-13T17:04:30.000Z","updated_at":"2024-11-27T20:02:21.000Z","dependencies_parsed_at":"2024-11-28T11:26:33.723Z","dependency_job_id":"2d48a482-b426-49bd-9ccd-64fecf91839f","html_url":"https://github.com/jacklul/q3serverlist","commit_stats":{"total_commits":37,"total_committers":2,"mean_commits":18.5,"dds":0.4054054054054054,"last_synced_commit":"d0ac735abba3650109da1d7529d6d1d7c2f6ee3d"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacklul%2Fq3serverlist","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacklul%2Fq3serverlist/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacklul%2Fq3serverlist/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jacklul%2Fq3serverlist/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jacklul","download_url":"https://codeload.github.com/jacklul/q3serverlist/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248557882,"owners_count":21124165,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gameserver","master-server","quake3","server-list"],"created_at":"2024-11-28T11:23:35.168Z","updated_at":"2025-04-15T11:20:01.993Z","avatar_url":"https://github.com/jacklul.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Quake 3 Server List\n\nSimple library for querying Quake 3 based master servers and it's game servers.\n\n- Version `1.x.x` uses `fsockopen` (no longer supported)\n- Version `2.x.x` uses `sockets` extension\n\n_For legacy version check [old](https://github.com/jacklul/q3serverlist/tree/old) branch._\n\n### Master Server Compatibility\n\nAny Quake 3 based master server, including:\n\n* Quake 3 Arena (`master.quake3arena.com:27950`, protocol 68)\n* Enemy Territory (`etmaster.idsoftware.com:27950`, protocol 84)\n* Return to Castle Wolfenstein (`wolfmaster.idsoftware.com:27950`, protocol 57)\n* Jedi Knight 2 (`masterjk2.ravensoft.com:29060`, protocol 16)\n* Jedi Knight: Jedi Academy (`masterjk3.ravensoft.com:29060`, protocol 26)\n* Call of Duty 4: Modern Warfare (`cod4master.activision.com:20810`, protocol 6)\n\n... and more!\n\n## Installation\n\nInstall with [Composer](https://github.com/composer/composer):\n\n```bash\n$ composer require jacklul/q3serverlist\n```\n\n## Usage\n\n```php\nuse jacklul\\q3serverlist\\MasterServer;\nuse jacklul\\q3serverlist\\Server;\n\nrequire(__DIR__ . '/vendor/autoload.php');\n\n$ms = new MasterServer('master.quake3arena.com', 27950, 68);\n$servers = $ms-\u003egetServers(); // Second call will always return cached data, same with Server-\u003egetInfo and Server-\u003egetStatus\n\n/** @var Server $server */\nforeach ($servers as $server) { \n\t$info = $server-\u003egetInfo();\t// 'getinfo' request usually returns map name\n\t\n\t// Find first server with map 'q3dm17' (The Longest Yard) and print it's status\n\tif (isset($info['mapname']) \u0026\u0026 $info['mapname'] === 'q3dm17') {\n\t\tprint_r($server-\u003egetStatus());\n\t\tbreak;\n\t}\n}\n\n// You can get status/info variables magically like this:\n$server-\u003egetMapname();\n\n// To get variables that include '_' in their name use capitalization:\n$server-\u003egetSvMaxclients(); // (sv_maxclients)\n```\n\nMore examples available in [examples](/examples) directory.\n\n## License\n\nSee [LICENSE](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjacklul%2Fq3serverlist","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjacklul%2Fq3serverlist","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjacklul%2Fq3serverlist/lists"}