{"id":34163959,"url":"https://github.com/playnet-public/gorcon","last_synced_at":"2026-03-11T12:50:23.036Z","repository":{"id":103334361,"uuid":"129815193","full_name":"playnet-public/gorcon","owner":"playnet-public","description":"GoRcon is an abstraction layer to map common rcon functionality from various games to a unified api (grpc/rest) while also providing local management functionality to make running game servers easier. This allows the use as a rcon connector for both client tools and cloud solutions like the PlayNet BanList.","archived":false,"fork":false,"pushed_at":"2019-03-26T20:50:18.000Z","size":12304,"stargazers_count":12,"open_issues_count":4,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-12-18T04:53:47.749Z","etag":null,"topics":["arma3","battleye","gameserver","gaming","golang","grpc","minecraft","opensource","rcon","rcon-client","rcon-connection","rcon-console","rest","rust","valve"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/playnet-public.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":"2018-04-16T22:49:33.000Z","updated_at":"2024-07-06T22:03:57.000Z","dependencies_parsed_at":null,"dependency_job_id":"dcaa1e92-0655-47d4-8579-b02525f6f8e0","html_url":"https://github.com/playnet-public/gorcon","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/playnet-public/gorcon","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/playnet-public%2Fgorcon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/playnet-public%2Fgorcon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/playnet-public%2Fgorcon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/playnet-public%2Fgorcon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/playnet-public","download_url":"https://codeload.github.com/playnet-public/gorcon/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/playnet-public%2Fgorcon/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30381733,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-11T06:09:32.197Z","status":"ssl_error","status_checked_at":"2026-03-11T06:09:17.086Z","response_time":84,"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":["arma3","battleye","gameserver","gaming","golang","grpc","minecraft","opensource","rcon","rcon-client","rcon-connection","rcon-console","rest","rust","valve"],"created_at":"2025-12-15T09:33:09.727Z","updated_at":"2026-03-11T12:50:23.028Z","avatar_url":"https://github.com/playnet-public.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"## GoRcon\n[![Go Report Card](https://goreportcard.com/badge/github.com/playnet-public/gorcon)](https://goreportcard.com/report/github.com/playnet-public/gorcon)\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/513590eff4e54095a25b66bf65bd1323)](https://www.codacy.com/app/playnet/gorcon?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=playnet-public/gorcon\u0026amp;utm_campaign=Badge_Grade)\n[![Build Status](https://travis-ci.org/playnet-public/gorcon.svg?branch=master)](https://travis-ci.org/playnet-public/gorcon)\n[![Docker Repository on Quay](https://quay.io/repository/playnet/gorcon/status \"Docker Repository on Quay\")](https://quay.io/repository/playnet/gorcon)\n[![GitHub license](https://img.shields.io/badge/license-AGPL-blue.svg)](https://raw.githubusercontent.com/playnet-public/gorcon/master/LICENSE)\n[![GoDoc](https://img.shields.io/badge/godoc-reference-blue.svg)](https://godoc.org/github.com/playnet-public/gorcon)\n[![Join Discord at https://discord.gg/dWZkR6R](https://img.shields.io/badge/style-join-green.svg?style=flat\u0026label=Discord)](https://discord.gg/dWZkR6R)\n\nGoRcon is an abstraction layer to map common rcon functionality from various games to a unified api (grpc/rest) while also providing local management functionality to make running game servers easier.\nThis allows the use as a rcon connector for both client tools and cloud solutions like the PlayNet BanList.\n\n## Why\n\nAt PlayNet it is one of our core motivation to make development in the gaming area better and open up new ways for the community.\nDeveloping and offering standards with and for the community as well as building tools required by it or our own products is key to that vision.\n\nMost Rcon protocols are either badly documented or simply bad to handle. While most offer the same functionality it is quite hard to reuse features and gaming communities rarely cooperate on this.\nWe see ourselves in duty here to both build a standardized protocol everybody can freely use, as well as bringing the gaming community together as a whole to work on projects like this.\n\nOur primary goal at first is to provide a basic server tool for the ArmA game series which is capable enough of replacing BEC while developing a featureset rich enough to allow us building the community banlist we have in mind with PlayNet BanList.\nImplementation of other rcon protocols like Minecraft and Valve are on the roadmap but we got to set priorities due to limited resources.\n\nThis project is a rewrite of GoRcon-ArmA which was the first proof-of-concept for the idea.\n\n## Concepts\n\nAs pretty obvious from looking at the repository this project is realized in Golang. Mainly for it's portability to almost any platform as well as it's great language features and codestyle.\n\nThe project consists of a main application responsible for handling the cli and holding everything together, while game specific implementations reside in their respective locations.\nWhile nothing is set in stone yet, the application is meant to consist of various parts:\n* CLI for starting an managing the application\n* Process Manager for starting and watching a defined (game) process\n* Rcon Connection for communicating with the game servers\n* Scheduler for invoking functions based on scripts and timed logic\n* API Endpoints for configuring the application as well as invoking functions provided by other parts\n\n## Coding and Style\n\nCoding is done using pull requests and code reviews. Master is locked.\nOur code is always checked by Travis using `make test check` therefor all Golang rules on syntax and formating have to be met for pull requests to be merged.\nWhile this might incur more work for possible contributors, we see the code produced here as production critical once finished and therefor strive for high code quality.\n\nThe team is developing this mostly using TDD and BDD. If you don't know what this is, we recommend this [video](https://www.youtube.com/watch?v=uFXfTXSSt4I) for starters or to [get in touch](https://discord.gg/dWZkR6R) and let us introduce you.\n\nPlease do reasonable commit sizes.\n\n## Dependencies\nAll dependencies inside this project are being managed by [dep](https://github.com/golang/dep) and are checked in.\nAfter pulling the repository, it should not be required to do any further preparations aside from `make deps` to prepare the dev tools (once).\n\nIf new dependencies get added while coding, make sure to add them using `dep ensure --add \"importpath\"` and to check them into git.\nWe recommend adding your vendor changes in a separate commit to make reviewing your changes easier and faster.\n\n## Testing\nTo run tests you can use:\n```bash\nmake test\n```\n\n## Contributing\n\nFeedback and contributions are highly welcome. Feel free to file issues, feature or pull requests.\nIf you are interested in using this project now or in a later stage, feel free to get in touch.\nIf you are developing or already finished solutions that rely on rcon in any way, we would be happy to talk to you for both gaining insights as well as looking for options to collaborate and involve your project into other endeavors.\n\nWe are always looking for active contributors, team members and partner projects sharing our vision.\nEasiest way of reaching us is via [Discord](https://discord.gg/dWZkR6R).\n\nSee you soon,\nthe PlayNet Team\n\n## Attributions\n\n* [Kolide for providing `kit`](https://github.com/kolide/kit)\n\n## License\n\nThis project's license is located in the [LICENSE file](LICENSE).\nWhen forking or copying this project or it's parts we ask you to redirect people back to this repository for keeping the community together and to help getting contributions to make this project better everyday.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplaynet-public%2Fgorcon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fplaynet-public%2Fgorcon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplaynet-public%2Fgorcon/lists"}