{"id":24395215,"url":"https://github.com/woozymasta/a2s","last_synced_at":"2026-03-07T16:05:05.653Z","repository":{"id":271333583,"uuid":"913075533","full_name":"WoozyMasta/a2s","owner":"WoozyMasta","description":"Command line utility and package for querying Steam A2S server information, featuring support for Arma 3 and DayZ. Outputs are displayed in nicely formatted tables and can also be exported in JSON format.","archived":false,"fork":false,"pushed_at":"2026-01-31T09:38:58.000Z","size":736,"stargazers_count":16,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2026-01-31T22:31:20.084Z","etag":null,"topics":["a2s","a2s-info","a2s-player","a2s-rules","arma3","dayz","dayzstandalone","go","golang","half-life","rust","steam","steamquery","teamfortress2"],"latest_commit_sha":null,"homepage":"https://woozymasta.github.io/a2s/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/WoozyMasta.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-01-07T01:35:35.000Z","updated_at":"2026-01-31T09:37:54.000Z","dependencies_parsed_at":"2025-08-12T10:36:13.756Z","dependency_job_id":null,"html_url":"https://github.com/WoozyMasta/a2s","commit_stats":null,"previous_names":["woozymasta/a2s"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/WoozyMasta/a2s","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WoozyMasta%2Fa2s","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WoozyMasta%2Fa2s/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WoozyMasta%2Fa2s/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WoozyMasta%2Fa2s/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WoozyMasta","download_url":"https://codeload.github.com/WoozyMasta/a2s/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WoozyMasta%2Fa2s/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30221193,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-07T14:02:48.375Z","status":"ssl_error","status_checked_at":"2026-03-07T14:02:43.192Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["a2s","a2s-info","a2s-player","a2s-rules","arma3","dayz","dayzstandalone","go","golang","half-life","rust","steam","steamquery","teamfortress2"],"created_at":"2025-01-19T20:26:33.424Z","updated_at":"2026-03-07T16:05:05.622Z","avatar_url":"https://github.com/WoozyMasta.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- omit in toc --\u003e\n# A2S\n\n\u003c!-- markdownlint-disable-next-line MD033 --\u003e\n\u003cimg src=\"winres/icon64.png\" alt=\"MetricZ\" align=\"left\" width=\"64\"\u003e\n\nPowerful command-line utility and Go packages for querying Steam A2S\nserver information.\nBuilt with specific support for Arma 3 and DayZ, this tool provides a\nseamless way to retrieve essential server data.\n\n\u003c!-- markdownlint-disable-next-line MD033 --\u003e\n## Description \u003cbr clear=\"right\"/\u003e\n\nA2S supports querying Steam servers using the following methods:\n\n* `A2S_INFO`: Retrieve basic information about the server, such as name,\n  map, and player count. _(CLI and package)_\n* `A2S_PLAYER`: Get details about each player currently on the server.\n  _(CLI and package)_\n* `A2S_RULES`: Fetch server-specific rules and settings. _(CLI and package)_\n* `A2S_SERVERQUERY_GETCHALLENGE`: Request a challenge number for use in\n  player and rules queries. _(only package)_\n* `A2A_PING`: Measure the ping time to the server for latency insights.\n  _(only package)_\n\nAdditionally, this tool features an extension for the Arma 3 Server Browser\nProtocol (A3SBP). This extension overrides the standard `GetRules()` method,\nenabling compatibility with the unique protocol used by Arma 3's server\nbrowser.\n\n## CLI Installation\n\nYou can download the latest version of the programme by following the links:\n\n|           | MacOS              | Linux             | Windows             |\n| --------- | ------------------ | ----------------- | ------------------- |\n| **AMD64** | [a2s-darwin-amd64] | [a2s-linux-amd64] | [a2s-windows-amd64] |\n| **ARM64** | [a2s-darwin-arm64] | [a2s-linux-arm64] | [a2s-windows-arm64] |\n\nYou can also use the command (for Linux amd64, adjust for your platform):\n\n```bash\ncurl -#SfLo /usr/bin/a2s \\\n  https://github.com/WoozyMasta/a2s/releases/latest/download/a2s-linux-amd64\nchmod +x /usr/bin/a2s\na2s -h \u0026\u0026 a2s -v\n```\n\n## A2S CLI\n\nCommand-line utility for querying Steam A2S server information with support\nfor Arma 3 and DayZ servers.\n\nThe utility supports the following commands:\n\n* `info` - Retrieve server information `A2S_INFO`\n* `rules` - Retrieve server rules `A2S_RULES`\n* `players` - Retrieve player list `A2S_PLAYERS`\n* `all` - Retrieve all available server information\n* `ping` - Ping the server with `A2S_INFO`\n\nFor detailed information about available options and flags, run `a2s --help`.\n\n## Package\n\n### A2S\n\nExample of use:\n\n```go\nclient, err := a2s.New(\"127.0.0.1\", 27016)\nif err != nil {\n  panic(err)\n}\ndefer client.Close()\n\nclient.SetBufferSize(2048)\nclient.SetDeadlineTimeout(3)\n\ninfo, err := client.GetInfo()\nif err != nil {\n  panic(err)\n}\n\nrules, err := client.GetRules()\nif err != nil {\n  panic(err)\n}\n```\n\n* `github.com/woozymasta/a2s.GetInfo()` -\u003e `A2S_INFO`\n* `github.com/woozymasta/a2s.GetPlayers()` -\u003e `A2S_PLAYER`\n* `github.com/woozymasta/a2s.GetRules()` -\u003e `A2S_RULES`\n* `github.com/woozymasta/a2s.GetChallenge()` -\u003e `A2S_SERVERQUERY_GETCHALLENGE`\n* `github.com/woozymasta/a2s.GetPing()` -\u003e `A2A_PING`\n\n### A3SB\n\nExample of use:\n\n```go\nclient, err := a2s.New(\"127.0.0.1\", 27016)\nif err != nil {\n  panic(err)\n}\ndefer client.Close()\n\n// Wrap client\na3Client := \u0026a3sb.Client{Client: client}\n\n// Game id must be passed as the second argument to properly read the Arma 3 or Dayz rules\nrules, err := a3Client.GetRules(221100)\nif err != nil {\n  panic(err)\n}\n\n// Can also perform standard a2s methods\ninfo, err := a3Client.GetInfo()\nif err != nil {\n  panic(err)\n}\n```\n\n## Protocol Documentation\n\nFor a deeper understanding of the protocols used, refer to the official documentation:\n\n* [Steam Server Queries][]\n* [Arma 3 Server Browser Protocol v3][]\n* [A3SB Protocol v3 Specification 🇬🇧][]\n* [A3SB Protocol v3 Specification 🇷🇺][]\n\n## Tested Games\n\nDuring development, the functionality of `a2s` was\nthoroughly tested across a diverse range of popular games that utilize the\nSteam server query protocols.\nThis ensures compatibility and reliable performance.\n\nThe following games were used for testing:\n\n* Counter-Strike 1.6\n* Counter-Strike: Source\n* Team Fortress 2\n* Project Zomboid\n* Valheim\n* Rust\n* Garry's Mod\n* Insurgency\n* Arma 3\n* DayZ\n* 7 Days to Die\n* ARK: Survival Evolved\n* Conan Exiles\n* Unturned\n\nThese games represent a wide array of server types and implementations,\nhighlighting the versatility of the tools in querying servers effectively\nacross various scenarios.\n\nFeel free to contribute or report issues if you find any compatibility\nproblems with additional games!\n\n\u003e [!NOTE]  \n\u003e Implementation of `bzip2` compression for multi-packet response is not\n\u003e implemented, as I did not find any servers that would respond in this\n\u003e format. If you know of one, please write me in issue.\n\n## 👉 [Support Me](https://gist.github.com/WoozyMasta/7b0cabb538236b7307002c1fbc2d94ea)\n\nYour support is greatly appreciated!\n\n\u003c!-- Links --\u003e\n[Steam Server Queries]: https://developer.valvesoftware.com/wiki/Server_queries\n[Arma 3 Server Browser Protocol v3]: https://community.bistudio.com/wiki/Arma_3:_ServerBrowserProtocol3\n[A3SB Protocol v3 Specification 🇬🇧]: https://github.com/WoozyMasta/a2s/blob/master/pkg/a3sb/docs/README.md \"🇬🇧\"\n[A3SB Protocol v3 Specification 🇷🇺]: https://github.com/WoozyMasta/a2s/blob/master/pkg/a3sb/docs/README_ru.md \"🇷🇺\"\n\n[a2s-darwin-arm64]: https://github.com/WoozyMasta/a2s/releases/latest/download/a2s-darwin-arm64 \"MacOS arm64 file\"\n[a2s-darwin-amd64]: https://github.com/WoozyMasta/a2s/releases/latest/download/a2s-darwin-amd64 \"MacOS amd64 file\"\n[a2s-linux-amd64]: https://github.com/WoozyMasta/a2s/releases/latest/download/a2s-linux-amd64 \"Linux amd64 file\"\n[a2s-linux-arm64]: https://github.com/WoozyMasta/a2s/releases/latest/download/a2s-linux-arm64 \"Linux arm64 file\"\n[a2s-windows-amd64]: https://github.com/WoozyMasta/a2s/releases/latest/download/a2s-windows-amd64.exe \"Windows amd64 file\"\n[a2s-windows-arm64]: https://github.com/WoozyMasta/a2s/releases/latest/download/a2s-windows-arm64.exe \"Windows arm64 file\"\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwoozymasta%2Fa2s","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwoozymasta%2Fa2s","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwoozymasta%2Fa2s/lists"}