44 lines
720 B
Go
44 lines
720 B
Go
package server
|
|
|
|
import (
|
|
"log"
|
|
"os"
|
|
"os/exec"
|
|
"strings"
|
|
|
|
"github.com/spf13/cobra"
|
|
)
|
|
|
|
func Shell(cmd *cobra.Command, args []string) {
|
|
dir := "."
|
|
if len(args) > 0 {
|
|
dir = args[0]
|
|
}
|
|
|
|
name := getServerName(dir)
|
|
|
|
shell_cmd := exec.Command("docker", "exec", "-i", name, "rcon-cli")
|
|
|
|
shell_cmd.Stdin = os.Stdin
|
|
shell_cmd.Stdout = os.Stdout
|
|
shell_cmd.Stderr = os.Stderr
|
|
|
|
if err := shell_cmd.Run(); err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
}
|
|
|
|
func Say(cmd *cobra.Command, args []string) {
|
|
dir := "."
|
|
if len(args) > 0 {
|
|
dir = args[0]
|
|
}
|
|
|
|
name := getServerName(dir)
|
|
|
|
say_cmd := exec.Command("docker", "exec", name, "rcon-cli", strings.Join(args[1:], " "))
|
|
if err := say_cmd.Run(); err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
}
|