Buy | Stats | Docs | Forums | discord | twitch.tv

Actions Reference

At its heart, Galcon BOTS is a set of command line tools to enable you to engage in Galcon bot battles. All of the options can be changed via command line or via the config file.


LAUNCHER

Use launcher to start up a server and bots using a human user interface.

./gbots launcher

The launcher will start automatically when gbots is started non-interactively.

options

-config string
    config file
-cols int
    screen cols [80 ... 160] (default "80")
-rows int
    screen rows [25 ... 80] (default "25")
-window string
    set fixed window size (e.g. 1920x1080)

PRACTICE

Use practice to try out the game as a human.

./gbots practice

The practice mode has a basic user interface, not the full human centric UI.

options

-handicap string
    user handicap e.g. "player+100,enemy+50"
-config string
    config file
-window string
    set fixed window size (e.g. 1920x1080)

SERVER

Use server to start up your own server to host bot battles.

./gbots server

Server has many customization flags. You can adjust the bots and their handicaps.

./gbots server -bots=min,max,classic -handicap=classic+100

You can also adjust the speed and wait between rounds.

./gbots server -speed=0 -wait=1

You may also allow multiple of the same bot to connect for more concurrency.

./gbots server -clones=16

You can log all matches played.

./gbots server -logs=./logs

options

-headless bool
    disable graphical view
-speed float
    simulation speed [0=turns, 0 ... 12] (default "1.0")
-timeout float
    turn timeout (only applies when -speed=0) [0=none, 0 ... 60] (default "1.0")
-timer int
    round timer [5 ... 3600] (default "60")
-wait int
    maximum wait between rounds [0 ... 60] (default "5")
-bots string
    enable builtin bots [all,noop,rand,min,max,sqrt,xor,mixor,classic,none] (default "all")
-clones int
    clones per player [1 ... 16] (default "1")
-port int
    port (default "2600")
-handicap string
    user handicap e.g. "player+100,enemy+50"
-key string
    license key (required)
-config string
    config file
-logs string
    log folder
-gzip bool
    gzip logs
-verbose bool
    verbose error handling
-window string
    set fixed window size (e.g. 1920x1080)

CLIENT

Use client to join the server with a human user interface.

./gbots client

The client mode user interface is limited.

options

-name string
    user name (default "anonymous")
-port int
    port (default "2600")
-key string
    license key (required)
-config string
    config file
-window string
    set fixed window size (e.g. 1920x1080)

PROXY

Use proxy to watch online server games in realtime and log matches for replay and analysis.

./gbots proxy -logs=./logs

To save CPU run the proxy in -headless. To save disk space, run the proxy with the -gzip flag.

options

-headless bool
    disable graphical view
-port int
    port (default "2600")
-host string
    hostname (default "bots.galcon.com")
-config string
    config file
-logs string
    log folder
-gzip bool
    gzip logs
-proxy int
    proxy port (default "2600")
-window string
    set fixed window size (e.g. 1920x1080)

PIPE

Use pipe to connect bots to a server.

./gbots pipe -exec 'lua bot.lua'

Use pipe to connect multiple clones of a single bot.

./gbots pipe -clones 16 -exec 'lua bot.lua'

Or just:

./gbots pipe lua bot.lua

Use pipe without -exec when your bot is starting the process.

r,w = popen("./gbots pipe") # pseudocode

Pipe will automatically log in your bot. Be sure to supply -name and -key.

options

-name string
    user name (default "anonymous")
-clones int
    clones per player [1 ... 16] (default "1")
-port int
    port (default "2600")
-host string
    hostname (default "localhost")
-key string
    license key (required)
-config string
    config file
-exec string
    command

REPLAY

Use replay to replay logs recorded by the proxy.

./gbots replay -file=<log_name>

Or just:

./gbots replay [options] <log_name>

You may use -speed to watch replays in slow or fast-motion.

options

-speed float
    simulation speed [0=turns, 0 ... 12] (default "1.0")
-config string
    config file
-file string
    log name (required)
-window string
    set fixed window size (e.g. 1920x1080)