Files
factoryman/cli.go
Raum0x2A e051d2d6f6 Changed GoConfig to UsrConfig
Changed GoConfig struct to UsrConfig
2026-05-04 11:50:08 -06:00

61 lines
1.5 KiB
Go

package main
import (
"fmt"
"os"
)
func cliToolMode() {
var c = readCfg("config.yml")
modlist := string(c.Server.ServDir) + "/mods/mod-list.json"
if len(os.Args) > 1 {
switch os.Args[1] {
case "start":
if verifyConfig(c) {
startStopServer("start", c)
}
case "stop":
if verifyConfig(c) {
startStopServer("stop", c)
}
case "help", "h", "--help", "-h":
fmt.Printf("Start Server: %s start\nStop Server: %s stop\nRun backup\n\tFull backup: %s backup full\n\tBackup saves: %s backup saves\n", os.Args[0], os.Args[0], os.Args[0], os.Args[0])
case "download":
if len(os.Args) > 2 {
switch os.Args[2] {
case "mods":
if !findmodlist(modlist) {
fmt.Printf("FAILED TO FIND MOD LIST")
} else {
fmt.Printf("found %s\n", modlist)
downloadMods(modlist)
}
case "server":
downloadHeadless()
default:
fmt.Println("Invalid mod option: use 'update'")
}
} else {
fmt.Println("Missing mod option: use 'update'")
}
case "backup":
if len(os.Args) > 2 {
switch os.Args[2] {
case "full":
backUp("full", c)
case "saves":
backUp("saves", c)
default:
fmt.Println("Invalid backup type: use 'full' or 'saves'")
}
} else {
fmt.Println("Missing backup type: use 'full' or 'saves'")
}
default:
fmt.Printf("Unknown command: %s. Use 'start', 'stop', or 'backup'.\n", os.Args[1])
}
} else {
fmt.Println("Use 'start', 'stop', or 'backup' command\nex. factoryman start\nTo configure edit 'config.yml'")
}
}