mctl/README.md
jake 0ff7d25802 init commit
- first code pass
- readme updates
- config file work
- encrypting passwords
2025-04-16 16:18:40 -04:00

48 lines
1.6 KiB
Markdown

# mctl
mctl is a terminal-friendly remote connection client
## Installation
Install mctl using golang
```bash
go install code.jakeyoungdev.com/jake/mctl@master #it is recommended to use a tagged version to prevent pulling unwanted changes
```
## Setup
### Configuring mctl
mctl requires a one-time setup via the 'config' command, password is entered securely from the terminal
```bash
mctl config -s <serveraddress> -p <rconport>
```
### Connecting to server
Once the client has been configured commands can be sent to the server using the 'login' command. This will authenticate you with the game server and enter the command loop, the session is logged out when the command loop is broken
```bash
mctl login #makes auth request to server with saved password
```
### Sending commands
If login is successful the app will enter the command loop, which allows commands to be sent directly to the server until 'mctl' is sent. Commands are sent as-is to the server, there is no validation of command syntax within mctl
## Documentation
### Commands
|Command|Description|
|---|---|
|config|used to update the config file|
|login|makes connection request to the server using saved configuration and enters command loop|
### Flags
#### config
|Flag|Shorthand|Required|Description|
|---|---|---|---|
|port|p|yes|RCon port|
|server|s|yes|RCon address|
#### login
no flags
### Configuration file
All configuration data will be kept in /home/.mctl.yaml, passwords are encrypted for an added layer of security
## Development
this repo is currently in heavy development and may encounter breaking changes