{"id":38638476,"url":"https://github.com/stefanodriussi/rconsharp","last_synced_at":"2026-01-17T09:05:49.856Z","repository":{"id":1638906,"uuid":"20885999","full_name":"stefanodriussi/rconsharp","owner":"stefanodriussi","description":"rconsharp is a Valve RCON protocol implementation written in C# targeting netstandard 2.1","archived":false,"fork":false,"pushed_at":"2023-11-03T10:02:18.000Z","size":891,"stargazers_count":69,"open_issues_count":15,"forks_count":15,"subscribers_count":5,"default_branch":"master","last_synced_at":"2026-01-07T21:38:55.702Z","etag":null,"topics":["protocol","rcon","rcon-client","valve-rcon"],"latest_commit_sha":null,"homepage":"","language":"C#","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/stefanodriussi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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-06-16T13:34:59.000Z","updated_at":"2025-11-15T06:21:00.000Z","dependencies_parsed_at":"2024-06-19T01:25:14.980Z","dependency_job_id":"f2a37de1-1557-48f5-b051-7d3bbc321d38","html_url":"https://github.com/stefanodriussi/rconsharp","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/stefanodriussi/rconsharp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefanodriussi%2Frconsharp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefanodriussi%2Frconsharp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefanodriussi%2Frconsharp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefanodriussi%2Frconsharp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stefanodriussi","download_url":"https://codeload.github.com/stefanodriussi/rconsharp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefanodriussi%2Frconsharp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28504655,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T06:57:29.758Z","status":"ssl_error","status_checked_at":"2026-01-17T06:56:03.931Z","response_time":85,"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":["protocol","rcon","rcon-client","valve-rcon"],"created_at":"2026-01-17T09:05:49.620Z","updated_at":"2026-01-17T09:05:49.755Z","avatar_url":"https://github.com/stefanodriussi.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# rconsharp\n\n![banner](https://github.com/stefanodriussi/rconsharp/blob/master/res/banner.png )\n\nrconsharp is a [Valve RCON](https://developer.valvesoftware.com/wiki/Source_RCON_Protocol) protocol implementation for `netstandard`\n\n## Games Support\n\nIn theory all servers claiming to implement Valve's RCON protocol should be supported.\nIn reality there are subtle differences in the way many developer chooses to interpret the protocol, leading to some unexpected result here and there.\nThe library has been tested successfully with:\n* CS:GO\n* Minecraft\n* ARK: Survival Evolved\n\nIf you stumble upon a game that doesn't work for some reason, please fill an issue and I'll do my best to see what's wrong.\n\n## Build\n![netstandard](https://github.com/stefanodriussi/rconsharp/workflows/netstandard/badge.svg)\n\nThe easiest way to build rconsharp is by cloning the repo, open the solution file in Visual Studio and then build the proeject via `Build` menu\nAlternatively `dotnet CLI` can be used to achieve the same result (both Windows and Unix environments are supported)\n```\ndotnet restore\ndotnet build --configuration Release --no-restore\n```\n\n### Tests\n\nA xUnit test project is included in this repository and covers most of the `rconsharp` API (feel free to submit a PR to improve coverage).\nAll tests can be executed using Visual Studio runner with a nice report of all the results.\nAs for the build process, the same result can be achieved using `dotnet CLI`\n```\ndotnet restore\ndotnet build --configuration Release --no-restore\ndotnet test --no-restore --verbosity normal\n```\n## NuGet packages\n[![Nuget](https://img.shields.io/nuget/dt/rconsharp)](https://www.nuget.org/packages/rconsharp/)\n[![Nuget](https://img.shields.io/nuget/v/rconsharp)](https://www.nuget.org/packages/rconsharp/)\n\nA package is available via NuGet. Search for `RconSharp` via Visual Studio dependencies manager window or use NuGet Packet Manager CLI\n\n```\nPM\u003e Install-Package rconsharp\n```\n\n## Samples\n\n### Authenticate and send a command\n\nThis is a very basic snippet that allows you to forward commands to a Rcon enabled remote server.\n\n```\n// Create an instance of RconClient pointing to an IP and a PORT\nvar client = RconClient.Create(\"127.0.0.1\", 15348);\n\n// Open the connection\nawait client.ConnectAsync();\n\n// Send a RCON packet with type AUTH and the RCON password for the target server\nvar authenticated = await client.AuthenticateAsync(\"RCONPASSWORD\");\nif (authenticated)\n{\n    // If the response is positive, the connection is authenticated and further commands can be sent\n    var status = await client.ExecuteCommandAsync(\"status\");\n    // Some responses will be split into multiple RCON pakcets when body length exceeds the maximum allowed\n    // For this reason these commands needs to be issued with isMultiPacketResponse parameter set to true\n    // An example is CS:GO cvarlist\n    var cvarlist = await client.ExecuteCommandAsync(\"cvarlist\", true);\n}\n```\n\nPlease note that while `AuthenticateAsync` method call will always return `true` or `false`, a call to `ExecuteCommandAsync` could raise a `TaskCanceledException` in the event of a connection loss or timeout. You should surround the requesting code with a `try .. catch` block to properly handle these situations.\n\n## Updating from v1\n\nThe previous version of `netstandard` was built as a PCL and contained platform specific implementations for the actual `Socket` communication. The new version is an almost complete rewrite of the whole library and backward compatibility has not been preserved, sorry about that.\nThe good news is that the API has been simplified, resulting in a fairly easy port. \n\n## Licensing\n\nThis code is distributed under the very permissive MIT License but, if you use it, you might consider referring to the repository. Please refer to [LICENSE](./LICENSE) file for the complete license description.\n\n## Credits\n\nThanks to \n* [Eucalyp](https://thenounproject.com/eucalyp) for the icon used in `rconsharp` logo\n* [Universidade de Brasilia](http://www.marca.unb.br/introducao.php) for [unb_pro_black](http://www.marca.unb.br/fontesunb.php) font\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstefanodriussi%2Frconsharp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstefanodriussi%2Frconsharp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstefanodriussi%2Frconsharp/lists"}