GithubHelp home page GithubHelp logo

liujar / rcon-cli Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gorcon/rcon-cli

0.0 0.0 0.0 148 KB

RCON client 是在服务器上命令行中输入游戏服务器指令控制游戏服务器内操作

License: MIT License

Shell 3.43% Go 93.45% Makefile 2.04% Dockerfile 1.08%

rcon-cli's Introduction

rcon-cli

Mentioned in Awesome-Selfhosted GitHub Build Go Coverage Go Report Card GitHub All Releases Docker Pulls

CLI for executing queries on a remote Source dedicated game server, using the RCON protocol.

Supported Games

Open pull request if you have successfully used a package with another game with rcon support and add it to the list.

Installation

Download the binary for your platform from the latest releases

See Changelog for release details

Docker

docker pull outdead/rcon

Usage

USAGE:
   rcon [options] [commands...]

GLOBAL OPTIONS:
   --address value, -a value   Set host and port to remote server. Example 127.0.0.1:16260
   --password value, -p value  Set password to remote server
   --type value, -t value      Specify type of connection (default: rcon)
   --log value, -l value       Path to the log file. If not specified it is taken from the config
   --config value, -c value    Path to the configuration file (default: rcon.yaml)
   --env value, -e value       Config environment with server credentials (default: default)
   --skip, -s                  Skip errors and run next command (default: false)
   --timeout value, -T value   Set dial and execute timeout (default: 10s)
   --help, -h                  show help (default: false)
   --version, -v               print the version (default: false)

Rcon CLI can be run in two modes - in the mode of a single query and in the mode of reading the input stream

Single mode

Server address, password and command to server must be specified in flags at startup. Example:

./rcon -a 127.0.0.1:16260 -p mypassword command

It is possible to send several commands in one request. Example:

./rcon -a 127.0.0.1:16260 -p mypassword command "command with several words" 'command "with double quotes"'

If commands passed, they sent in a single mode. The response displayed, and the CLI will exit.

Interactive input stream mode

To run CLI in interactive mode run rcon without commands. Example:

./rcon -a 127.0.0.1:16260 -p mypassword

Use ^C to terminate or type command :q to exit.

In Docker

docker run -it --rm outdead/rcon ./rcon [options] [commands...]

You can add your config file as volume:

docker run -it --rm \
      -v /path/to/rcon-local.yaml:/rcon.yaml \
      outdead/rcon ./rcon -c rcon.yaml -e default players

Configuration file

For more convenient use, the ability to create the rcon.yaml configuration file provided. You can save the host and port of the remote server and its password. If the configuration file exists, and the default block filled in it, then at startup the -a and -p flags can be omitted. Examples:

./rcon -a 127.0.0.1:16260 players
./rcon status
./rcon -p mypassword
./rcon

Default configuration file name is rcon.yaml. File must be saved in yaml format. It is also possible to set the environment name and connection parameters for each server. You can enable logging requests and responses. To do this, you need to define the log variable in the environment blocks. You can do this for each server separately and create different log files for them. If the path to the log file not specified, then logging will not be conducted.

default:
  address: "127.0.0.1:16260"
  password: "password"
  log: "rcon-default.log"
zomboid:
  address: "127.0.0.1:16260"
  password: "password"
  log: "rcon-zomboid.log"
rust:
  address: "127.0.0.1:28003"
  password: "password"
7dtd:
  address: "172.19.0.2:8081"
  password: "password"
  type: "telnet"

Args

You can choose the environment at the start:

./rcon -e rust status
./rcon -e zomboid

Set custom config file:

./rcon -c /path/to/config/file.yaml

Use -l argument to specify path to log file:

./rcon -l /path/to/file.log

Use -t argument to specify the protocol type:

# 7 Days to Die
./rcon -a 172.19.0.2:8081 -p password -t telnet version

# Rust
./rcon -a 127.0.0.1:28016 -p password -t web status

Use -T argument to specify dial and execute timeout:

./rcon -a 172.19.0.2:8081 -p password -t telnet -T 10s version

Contribute

If you think that you have found a bug, create an issue and indicate your operating system, platform, and the game on which the error reproduced. Also describe what you were doing so that the error could be reproduced.

License

MIT License, see LICENSE

rcon-cli's People

Contributors

outdead avatar jakelunn avatar coolapso avatar rfvgyhn avatar haloghen avatar quintenqvd0 avatar nodiscc avatar sunstep avatar zhufucdev avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.