{"id":15325272,"url":"https://github.com/forewing/webrcon-server","last_synced_at":"2025-04-14T23:35:11.599Z","repository":{"id":38327450,"uuid":"213180711","full_name":"forewing/webrcon-server","owner":"forewing","description":"A web-based client for srcds RCON protocol. (CS:GO, Minecraft, etc.)","archived":false,"fork":false,"pushed_at":"2023-10-12T11:29:01.000Z","size":166,"stargazers_count":23,"open_issues_count":5,"forks_count":3,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-03-28T11:39:41.042Z","etag":null,"topics":["counter-strike","csgo-server","golang","minecraft","rcon-protocol","srcds"],"latest_commit_sha":null,"homepage":"","language":"Go","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/forewing.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":"2019-10-06T14:13:08.000Z","updated_at":"2025-02-07T08:55:13.000Z","dependencies_parsed_at":"2024-06-19T15:10:57.339Z","dependency_job_id":null,"html_url":"https://github.com/forewing/webrcon-server","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forewing%2Fwebrcon-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forewing%2Fwebrcon-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forewing%2Fwebrcon-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forewing%2Fwebrcon-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/forewing","download_url":"https://codeload.github.com/forewing/webrcon-server/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248980601,"owners_count":21193134,"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":["counter-strike","csgo-server","golang","minecraft","rcon-protocol","srcds"],"created_at":"2024-10-01T09:29:55.022Z","updated_at":"2025-04-14T23:35:11.569Z","avatar_url":"https://github.com/forewing.png","language":"Go","readme":"# WebRcon\r\n\r\nA web based control panel for srcds' RCON protocol (CS:GO, Minecraft, etc.).\r\n\r\n![preview](preview.png)\r\n\r\n## Install\r\n\r\n### Docker\r\n\r\nYou can get the docker image at [forewing/webrcon-server](https://hub.docker.com/r/forewing/webrcon-server)\r\n\r\nUsing docker-compose is recommended, it makes connecting webrcon to game server easier\r\n\r\nAn example of webrcon + csgo compose file is at [example/docker-compose-csgo.yml](example/docker-compose-csgo.yml)\r\n\r\nNote that the server address should be configured to game server's service name with port, in the example, it should be `csgo:27015`\r\n\r\n### Pre-Built Binary\r\n\r\n- (Recommended) Get stable version from [Latest Release](https://github.com/forewing/webrcon-server/releases/latest)\r\n\r\n- [GitHub Action CI](https://github.com/forewing/webrcon-server/actions?query=workflow%3ACI+is%3Asuccess)\r\n\r\n### Build From Source\r\n\r\n\u003e Require go 1.16+\r\n\r\nUsing go install\r\n\r\n```\r\ngo install github.com/forewing/webrcon-server@latest\r\n```\r\n\r\nOr get the source code and build manually\r\n\r\n```\r\ngit clone https://github.com/forewing/webrcon-server.git\r\ncd webrcon-server\r\ngo build\r\n```\r\n\r\n## Config\r\n### Flags\r\n\r\n```\r\nUsage of webrcon-server:\r\n  -addr address\r\n        address of the server RCON, in the format of HOST:PORT (default \"127.0.0.1:27015\")\r\n  -admin-name username\r\n        basicauth username for path /api/exec\r\n  -admin-pass password\r\n        basicauth password for path /api/exec\r\n  -bind address\r\n        webrcon-server bind address (default \"0.0.0.0:8080\")\r\n  -conf file\r\n        load configs from file instead of flags\r\n  -debug\r\n        turn on debug mode\r\n  -pass password\r\n        password of the RCON\r\n  -preset preset\r\n        use preset(path), empty for default csgo config\r\n  -public-addr address\r\n        redirect target(public address) for /api/connect, empty for disabled\r\n  -timeout timeout\r\n        timeout(seconds) of the connection (default 1)\r\n  -version\r\n        display versions\r\n```\r\n\r\n### File Config\r\n\r\nYou should pass `-conf PATH/TO/config.json` flag in order to use file config\r\n\r\nAn example config file is at [example/config.example.json](example/config.example.json)\r\n## API\r\n\r\n1. exec\r\n\r\n    ```\r\n    curl -X POST 127.0.0.1:8080/api/exec -H \"Content-Type: application/json\" -d '{\"cmd\":\"YOUR_CMD_HERE\"}'\r\n    ```\r\n\r\n    or\r\n\r\n    ```\r\n    curl -v -X GET '127.0.0.1:8080/api/exec?cmd=YOUR_CMD_HERE'\r\n    ```\r\n\r\n2. connect\r\n\r\n    Visit `127.0.0.1:8080/api/connect`, you will be 307 redired to steam game launching shortcut if `public-addr` set to `steam://connect/SERVER_ADDRESS:PORT`.\r\n\r\n## GUI\r\n\r\nBrowse to `http://127.0.0.1:8080/`\r\n\r\n## Shortcut group preset\r\n\r\nWelcome to add presets for more games!\r\n\r\n- By default (`preset` config is empty), the server will use `presets/csgo-default.json`.\r\n\r\n- You may use other preset listed in `presets/` by setting `preset` to corresponding file name.\r\n\r\n- If the file name set by `preset` cannot be found in `presets/`, the server will consider it as a path to your custom preset, and load it.\r\n\r\n- The preset must be a valid json and follow the style:\r\n\r\n```\r\n{\r\n    \"Rounds\": [\r\n        { id: 1, args: true, default: \"5\", name: \"restart\", cmd: \"mp_restartgame\" },\r\n        { id: 2, args: true, default: \"30\", name: \"maxrounds\", cmd: \"mp_maxrounds\" },\r\n    ],\r\n    \"Bots\": [\r\n        { id: 1, args: false, default: \"\", name: \"kick bot\", cmd: \"bot_kick\" },\r\n        { id: 2, args: false, default: \"\", name: \"kick ct\", cmd: \"bot_kick ct\" },\r\n        { id: 3, args: false, default: \"\", name: \"kick t\", cmd: \"bot_kick t\" },\r\n        { id: 4, args: false, default: \"\", name: \"add ct\", cmd: \"bot_add_ct\" },\r\n        { id: 5, args: false, default: \"\", name: \"add t\", cmd: \"bot_add_t\" },\r\n    ],\r\n    \"Cheats\": [\r\n        { id: 1, args: false, default: \"\", name: \"cheat on\", cmd: \"sv_cheats 1\" },\r\n        { id: 2, args: false, default: \"\", name: \"cheat off\", cmd: \"sv_cheats 0\" },\r\n    ]\r\n}\r\n```\r\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fforewing%2Fwebrcon-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fforewing%2Fwebrcon-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fforewing%2Fwebrcon-server/lists"}