GGSA Customization

Unix users can start GGSA by using a shell script like this one:
#!/bin/sh

cd <GGSA.jar-direcory>
java ggs.ggsa.main.GGSA \
"dbg_0%\
ho_bodo1.cs.ualberta.ca%\
po_5000%\
lo_<USERID>%\
pa_<PASSWD>%\
sv_Othello:Skat:Amazons:Checkers:Chess:Go:Hex:DotsAndBoxes:Domineering:Ataxx%\
ge_800_800_20_20%\
cm_who\
$1"
where you need to replace <GGSA.jar-directory>, <USERID>, and <PASSWD> with your values. Here is a more sophisticated script.

Windows users can do the same. Here is a small batch file that starts GGSA assuming you have downloaded a recent JRE:
cd <GGSA.jar-direcory>
set OPT=lo_<USERID>%%pa_<PASSWD>%%sv_Othello:Skat:Amazons:Checkers:Chess:Go:Hex:DotsAndBoxes:Domineering:Ataxx
java ggs.ggsa.main.GGSA %OPT%



Options

GGSA accepts parameters which can be delivered to it by means of command line parameters. Parameters are separated by '%'. They can be used - for example - to tell the applet at which host/port it will find GGS and which login name, password, and initial command sequence you would like to use, or to adjust graphics parameters. If the login and password options are missing GGSA waits for keyboard inputs. Currently the following parameters are supported:

Core Options

SyntaxSemanticsExample
ho_<string> connect to host <string>ho_bodo1.cs.ualberta.ca
po_<integer> connect to port <integer> po_5000
lo_<string> login as <string> lo_foo
pa_<string> use password <string> pa_foopw
sv_<string> list of used servicessv_Othello:Amazons:Checkers:Chess:Go
cm_<string> issue initial commands separated by ';', replacements: '_' -> ' ', "\_" -> '_', "\\" -> '\', cm_tell_.chat_hi_all;who
ge_<geometry> main window geometry (width_height_xl_yt) ge_300_600_0_0
rge_<geometry> match request popup window geometry rge_320_150_0_0
bf_<string> beep sound file bf_/data/audio/drip.au
ulw_<integer> user list width (pts) ulw_90
tph_<integer> talk panel height (pts) tph_400
fs_<integer> font size (pts) fs_12
cfs_<integer> clock font size (pts) cfs_14
bfs_<integer> button font size (pts) bfs_14
dbg_<integer> debug mode if != 0 dbg_1

Board Game Service Options

Default options (used when not overridden for particular service):

BGS.ge1_<geometry> board window geometry 1 BGS.ge1_550_570_0_0
BGS.ge2_<geometry> board window geometry 2 BGS.ge2_710_770_0_0
BGS.ge3_<geometry> board window geometry 3 (used for synchro games) BGS.ge3_408_460_0_0
BGS.rge_<geometry> match request window geometry BGS.rge_400_400_0_0
BGS.ipw_<integer> info panel width (pts) BGS.ipw_150
BGS.tph_<integer> talk panel height (pts) BGS.tph_200
BGS.gc_<integer> grid color (pts) BGS.gc_#000000

(<S>=os (Othello), ams (Amazons), cks (Checkers), cs (Chess), go, hex, db (DotsAndBoxes), dm (Domineering), ax (Ataxx)):

<S>.ge1_<geometry> board window geometry 1 default BGS.ge1
<S>.ge2_<geometry> board window geometry 2 default BGS.ge2
<S>.ge3_<geometry> board window geometry 3 (used for synchro games) default BGS.ge3
<S>.ipw_<integer> info panel width (pts) default BGS.ipw
<S>.tph_<integer> talk panel height (pts) default BGS.tph
<S>.gc_<boolean> grid color os.gc_#000000
<S>.mo_<boolean> show moves ams.mo_0
<S>.la_<boolean> show last move os.la_1
<S>.cm_<string> initial commands separated by ; os.cm_open_20

/os options:

os.es0_<color> empty square color (x+y=0 mod 2)
os.es1_<color> empty square color (x+y=1 mod 2); usually = es0
os.aes0_<color> empty square color in anti games (x+y=0 mod 2)
os.aes1_<color> empty square color in anti games (x+y=1 mod 2); usually = aes0

/ams options:

ams.es0_<color> empty square color (x+y=0 mod 2)
ams.es1_<color> empty square color (x+y=1 mod 2)
ams.hs_<color> hit square color

/cks options:

cks.es0_<color> empty square color (x+y=0 mod 2)
cks.es1_<color> empty square color (x+y=1 mod 2)

/cs options:

cs.es0_<color> empty square color (x+y=0 mod 2)
cs.es1_<color> empty square color (x+y=1 mod 2)
cs.ms_<color> move square color
cs.lms_<color> last move square color
cs.pt_<string> piece image path template (#=size, %=piece prefix), e.g. "/data/images/chess/#/%d#.gif"
cs.ps_<string> piece sizes, e.g. "21,25,29,33,37,45,58,80,108,129"

/go options:

go.es0_<color> board background color (x+y=0 mod 2)
go.es1_<color> board background color (x+y=1 mod 2)
go.lms_<color> last move square color

/hex options:

hex.es0_<color> board background color

/db options:

db.es0_<color> board background color
db.lms_<color> last move square color

/dm options:

dm.es0_<color> empty square color (parity 0)
dm.es1_<color> empty square color (parity 1)
dm.aes0_<color> empty square color in anti games (parity 0)
dm.aes1_<color> empty square color in anti games (parity 1)

/ax options:

ax.es0_<color> empty square color (parity 0)
ax.es1_<color> empty square color (parity 1)
ax.bs_<color> blocked square color (parity 1)