xboard(6)xboard(6)NAMExboard - X user interface for GNU Chess, Crafty, the
Internet Chess Server (ICS), and electronic mail corre-
spondence chess.
SYNOPSIS
To run with GNU Chess: xboard [options]
To run with Crafty: xboard-fcp "crafty xboard" [options]
To run with the ICS: xboard-ics-icshost hostname
[options]
To play email chess: See cmail(6).
To run standalone: xboard-ncp [options]
To use in a pipeline: |pxboard
DESCRIPTIONxboard is a graphical chessboard that can serve as a user
interface to the GNU Chess and Crafty chess engines, the
Internet Chess Servers, electronic mail correspondence
chess, or your own collection of saved games.
As an interface to GNU Chess or Crafty, xboard lets you
play a game against the machine, set up arbitrary posi-
tions, force variations, or watch a game between two
machines.
As an interface to Crafty, xboard also lets you interac-
tively analyze your stored games (PGN, etc.) or setup and
analyze arbitrary positions.
As an interface to the Internet Chess Server (ICS), xboard-ics lets you play against other ICS users, observe games
they are playing, or review games that have recently fin-
ished. All the "wild" chess variants on ICS are sup-
ported, including bughouse.
As an interface to electronic mail correspondence chess,
xboard works with the cmail(6) program. See its manual
page for instructions.
You can also use xboard as a chessboard to play through
games. It will read and write game files and allow you to
play through variations manually. You can use it to
browse games off the net or review games you have saved.
These features are available at all times; if you want to
use them without starting a chess program or connecting to
the ICS, you can do so with the command xboard-ncp.
To view games from a netnews reader like rn(1) or xrn(1),
use the news reader's Save command and specify "|pxboard"
as the save file name. This pipes the article to pxboard,
a simple shell script that saves the article to a tempo-
rary file and runs xboard in the background. See the
script itself for more information.
GNU 1998/01/20 02:14:56 1
xboard(6)xboard(6)
You make moves in xboard in one of two ways. The default
method is to "drag-and-drop": Press mouse button 1 while
the cursor is on one of your pieces, then move the cursor
to another square and release the button. If you set the
option -clickClick then you move pieces by clicking once
on the piece and then clicking once on the destination
square.
To drop a new piece on a square (when applicable), press
button 2 or 3 over the square and select from the popup
menu.
When xboard is iconized, its graphical icon is a white
knight if it is White's turn to move, a black knight if it
is Black's turn. See Iconize below if you have problems
getting this feature to work.
MENU COMMANDS, BUTTONS, AND KEYS
All xboard commands are available on menus. The most fre-
quently used commands also have shortcut keys or on-screen
buttons.
File Menu
Reset Resets xboard and the chess engine to the begin-
ning of a new chess game. The "r" key is a key-
board equivalent. In Internet Chess Server mode,
clears the current state of xboard, then resyn-
chronizes with ICS by sending a refresh command.
If you want to stop playing, observing, or examin-
ing a game on ICS, use an appropriate command from
the Action menu, not Reset.
Load Game
Plays a game from a record file. The "g" key is a
keyboard equivalent. A popup dialog prompts you
for the file name. If the file contains more than
one game, a second popup dialog displays a list of
games (with information drawn from their PGN tags,
if any), and you can select the one you want.
Alternatively, you can load the Nth game in the
file directly from the file name dialog, by typing
the number N after the file name, separated by a
space.
The game file parser will accept PGN (portable
game notation), or in fact almost any file that
contains moves in algebraic notation. Notation of
the form "P@f7" is accepted for piece-drops in
bughouse games; this is a nonstandard extension to
PGN. If the file includes a PGN position (FEN
tag), or an old-style xboard position diagram
bracketed by "[--" and "--]" before the first
move, the game starts from that position. Text
enclosed in parentheses, square brackets, or curly
GNU 1998/01/20 02:14:56 2
xboard(6)xboard(6)
braces is assumed to be commentary and is dis-
played in a pop-up window. Any other text in the
file is ignored. PGN variations (enclosed in
parentheses) are treated as comments; xboard is
not able to walk variation trees.
Load Next Game
Loads the next game from the last game record file
you loaded. The shifted "N" key is a keyboard
equivalent.
Load Previous Game
Loads the previous game from the last game record
file you loaded. The shifted "P" key is a key-
board equivalent. Not available if the last game
was loaded from a pipe.
Reload Same Game
Reloads the last game you loaded. Not available
if the last game was loaded from a pipe.
Load Position
Sets up a position from a position file. A popup
dialog prompts you for the file name. If the file
contains more than one saved position, and you
want to load the Nth one, type the number N after
the file name, separated by a space. Position
files must be in FEN (Forsythe-Edwards notation),
or in the format that the Save Position command
writes when oldSaveStyle is turned on.
Save Game
Appends a record of the current game to a file. A
popup dialog prompts you for the file name. If
the game did not begin with the standard starting
position, the game file includes the starting
position used. Games are saved in the PGN
(portable game notation) format, unless the old-
SaveStyle option is True, in which case they are
saved in an older format that is specific to
xboard. Both formats are human-readable, and both
can be read back by the Load Game command. Nota-
tion of the form "P@f7" is generated for piece-
drops in bughouse games; this is a nonstandard
extension to PGN.
Save Position
Appends a diagram of the current position to a
file. A popup dialog prompts you for the file
name. Positions are saved in FEN (Forsythe-
Edwards notation) format unless the oldSaveStyle
option is True, in which case they are saved in an
older, human-readable format that is specific to
xboard. Both formats can be read back by the Load
GNU 1998/01/20 02:14:56 3
xboard(6)xboard(6)
Position command.
Mail Move
Reload CMail Message
See the manual page for cmail(6).
Exit Exits from xboard. The shifted "Q" key is a key-
board equivalent.
Mode Menu
Machine White
Tells the chess engine to play White.
Machine Black
Tells the chess engine to play Black.
Two Machines
Plays a game between two chess engines.
Analysis Mode
Puts XBoard in analysis mode on the current edited
position or game. This mode requires that you use
Crafty, version 9.25 or higher. See the manual
section GETTING CRAFTY for more information on
getting and installing Crafty.
Analyze File
This mode lets you load a game from a file (PGN,
etc.) and use Crafty to interactively analyze it.
This requires that you use Crafty 9.25 or higher.
See the manual section GETTING CRAFTY for more
information on getting and installing Crafty.
ICS Client
This is the normal mode when xboard is connected
to a chess server. If you have moved into Edit
Game or Edit Position mode, you can select this
option to get out.
To use xboard in ICS mode, run it in the fore-
ground with the -ics option, and use the terminal
you started it from to type commands and receive
text responses from the chess server. Useful ICS
commands include who to see who is logged on,
games to see what games are being played, match to
challenge another player to a game, observe to
observe an ongoing game, examine or oldmoves to
review a recently completed game, and of course
help.
Some special xboard features are activated when
you are in examine or bsetup mode on ICS. See the
descriptions of the menu commands Forward, Back-
ward, Pause, ICS Client, and Stop Examining below.
GNU 1998/01/20 02:14:56 4
xboard(6)xboard(6)
You can also issue the ICS position-editing com-
mands with the mouse. Move pieces by dragging
with mouse button 1. To drop a new piece on a
square, press mouse button 2 or 3 over the square.
This brings up a menu of white pieces (button 2)
or black pieces (button 3). Additional menu
choices let you empty the square or clear the
board. Click on the White or Black clock to set
the side to play. You cannot set the side to play
or drag pieces to arbitrary squares while examin-
ing on ICC, but you can do so in bsetup mode on
FICS.
If you are playing a bughouse game on the ICS, you
can drop an offboard piece by pressing mouse but-
ton 2 or 3 over an empty square to bring up a
piece menu. It makes no difference which button
you use. A list of the offboard pieces each
player has available is shown in the window title
after the player's name.
Edit Game
Allows you to make moves for both Black and White,
and to change moves after backing up with the
Backward command. The clocks do not run.
In chess engine mode, the chess engine continues
to check moves for legality but does not partici-
pate in the game. You can bring the chess engine
back into the game by selecting Machine White,
Machine Black, or Two Machines.
In ICS mode, the moves are not sent to the ICS:
Edit Game takes xboard out of ICS Client mode and
lets you edit games locally. If you want to edit
games on ICS in a way that other ICS users can
see, use the ICS examine command or start an ICS
match against yourself.
Edit Position
Lets you set up an arbitrary board position. Use
mouse button 1 to drag pieces to new squares, or
to delete a piece by dragging it off the board or
dragging an empty square on top of it. To drop a
new piece on a square, press mouse button 2 or 3
over the square. This brings up a menu of white
pieces (button 2) or black pieces (button 3).
Additional menu choices let you empty the square
or clear the board. You can set the side to play
next by clicking on the White or Black indicator
at the top of the screen. Selecting Edit Position
causes xboard to discard all remembered moves in
the current game.
GNU 1998/01/20 02:14:56 5
xboard(6)xboard(6)
In ICS mode, changes made to the position by Edit
Position are not sent to the ICS: Edit Position
takes xboard out of ICS Client mode and lets you
edit positions locally. If you want to edit posi-
tions on ICS in a way that other ICS users can
see, use the ICS examine command, or start an ICS
match against yourself. (See also the ICS Client
topic above.)
Show Game List
Shows or hides the list of games generated by the
last Load Game command.
Edit Tags
Lets you edit the PGN (portable game notation)
tags for the current game. After editing, the
tags must still conform to the PGN tag syntax:
<tag-section> ::= <tag-pair> <tag-section>
<empty>
<tag-pair> ::= [ <tag-name> <tag-value> ]
<tag-name> ::= <identifier>
<tag-value> ::= <string>
See the PGN Standard for full details. Here is an
example:
[Event "Portoroz Interzonal"]
[Site "Portoroz, Yugoslavia"]
[Date "1958.08.16"]
[Round "8"]
[White "Robert J. Fischer"]
[Black "Bent Larsen"]
[Result "1-0"]
Any characters that do not match this syntax are
silently ignored. Note that the PGN standard
requires all games to have at least the seven tags
shown above. Any that you omit will be filled in
by xboard with "?" (unknown value), or "-" (inap-
plicable value).
Edit Comment
Adds or modifies a comment on the current posi-
tion. Comments are saved by Save Game and are
displayed by Load Game, Forward, and Backward.
ICS Input Box
If this mode is on in ICS mode, xboard creates an
extra window that you can use for typing in ICS
commands. The input box is especially useful if
you want to type in something long or do some
editing on your input, because output from ICS
doesn't get mixed in with your typing as it would
GNU 1998/01/20 02:14:56 6
xboard(6)xboard(6)
in the main terminal window.
Pause Pauses updates to the board, and if you are play-
ing against a local chess engine, also pauses your
clock. To continue, select Pause again, and the
display will automatically update to the latest
position. The [P] button and keyboard "p" key are
equivalents.
If you select Pause when you are playing against a
local chess engine and it is not your move, the
engine's clock will continue to run and it will
eventually make a move, at which point both clocks
will stop. Since board updates are paused, how-
ever, you will not see the move until you exit
from Pause mode (or select Forward). This behav-
ior is meant to simulate adjournment with a sealed
move.
If you select Pause while you are in examine mode
on ICS, you can step backward and forward in the
current history of the examined game without
affecting the other observers and examiners.
Select Pause again to reconnect yourself to the
current state of the game on ICS.
If you select Pause while you are loading a game,
the game stops loading. You can load more moves
manually by selecting Forward, or resume automatic
loading by selecting Pause again.
Action Menu
Accept Accepts a pending ICS match offer. If there is
more than one offer pending, you will have to type
in a more specific command instead of using this
menu choice.
Decline Declines a pending ICS offer (match, draw,
adjourn, etc.). If there is more than one offer
pending, you will have to type in a more specific
command instead of using this menu choice.
Call Flag
Calls your opponent's flag, claiming a win on
time, or claiming a draw if you are both out of
time. You can also call your opponent's flag by
clicking on his clock or by pressing the keyboard
"t" key.
Draw Offers a draw to your opponent, accepts a pending
draw offer from your opponent, or claims a draw by
repetition or the 50-move rule, as appropriate.
The "d" key is a keyboard equivalent.
GNU 1998/01/20 02:14:56 7
xboard(6)xboard(6)
Adjourn Asks your opponent to agree to adjourning the cur-
rent game, or agrees to a pending adjournment
offer from your opponent.
Abort Asks your opponent to agree to aborting the cur-
rent game, or agrees to a pending abort offer from
your opponent. An aborted ICS game ends immedi-
ately without affecting either player's rating.
Resign Resigns the game to your opponent. The shifted
"R" key is a keyboard equivalent.
Stop Observing
Ends your participation in observing a game, by
issuing the ICS observe command with no arguments.
Stop Examining
Ends your participation in examining a game, by
issuing the ICS unexamine command.
Step Menu
Backward
Steps backward through a series of remembered
moves. The [<] button and the "b" key are equiva-
lents. In addition, pressing the Control key
steps back one move, and releasing it steps for-
ward again.
In most modes, Backward only lets you look back at
old positions; it does not retract moves. This is
the case if you are playing against a local chess
engine, playing or observing a game on the ICS, or
loading a game. If you select Backward in any of
these situations, you will not be allowed to make
a different move. Use Retract Move or Edit Game
if you want to change past moves.
If you are examining a game on ICS, the behavior
of Backward depends on whether xboard is in Pause
mode. If Pause mode is off, Backward issues the
ICS backward command, which backs up everyone's
view of the game and allows you to make a differ-
ent move. If Pause mode is on, Backward only
backs up your local view.
Forward Steps forward through a series of remembered moves
(undoing the effect of Backward) or forward
through a game file. The [>] button and the f key
are equivalents.
If you are examining a game on ICS, the behavior
of Forward depends on whether xboard is in Pause
mode. If Pause mode is off, Forward issues the
ICS forward command, which moves everyone's view
GNU 1998/01/20 02:14:56 8
xboard(6)xboard(6)
of the game forward along the current line. If
Pause mode is on, Forward only moves your local
view forward, and it will not go past the position
that the game was in when you paused.
Back to Start
Jumps backward to the first remembered position in
the game. The [<<] button and the shifted "B" key
are equivalents.
In most modes, Back to Start only lets you look
back at old positions; it does not retract moves.
This is the case if you are playing against a
local chess engine, playing or observing a game on
the ICS, or loading a game. If you select Back to
Start in any of these situations, you will not be
allowed to make different moves. Use Retract Move
or Edit Game if you want to change past moves; or
use Reset to start a new game.
If you are examining a game on ICS, the behavior
of Back to Start depends on whether xboard is in
Pause mode. If Pause mode is off, Back to Start
issues the ICS backward 999999 command, which
backs up everyone's view of the game to the start
and allows you to make different moves. If Pause
mode is on, Back to Start only backs up your local
view.
Forward to End
Jumps forward to the last remembered position in
the game. The [>>] button and the shifted "F" key
are equivalents.
If you are examining a game on ICS, the behavior
of Forward to End depends on whether xboard is in
Pause mode. If Pause mode is off, Forward to End
issues the ICS forward 999999 command, which moves
everyone's view of the game forward to the end of
the current line. If Pause mode is on, Forward to
End only moves your local view forward, and it
will not go past the position that the game was in
when you paused.
Revert If you are examining a game on ICS and Pause mode
is off, issues the ICS command revert.
Truncate Game
Discards all remembered moves of the game beyond
the current position. Puts xboard into Edit Game
mode if it was not there already.
Move Now
Forces the chess engine to move immediately. May
GNU 1998/01/20 02:14:56 9
xboard(6)xboard(6)
not work with all chess engines.
Retract Move
Retracts your last move. When playing a local
chess engine, you can do this only after the
engine has replied to your move; if it is still
thinking, use Move Now first. In ICS mode,
Retract Move issues the command takeback 1 or
takeback 2 depending on whether it is your oppo-
nent's move or yours.
Options Menu
Always Queen
If this option is off, xboard brings up a dialog
box whenever you move a pawn to the last rank,
asking what piece you want to promote it to. If
the option is on, your pawns are always promoted
to queens. Your opponent can still underpromote.
Auto Comment
If this option is on, any remarks made on ICS
while you are observing or playing a game are
recorded as a comment on the current move. This
includes remarks made with the ICS commands say,
tell, whisper, and kibitz. Limitation: remarks
that you type yourself are not recognized; xboard
scans only the output from ICS, not the input you
type to it.
Auto Flag
If this option is on and your opponent runs out of
time before you do, xboard will automatically call
his flag, claiming a win on time (or a draw if you
do not have mating material).
Auto Observe
If this option is on and you add a player to your
gnotify list on ICS, xboard will automatically
observe all of that player's games, unless you are
doing something else (such as observing or playing
a game of your own) when one starts. The games
are displayed from the point of view of the player
on your gnotify list; that is, his pawns move from
the bottom of the window towards the top. Excep-
tions: If both players in a game are on your gno-
tify list, if your ICS highlight variable is set
to 0, or if the ICS you are using does not prop-
erly support observing from Black's point of view,
you will see the game from White's point of view.
Auto Save
If this option is on, at the end of every game
xboard prompts you for a file name and appends a
record of the game to the file you specify.
GNU 1998/01/20 02:14:56 10
xboard(6)xboard(6)
Disabled if the saveGameFile option is set, as in
that case all games are saved to the specified
file.
Bell If this option is on, xboard alerts you by ringing
the terminal bell after each of your opponent's
moves (or after every move if you are observing a
game on the Internet Chess Server). The bell is
not rung after moves you make or moves read from a
saved game file.
If you turn on this option when using xboard with
the Internet Chess Server, you will probably want
to give the set bell 0 command to the ICS, since
otherwise the ICS will ring the bell itself after
every move.
Flip View
Inverts your view of the chess board for the dura-
tion of the current game. Starting a new game
returns the board to normal. The "v" key is a
keyboard equivalent.
If you are playing a game on the ICS, the board is
always oriented at the start of the game so that
your pawns move from the bottom of the window
towards the top. Otherwise, the starting orienta-
tion is determined by the flipView command line
option; if it is False (the default), White's
pawns move from bottom to top at the start of each
game; if it is True, Black's pawns move from bot-
tom to top.
Get Move List
If this option is on, whenever xboard receives the
first board of a new ICS game (or a different ICS
game from the one it is currently displaying), it
retrieves the list of past moves from the ICS.
You can then review the moves with the Forward and
Backward commands or save them with Save Game.
You might want to turn off this option if you are
observing several blitz games at once, to keep
from wasting time and network bandwidth fetching
the move lists over and over. When you turn this
option on from the menu, xboard immediately
fetches the move list of the current game (if
any).
Old Save Style
If this option is off, xboard saves games in PGN
(portable game notation) and positions in FEN
(Forsythe-Edwards notation). If the option is on,
a save style that is compatible with older ver-
sions of xboard is used instead. The old position
GNU 1998/01/20 02:14:56 11
xboard(6)xboard(6)
style is more human-readable than FEN; the old
game style has no particular advantages.
Periodic Updates
If you are using the "xboard-supported" version of
Crafty (see the manual section GETTING CRAFTY for
details), then you can decide whether you want the
Analysis Window to be updated periodically or not.
If this option is unchecked (or if you are not
using the "xboard-supported" Crafty), the analysis
window will be updated only when the analysis
changes. If this option is checked, the Analysis
Window will be updated every two seconds.
Quiet Play
If this option is on, xboard will automatically
issue an ICS set shout 0 command whenever you
start an ICS game and a set shout 1 command when-
ever you finish one. Thus you will not be dis-
tracted by shouts from other ICS users while play-
ing.
Show Coords
If this option is on, xboard displays algebraic
coordinates along the board's left and bottom
edges.
Show Thinking
If this option is on, the chess engine's notion of
the score and best line of play from the current
position is displayed as it is thinking. The
score indicates how many pawns ahead (or if nega-
tive, behind) the engine thinks it is. When GNU
Chess is thinking on your time, this thinking is
not shown if GNU Chess was compiled with the
-DQUIETBACKGROUND option. In matches between two
machines, the score is prefixed by W or B to indi-
cate whether the display is of White's thinking or
Black's, and thinking on the opponent's time is
never shown.
Test Legality
If this option is on, xboard tests whether moves
you try to make with the mouse are legal, and
refuses to let you make an illegal move. Moves
loaded from a file with Load Game are also
checked. If the option is off, all moves are
accepted, but if a local chess engine or the ICS
is active, they will still reject illegal moves.
Turning off this option is useful if you are play-
ing a chess variant with rules that xboard does
not understand. (Bughouse, suicide, and wild
variants where the king may castle after starting
on the d file are generally supported with Test
GNU 1998/01/20 02:14:56 12
xboard(6)xboard(6)
Legality on.)
Help Menu
Info XBoard
Displays the xboard info file in a new window.
For this feature to work, you must have the GNU
info program installed on your system, and the
file xboard.info must either be present in the
current working directory, or have been installed
by the make install command when you built xboard.
Man XBoard
Displays this man page in a new window. For this
feature to work, the file xboard.6 must have been
installed by the make install command when you
built xboard, and the directory it was placed in
must be on the search path for your system's
man(1) command.
Hint Displays a move hint from the local chess engine.
Book Displays a list of possible moves from the local
chess engine's opening book. The first column
gives moves, the second column gives one possible
response for each move, and the third column shows
the number of lines in the book that include the
move from the first column. If you select this
option and nothing happens, the chess engine is
out of its book or does not support this command.
About XBoard
Shows the current xboard version number.
Other shortcut keys
Iconize Pressing the i or c key iconizes xboard. The
graphical icon displays a white knight if it is
White's move, or a black knight if it is Black's
move. If your X window manager displays only text
icons, not graphical ones, check its documenta-
tion; there is probably a way to enable graphical
icons. If you are running the Motif window man-
ager mwm(1), add these lines to your .Xdefaults
file and restart mwm:
Mwm*iconDecoration: activelabel label image
Mwm*XBoard*iconImageBackground: White
Mwm*XBoard*iconImageForeground: Black
The first line above enables graphical icons in
mwm; you don't need it if you already have them.
The next two lines force the white knights to come
out white and the black knights black. Unfortu-
nately these resources can't be set from inside
xboard; you have to set them in your .Xdefaults.
GNU 1998/01/20 02:14:56 13
xboard(6)xboard(6)
You can add or remove xboard shortcut keys using the X
resource form.translations. Here is an example of what
would go in your .Xdefaults file:
XBoard*form.translations: \
Shift<Key>?: AboutGameProc() \n \
<Key>y: AcceptProc() \n \
<Key>n: DeclineProc() \n \
<Key>i: NothingProc()
Binding a key to NothingProc makes it do nothing, thus
removing it as a shortcut key. The xboard functions that
can be bound to keys are: AbortProc, AboutGameProc, About-
Proc, AcceptProc, AdjournProc, AlwaysQueenProc, Analysis-
ModeProc, AnalyzeFileProc, AutobsProc, AutoflagProc,
AutosaveProc, BackwardProc, BellProc, BookProc, CallFlag-
Proc, DebugProc, DeclineProc, DrawProc, EditCommentProc,
EditGameProc, EditPositionProc, EditTagsProc, FlipView-
Proc, ForwardProc, GetMovesProc, HintProc, Iconify,
IcsClientProc, InfoProc, LoadGameProc, LoadNextGameProc,
LoadPositionProc, LoadPrevGameProc, MachineBlackProc,
MachineWhiteProc, MailMoveProc, ManProc, MoveNowProc,
NothingProc, OldSaveStyleProc, PauseProc, PeriodicUpdate-
sProc, QuietPlayProc, QuitProc, ReloadCmailMsgProc,
ReloadGameProc, ResetProc, ResignProc, RetractMoveProc,
RevertProc, SaveGameProc, SavePositionProc, ShowCoord-
sProc, ShowGameListProc, ShowThinkingProc, StopExamining-
Proc, StopObservingProc, ToEndProc, ToStartProc, Trun-
cateGameProc, and TwoMachinesProc.
OPTIONS
Most of the xboard options have both a long name and a
short name. To turn a boolean option on or off from the
command line, either give its long name followed by the
value True or False (-longOptionName True), or give just
the short name to turn the option on (-opt), or the short
name preceded by "x" to turn the option off (-xopt). For
options that take strings or numbers as values, you can
use the long or short option names interchangeably.
Each option corresponds to an X resource with the same
name, so you can set options in your .Xdefaults file if
you like. For options that have two names, the longer one
is the name of the corresponding X resource; the short
name is not recognized in .Xdefaults. To turn a boolean
option on or off in your .Xdefaults file, give its long
name followed by the value True or False (XBoard*longOp-
tionName: True).
Chess Engine Options
All of these options apply to both the GNU Chess and
Crafty chess engines.
GNU 1998/01/20 02:14:56 14
xboard(6)xboard(6)-tc or -timeControl minutes[:seconds]
Each player begins with his clock set to the time-
Control period. Default: 5 minutes. The addi-
tional options movesPerSession and timeIncrement
are mutually exclusive.
-mps or -movesPerSession moves
When both players have made movesPerSession moves,
a new timeControl period is added to both clocks.
Default: 40 moves.
-inc or -timeIncrement seconds
If this option is specified, movesPerSession is
ignored. Instead, after each player's move,
timeIncrement seconds are added to his clock. Use
-timeIncrement 0 if you want to require the entire
game to be played in one timeControl period, with
no increment. Default: -1, which specifies moves-
PerSession mode.
-clock or -clockMode
Determines whether or not to display the chess
clocks. If clockMode is False, the clocks are not
shown, but the side that is to play next is still
highlighted. Also, unless searchTime or
searchDepth is set, the chess engine still keeps
track of the clock time and uses it to determine
how fast to make its moves.
-st or -searchTime minutes[:seconds]
Tells the chess engine to spend at most the given
amount of time searching for each of its moves.
Without this option, the engine chooses its search
time based on the number of moves and amount of
time remaining until the next time control. Set-
ting this option also sets clockMode to False.
-sd or -searchDepth number
Tells the chess engine to look ahead at most the
given number of moves when searching for a move to
make. Without this option, the engine chooses its
search depth based on the number of moves and
amount of time remaining until the next time con-
trol. Setting this option also sets clockMode to
False.
-thinking or -showThinking
Sets the Show Thinking menu option. Default:
False.
-mm or -matchMode
Automatically runs a game between two chess pro-
grams. If the loadGameFile or loadPositionFile
option is set, xboard starts the game with the
GNU 1998/01/20 02:14:56 15
xboard(6)xboard(6)
given opening moves or the given position; other-
wise, the game starts with the standard initial
chess position. If the saveGameFile option is
set, a move record for the match is appended to
the specified file. If the savePositionFile
option is set, the final position reached in the
match is appended to the specified file. When the
match is over, xboard exits. Default: False.
-fcp or -firstChessProgram program
Name of first chess program. In matches between
two machines, this program plays Black. Default:
gnuchessx. To use Crafty, give the option as -fcp
"crafty xboard".
-scp or -secondChessProgram program
Name of second chess program, if needed. In
matches between two machines, this program plays
White; otherwise it is not started. Default:
gnuchessx. To use Crafty as the second chess pro-
gram, give the option as -scp "crafty xboard".
-fh or -firstHost host
-sh or -secondHost host
Hosts on which the chess programs are to run. The
default for each is localhost. If you specify
another host, xboard uses rsh(1) to run the chess
program there. (You can substitute a different
remote shell program for rsh using the remoteShell
option described below.)
-initString string
The string that is sent to initialize the chess
program. Default:
new
beep
random
hard
Setting this option from the command line is
tricky, because you must type in real newline
characters, including one at the end. In most
shells you can do this by entering a "\" character
followed by a newline. It is easier to set the
option from your .Xdefaults file; in that case you
can include the character sequence "\n" in the
string, and it will be converted to a newline.
If you change this option, don't remove the new
and beep commands. The new command is required by
all chess engines to start a new game; the beep
command is required to turn off the output of bell
characters from GNU Chess that break xboard.
You can remove the random command if you like;
GNU 1998/01/20 02:14:56 16
xboard(6)xboard(6)
including it causes GNU Chess to randomize its
move selection slightly so that it doesn't play
the same moves in every game. Even without ran-
dom, GNU Chess randomizes its choice of moves from
its opening book. Crafty ignores this command; it
randomizes by default.
You can also remove hard if you like; including it
causes GNU Chess to think on your time. Crafty
ignores this command; it thinks on your time by
default.
You can also try adding other commands to the
initString; see the GNU Chess or Crafty documenta-
tion for details.
-reuse or -reuseChessPrograms
If the option is False, xboard kills off the chess
program after every game and starts it again for
the next game. If the option is True (the
default), xboard starts the chess program only
once (twice in Two Machines mode) and uses it
repeatedly to play multiple games. Some chess
programs may not work properly when reuse is
turned on, such as versions of Crafty earlier than
12.0, but otherwise new games will start faster if
it is left on.
Internet Chess Server Options-ics or -internetChessServerMode
Connect with an Internet Chess Server to play
chess against its other users, observe games they
are playing, or review games that have recently
finished. Default: False.
-icshost or -internetChessServerHost host
The Internet host name or address of the chess
server to connect to when in ICS mode. Default:
chessclub.com. See the file ics-addresses in the
xboard source distribution for a list of other
addresses to try. If your site doesn't have a
working Internet name server, try specifying the
host address in numeric form. You may also need
to specify the numeric address when using the
icshelper option with timestamp or timeseal (see
below). At this writing, chessclub.com is
208.196.3.66 and ics.onenet.net is 164.58.253.10.
-icsport or -internetChessServerPort port-number
The port number to use when connecting to a chess
server in ICS mode. Default: 5000.
-icshelper or -internetChessServerHelper prog-name
An external helper program used to communicate
GNU 1998/01/20 02:14:56 17
xboard(6)xboard(6)
with the chess server. You would set it to
"timestamp" for ICC (chessclub.com) or "timeseal"
for FICS (fics.onenet.net, eics.daimi.aau.dk,
etc.), after obtaining the correct version of
timestamp or timeseal for your computer. See
"help timestamp" on ICC and "help timeseal" on
FICS. This option is shorthand for "-useTelnet
-telnetProgram program".
-telnet or -useTelnet
This option is pooly named; it should be called
useHelper. If set to True, it instructs xboard to
run an external program to communicate with the
Internet Chess Server. The program to use is
given by the telnetProgram option. If the option
is False (the default), xboard opens a TCP socket
and uses its own internal implementation of the
telnet protocol to communicate with the ICS. See
the FIREWALLS section below for an explanation of
when this option is useful.
-telnetProgram prog-name
This option is poorly named; it should be called
helperProgram. It gives the name of the telnet
program to be used with the gateway and useTelnet
options. The default is telnet. The telnet pro-
gram is invoked with the value of inter-
netChessServerHost as its first argument and the
value of internetChessServerPort as its second
argument. See the FIREWALLS section below for an
explanation of when this option is useful.
-gateway host-name
If this option is set to a host name, xboard com-
municates with the Internet Chess Server by using
rsh(1) to run the telnetProgram on the given host,
instead of using its own internal implementation
of the telnet protocol. You can substitute a dif-
ferent remote shell program for rsh with the
remoteShell option described below. See the FIRE-
WALLS section below for an explanation of when
this option is useful.
-internetChessServerCommPort or -icscomm dev-name
If this option is set, xboard communicates with
the ICS through the given character I/O device
instead of opening a TCP connection. Use this
option if your system does not have any kind of
Internet connection itself (not even a SLIP or PPP
connection), but you do have dialup access (or a
hardwired terminal line) to an Internet service
provider from which you can telnet to the ICS.
The support for this option in xboard is minimal.
GNU 1998/01/20 02:14:56 18
xboard(6)xboard(6)
You need to set all communication parameters and
tty modes before you enter xboard.
Use a script something like this:
stty raw -echo 9600 > /dev/tty00
xboard-ics -icscomm /dev/tty00
Here replace /dev/tty00 with the name of the
device that your modem is connected to. You might
have to add several more options to these stty
commands. See the man pages for stty(1) and
tty(4) if you run into problems. Also, on many
systems stty works on its standard input instead
of standard output, so you have to use "<" instead
of ">".
If you are using linux, try starting with the
script below. Change it as necessary for your
installation.
##################################################
#!/bin/sh -f
# configure modem and fire up xboard
# configure modem
( stty 2400 ; stty raw ; stty hupcl ; stty -clocal
stty ignbrk ; stty ignpar ; stty ixon ; stty ixoff
stty -iexten ; stty -echo ) < /dev/modem
xboard-ics -icscomm /dev/modem
##################################################
After you start xboard in this way, type whatever
commands are necessary to dial out to your Inter-
net provider and log in. Then telnet to ICS,
using a command like telnet chessclub.com 5000.
Important: See the paragraph in the LIMITATIONS
section below about extra echoes.
-icslogon or -internetChessServerLogonScript file-name
Whenever xboard connects to the Internet Chess
Server, if it finds a file with the name given in
this option, it feeds the file's contents to the
ICS as commands. The default file name is .icsrc.
Usually the first two lines of the file should be
your ICS user name and password. The file can be
either in $CHESSDIR, in xboard's working directory
if CHESSDIR is not set, or in your home directory.
-msLoginDelay delay
If you experience trouble logging onto an ICS
using the -icslogon option, inserting some delay
between characters of the login script may help.
GNU 1998/01/20 02:14:56 19
xboard(6)xboard(6)
This option inserts delay milliseconds of delay
per character. Good values to try are 100 and 250.
-icsinput or -internetChessServerInputBox
Sets ICS Input Box on the mode menu. Default:
False.
-autocomm or -autoComment
Sets the Auto Comment menu option. Default:
False.
-autoflag or -autoCallFlag
Sets the Auto Flag menu option. Default: False.
-autobs or -autoObserve
Sets the Auto Observe menu option. Default:
False.
-moves or -getMoveList
Sets the Get Move List menu option. Default:
True.
-quiet or -quietPlay
Sets the Quiet Play menu option. Default: False.
Default: False.
-colorizeMessages or -colorize
Setting colorizeMessages to True causes xboard to
colorize the messages received from the ICS. Col-
orization works only if your xterm supports ISO
6429 escape sequences for changing text colors.
-colorShout foreground,background,bold
-colorSShout foreground,background,bold
-colorChannel foreground,background,bold
-colorKibitz foreground,background,bold
-colorTell foreground,background,bold
-colorChallenge foreground,background,bold
-colorNormal foreground,background,bold
These options set the colors used when colorizing
ICS messages. All ICS messages are grouped into
one of these categories: shout, sshout, channel 1,
other channel, kibitz, tell, challenge, normal.
Each foreground or background argument can be one
of the following: black, red, green, yellow, blue,
magenta, cyan, white, or default. Here "default"
means the default foreground or background color
of your xterm. Bold can be 1 or 0. If background
is omitted, "default" is assumed; if bold is omit-
ted, 0 is assumed.
Here is an example of how to set the colors in
your .Xdefaults file. The colors shown here are
GNU 1998/01/20 02:14:56 20
xboard(6)xboard(6)
the default values; you will get them if you turn
-colorize on without specifying your own colors.
xboard*colorizeMessages: true
xboard*colorShout: green
xboard*colorSShout: green, black, 1
xboard*colorChannel1: cyan
xboard*colorChannel: cyan, black, 1
xboard*colorKibitz: magenta, black, 1
xboard*colorTell: yellow, black, 1
xboard*colorChallenge: red, black, 1
xboard*colorNormal: default
Load and Save Options-lgf or -loadGameFile file
-lgi or -loadGameIndex index
If the loadGameFile option is set, xboard loads
the specified game file at startup. The file name
"-" specifies the standard input. If there is
more than one game in the file, xboard pops up a
menu of the available games, with entries based on
their PGN (portable game notation) tags. If the
loadGameIndex option is set to N, the menu is sup-
pressed and the Nth game found in the file is
loaded immediately. The menu is also suppressed
if matchMode is enabled or if the game file is a
pipe; in these cases the first game in the file is
loaded immediately. Use the pxboard shell script
if you want to pipe files containing multiple
games into xboard and still see the menu.
-td or -timeDelay seconds
Time delay between moves during LoadGame. Frac-
tional seconds are allowed; try -td 0.4. A time
delay value of -1 tells xboard not to step through
game files automatically. Default: 1 second.
-sgf or -saveGameFile file
If this option is set, xboard appends a record of
every game played to the specified file. The file
name "-" specifies the standard output.
-autosave or -autoSaveGames
Sets the Auto Save menu option. Ignored if saveG-
ameFile is set. Default: False.
-lpf or -loadPositionFile file
-lpi or -loadPositionIndex index
If the loadPositionFile option is set, xboard
loads the specified position file at startup. The
file name "-" specifies the standard input. If
the loadPositionIndex option is set to N, the Nth
position found in the file is loaded; otherwise
the first position is loaded.
GNU 1998/01/20 02:14:56 21
xboard(6)xboard(6)-spf or -savePositionFile file
If this option is set, xboard appends the final
position reached in every game played to the spec-
ified file. The file name "-" specifies the stan-
dard output.
-oldsave or -oldSaveStyle
Sets the Old Save Style menu option. Default:
False.
User Interface Options
standard Xt options
xboard accepts standard Xt options like -display,
-geometry, and -iconic.
-bell or -ringBellAfterMoves
Sets the Bell menu option. Default: False.
-queen or -alwaysPromoteToQueen
Sets the Always Queen menu option. Default:
False.
-legal or -testLegality
Sets the Test Legality menu option. Default:
True.
-size or -boardSize (Large | Medium | Small |
Tiny | n1,n2,n3,n4,n5,n6)
Determines how large the board will be. The Large
board uses 80x80 pieces, Medium 64x64, Small
40x40, and Tiny 21x21. Piece bitmaps of all these
sizes are built into xboard. The default depends
on the size of your screen; it is approximately
the largest size that will fit without clipping.
You can select other sizes or vary other layout
parameters by providing a list of comma-separated
values (with no spaces) as the argument. The n1
value gives the piece size, n2 the width of the
black border between squares, n3 the preferred
pixel size for the clockFont, n4 the preferred
pixel size for the coordFont, n5 the smallLayout
flag (0 or 1), and n6 the tinyLayout flag (0 or
1). If smallLayout is 1 and titleInWindow is
True, the window layout is rearranged to make more
room for the title. If tinyLayout is 1, the
labels on the menu bar are abbreviated to one
character each, the buttons in the button bar are
made narrower, and a smaller default font is used.
You do not need to provide all the values; for any
you omit from the end of the list, defaults are
taken from the nearest built-in size.
GNU 1998/01/20 02:14:56 22
xboard(6)xboard(6)-coords or -showCoords
Sets the Show Coords menu option. Default: False.
The coordFont option specifies what font to use.
-flip or -flipView
If you are playing a game on the ICS, the board is
always oriented at the start of the game so that
your pawns move from the bottom of the window
towards the top. Otherwise, the starting orienta-
tion is determined by the flipView option; if it
is False (the default), White's pawns move from
bottom to top at the start of each game; if it is
True, Black's pawns move from bottom to top.
-title or -titleInWindow
If this option is True, xboard displays player
names (for ICS games) and game file names (for
Load Game) inside its main window. If the option
is False (the default), this information is dis-
played only in the window banner. You probably
won't want to set this option unless the informa-
tion is not showing up in the banner, as happens
with a few X window managers.
-mono or -monoMode
Determines whether xboard displays its pieces and
squares with two colors (True) or four (False).
You shouldn't have to specify monoMode; xboard
will determine if it is necessary.
-borderXoffset
-borderYoffset
These options are part of a kludge that helps
position the Comment and Edit Comment windows in
the same place on the screen when they are closed
and reopened. They should be set equal to the
width and height of the borders that your X window
manager adds to windows when it displays them.
The defaults are correct for tvtwm(1).
-flashCount count
-flashRate rate
These options enable flashing of pieces when they
land on their destination square. flashCount
tells XBoard how many times to flash a piece after
it lands on its destination square. flashRate
controls the rate of flashing (flashes/sec).
Defaults:
flashCount = 0 (No flashing)
flashRate = 5
Here's an example of how to specify these options
in your .Xdefaults file:
GNU 1998/01/20 02:14:56 23
xboard(6)xboard(6)
xboard*flashCount: 3
xboard*flashRate: 5
-clickClick or -click
With this option, you move pieces by clicking once
on the piece and then once on the destination
square. Without this option, xboard defaults to
the click-drag-release behavior. Here's an exam-
ple of how to specify this option in your .Xde-
faults file:
xboard*clickClick: True
-clockFont
The font used for the clocks. If the option value
is a pattern that does not specify the font size,
xboard tries to choose an appropriate font for the
board size being used. Default: -*-helvetica-
bold-r-normal--*-*-*-*-*-*-*-*.
-coordFont
The font used for rank and file coordinate labels
if showCoords is True. If the option value is a
pattern that does not specify the font size,
xboard tries to choose an appropriate font for the
board size being used. Default: -*-helvetica-
bold-r-normal--*-*-*-*-*-*-*-*.
-font The font used for popup dialogs, menus, comments,
etc. If tinyLayout is true (e.g., if "-size Tiny"
is specified), the default is -*-helvetica-medium-
r-normal--11-*-*-*-*-*-*-*. Otherwise, the
default is -*-helvetica-medium-r-nor-
mal--14-*-*-*-*-*-*-*.
-bitmapDirectory or -bm
By default, xboard uses a set of compiled-in
bitmaps for its pieces, icons, and menu checkmark.
If the bitmapDirectory option is set at runtime,
bitmaps are taken from files in the specified
directory. If any bitmap file is missing or unus-
able, xboard looks for a built-in bitmap of the
required type and size instead.
Files in the bitmapDirectory must be named as fol-
lows: The first character of a piece bitmap name
gives the piece it represents (p, n, b, r, q, or
k), the next characters give the size in pixels,
the following character indicates whether the
piece is solid or outline (s or o), and the exten-
sion is ".bm". For example, a solid 80x80 knight
would be named "n80s.bm". The outline bitmaps are
used only in monochrome mode. The icons are named
GNU 1998/01/20 02:14:56 24
xboard(6)xboard(6)
"icon_white.bm" and "icon_black.bm", and the menu
checkmark is named "checkmark.bm".
Two sets of bitmaps are distributed with xboard.
Those in the directory bitmaps are normally com-
piled in as the default. Those in the
bitmaps.xchess directory can be selected at run-
time with the bitmapDirectory option. If you want
to compile in the latter set as the default,
rename the bitmaps directory to "bitmaps.fselch"
and the bitmaps.xchess directory to "bitmaps";
then recompile xboard. If you want to add another
compiled-in size, edit the bitmaps.h file in the
bitmaps directory, and optionally edit xboard.h to
associate a name and default layout parameters
with your new size.
-xpmDirectory or -xpm
Instead of bitmaps, xboard can use X pixmaps as
its piece images. If the xpmDirectory option is
set, pixmaps are taken from files in the specified
directory. The directory may contain multiple
sizes of pieces. xboard will choose the closest
based either on screen size or on the size option.
You can import pieces from the ZIICS distribution
by using the zic2xpm program to convert them to
pixmaps. ZIICS provides a large number of piece
sets to choose from. Here's how to import them:
1) Download the ZIICS distribution. It is avail-
able from
ftp://ftp.onenet.net/pub/chess/DOS/ziics131.exe
2) Unzip it into a directory, for example:
unzip -L ziics131.exe -d ~/ziics
3) Pick a chess set you want to use, for example
the FRITZ4 set. Create a directory to hold the
pieces, then run the zic2xpm program to create the
pieces:
mkdir ~/fritz4
cd ~/fritz4
zic2xpm ~/ziics/fritz4.*
(The zic2xpm program is in the directory where
xboard was compiled, in case you didn't do a make
install.)
4) Now, just add the -xpm option when you start
xboard:
GNU 1998/01/20 02:14:56 25
xboard(6)xboard(6)xboard-xpm ~/fritz4 (... other options ...)
Or, even easier, just add this to your .Xdefaults
file:
xboard*xpmDirectory: ~/fritz4
Now you don't have to give the -xpm option every
time.
-whitePieceColor
-blackPieceColor
-lightSquareColor
-darkSquareColor
Colors to use for the pieces and squares.
Defaults:
-whitePieceColor #FFFFCC
-blackPieceColor #202020
-lightSquareColor #C8C365
-darkSquareColor #77A26D
If you are using a grayscale monitor, try setting
the colors to:
-whitePieceColor gray100
-blackPieceColor gray0
-lightSquareColor gray80
-darkSquareColor gray60
Other Options-ncp or -noChessProgram
If this option is True, xboard acts as a passive
chessboard; it does not start a chess program at
all. Turning on this option also turns off clock-
Mode. Default: False.
-debug or -debugMode
Turns on debugging printout.
-rsh or -remoteShell shell-name
Name of the command used to run programs remotely.
The default is rsh or remsh, determined when
xboard is configured and compiled.
-ruser or -remoteUser user-name
User name on the remote system when running pro-
grams with the remoteShell. The default is your
local user name.
ANALYSIS MODES
If you are using the chess program Crafty (version 9.25 or
above), you can use xboard to analyze your games. See the
section titled GETTING CRAFTY for more information on
obtaining and installing Crafty. There are a few ways to
GNU 1998/01/20 02:14:56 26
xboard(6)xboard(6)
analyze:
Analyzing a stored game (PGN, etc): Choose Analyze File
from the Mode Menu. Type the name of the file you
wish to load. If the file contains multiple games,
another popup will appear to let you choose which
game you want to analyze. Use the arrow buttons to
move through the game and watch Crafty's analysis.
Setting up a position to analyze Choose Edit Position
from the Mode Menu. Edit the board (the right and
middle mouse buttons bring up the black/white piece
menus). When finished editing, click on either the
White or Black clock to tell xboard whose turn it is
to move. Choose Analysis Mode from the Mode Menu.
Watch the analysis, move pieces around, etc.
Analyzing a new game If you want to start a new analysis
from a fresh board, choose Reset Game from the File
Menu, then choose Analysis Mode from the Mode Menu.
Now you can move pieces around and watch Crafty's
analysis.
GETTING CRAFTY
Crafty is a strong, rapidly evolving chess program. This
rapid pace of development is good, because it means Crafty
is always getting better. However, this can also cause
problems with backwards compatibility.
To make life easier for the user, and also for the xboard
developers, an "xboard-supported" version of Crafty is
being provided. This version of Crafty includes some
important changes that make it work better with xboard.
You can get more information on it from either:
http://fly.hiwaay.net/~frankm/crafty.html
Or, if you don't have HTTP access:
ftp://gw2.maf.mobile.al.us/frankm/crafty/README
You can of course always grab Bob Hyatt's latest official
version from:
ftp://ftp.cis.uab.edu/hyatt/crafty.tar.gz
But please be aware of the caveats mentioned on the Web
page before reporting "bugs" to the xboard developers.
FIREWALLS
By default, xboard-ics communicates with an Internet
Chess Server by opening a TCP socket directly from the
machine it is running on to the ICS. If there is a fire-
wall between your machine and the ICS, this won't work.
GNU 1998/01/20 02:14:56 27
xboard(6)xboard(6)
Here are some recipes for getting around common kinds of
firewalls using special options to xboard. Important: See
the paragraph in the LIMITATIONS section below about extra
echoes.
Suppose that you can't telnet directly to ICS, but you can
telnet to a firewall host, log in, and then telnet from
there to ICS. Let's say the firewall is called
fire.wall.com. Set command-line options as follows:
xboard-ics -icshost fire.wall.com -icsport 23
Or in your .Xdefaults file:
XBoard*internetChessServerHost: fire.wall.com
XBoard*internetChessServerPort: 23
Then when you run xboard in ICS mode, you will be prompted
to log in to the firewall host. (This works because port
23 is the standard telnet login service.) Log in, then
telnet to ICS, using a command like telnet chessclub.com
5000, or whatever command the firewall provides for tel-
netting to port 5000.
If your firewall lets you telnet (or rlogin) to remote
hosts, but doesn't let you telnet to port 5000, you will
have to find some other host outside the firewall that
does let you do this, and hop through it. For instance,
suppose you have an account at foo.edu. Follow the recipe
above, but instead of typing telnet chessclub.com 5000 to
the firewall, type telnet foo.edu (or rlogin foo.edu), log
in there, and then type telnet chessclub.com 5000.
Exception: chessclub.com itself lets you connect to the
chess server on the default telnet port (23), which is
what you get if you don't specify a port to the telnet
program. But the other chess servers don't allow this.
Suppose that you can't telnet directly to ICS, but you can
use rsh to run programs on a firewall host, and that host
can telnet to ICS. Let's say the firewall is called
rsh.wall.com. Set command-line options as follows:
xboard-ics -gateway rsh.wall.com -icshost chessclub.com
Or in your .Xdefaults file:
XBoard*gateway: rsh.wall.com
XBoard*internetChessServerHost: chessclub.com
Then when you run xboard in ICS mode, it will connect to
the ICS by using rsh to run the command telnet chess-
club.com 5000 on host rsh.wall.com.
GNU 1998/01/20 02:14:56 28
xboard(6)xboard(6)
Suppose that you can telnet anywhere you want, but you
have to run a special program called ptelnet to do so.
First, we'll consider the easy case, in which ptelnet
chessclub.com 5000 gets you to the chess server. In this
case set command line options as follows:
xboard-ics -telnet -telnetProgram ptelnet
Or in your .Xdefaults file:
XBoard*useTelnet: true
XBoard*telnetProgram: ptelnet
Then when you run xboard in ICS mode, it will issue the
command ptelnet chessclub.com 5000 to connect to the ICS.
Next, suppose that ptelnet chessclub.com 5000 doesn't
work; that is, your ptelnet program doesn't let you con-
nect to alternative ports. In this case, you will have to
find some other host outside the firewall that does let
you do this, and hop through it. For instance, suppose
you have an account at foo.edu. Set command line options
as follows:
xboard-ics -telnet -telnetProgram ptelnet -icshost foo.edu -icsport ""
Or in your .Xdefaults file:
XBoard*useTelnet: true
XBoard*telnetProgram: ptelnet
XBoard*internetChessServerHost: foo.edu
XBoard*internetChessServerPort:
Then when you run xboard in ICS mode, it will issue the
command ptelnet foo.edu to connect to your account at
foo.edu. Log in there, then type telnet chessclub.com
5000.
ICC timestamp and FICS timeseal generally do not work
through firewalls. You can use them only if your firewall
gives a clean TCP connection with a full 8-bit wide path.
If your firewall allows you to get out only by running a
special telnet program, you can't use timestamp or time-
seal across it. But if you have access to a computer just
outside your firewall, and you have much lower netlag when
talking to that computer than to the ICS, it might be
worthwhile running timestamp there. Follow the instruc-
tions above for hopping through a host outside the fire-
wall (foo.edu in the example), but run timestamp or time-
seal on that host instead of telnet.
GNU 1998/01/20 02:14:56 29
xboard(6)xboard(6)ENVIRONMENT
Game and position files are found in the directory named
by the CHESSDIR environment variable. If this variable is
not set, the current working directory is used. If CHESS-
DIR is set, xboard actually changes its working directory
to $CHESSDIR, so any files written by the chess engine
will be placed there too.
SEE ALSOgnuchess(6), cmail(6).
LIMITATIONS
There is no way for two people running copies of xboard to
play each other without going through the Internet Chess
Server.
Under some circumstances, your ICS password may be echoed
when you log on.
If you are connecting to the ICS by running telnet, times-
tamp, or timeseal on an Internet provider or firewall
host, you may find that each line you type is echoed back
an extra time after you hit Return. If your Internet
provider is a Unix system, you can probably turn its echo
off by typing stty -echo after you log in, and/or typing
^E-Return (control-E followed by the Return key) to the
telnet program after you have logged into ICS. It is a
good idea to do this if you can, because otherwise the
extra echo can occasionally confuse xboard's parsing rou-
tines.
The game parser recognizes only algebraic notation.
The internal move legality tester does not look at the
game history, so in some cases it misses illegal castling
or en passant captures. It permits castling with the king
on the d file because this is possible in some "wild 1"
games on ICS. However, if you attempt an illegal move
when using a chess engine or the ICS, xboard will accept
the error message that comes back, undo the move, and let
you try another.
FEN positions saved by xboard do not include correct
information about whether castling or en passant are
legal.
The mate detector does not understand that non-contact
mate is not really mate in bughouse. The only problem
this causes while playing is minor: a "#" (mate indicator)
character will show up after a non-contact mating move in
the move list. xboard will not assume the game is over at
that point.
Edit Game mode always uses non-bughouse rules. Although
GNU 1998/01/20 02:14:56 30
xboard(6)xboard(6)
you can load and edit games that contain piece drops, the
piece menus are not active, so you cannot insert piece
drops. Also, xboard thinks an edited game is over when a
mating move is inserted, even if the mate is non-contact.
Some xboard functions may not work with versions of GNU
Chess earlier than 4.0, patchlevel 73, or with versions of
Crafty earlier than 12.0. A few functions work with GNU
Chess but not Crafty, or vice versa.
The menus may not work if your keyboard is in Caps Lock
mode. This seems to be a problem with the Athena menu
widget.
REPORTING PROBLEMS
Report bugs and problems with xboard to <bug-gnu-
chess@prep.ai.mit.edu>. Please use the script(1) program
to start a typescript, run xboard with the -debug option,
and include the typescript output in your message. Also
tell us what kind of machine and what operating system
version you are using. The command "uname -a" will often
tell you this. Here is a sample of approximately what you
should type:
script
uname -a
./configure
make
./xboard -debug
exit
mail bug-gnu-chess@prep.ai.mit.edu
Subject: problem with foobaz command in XBoard
Description of the problem
~r typescript
.
If you improve xboard, please send a message about your
changes to bug-gnu-chess, and we will get in touch with
you about merging them in to the main line of development.
AUTHORS AND CONTRIBUTORS
Tim Mann has been responsible for xboard versions 1.3 and
beyond, and for WinBoard, a port of xboard to Microsoft
Win32 (Windows NT and Windows 95). Chris Sears and Dan
Sears wrote the original xboard; they were responsible for
versions 1.0 through 1.2.
Frank McIngvale added -clickClick mode, the Analysis
modes, piece flashing, ZIICS import, and ICS text col-
orization. Jochen Wiedmann ported xboard to the Amiga,
creating AmyBoard, and converted the documentation to tex-
info. Elmar Bartel contributed the new piece bitmaps for
version 3.2. Evan Welsh wrote cmail. John Chanak con-
tributed the initial implementation of ICS mode. The
GNU 1998/01/20 02:14:56 31
xboard(6)xboard(6)
color scheme and the old 80x80 piece bitmaps were taken
from Wayne Christopher's XChess program.
COPYRIGHT
Copyright 1991 by Digital Equipment Corporation, Maynard,
Massachusetts. Enhancements Copyright 1992-95 Free Soft-
ware Foundation, Inc.
XBoard's alternative piece bitmaps (bitmaps.xchess) are
derived from the bitmaps in the XChess program, which was
written and is copyrighted by Wayne Christopher.
The following terms apply to Digital Equipment Corpora-
tion's copyright interest in XBoard:
All Rights Reserved
Permission to use, copy, modify, and distribute
this software and its documentation for any purpose
and without fee is hereby granted, provided that
the above copyright notice appear in all copies and
that both that copyright notice and this permission
notice appear in supporting documentation, and that
the name of Digital not be used in advertising or
publicity pertaining to distribution of the soft-
ware without specific, written prior permission.
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO
THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL DIG-
ITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSE-
QUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULT-
ING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
ACTION, ARISING OUT OF OR IN CONNECTION WITH THE
USE OR PERFORMANCE OF THIS SOFTWARE.
The following terms apply to this enhanced version of
XBoard distributed by the Free Software Foundation:
This program is free software; you can redistribute
it and/or modify it under the terms of the GNU Gen-
eral Public License as published by the Free Soft-
ware Foundation; either version 2 of the License,
or (at your option) any later version.
This program is distributed in the hope that it
will be useful, but WITHOUT ANY WARRANTY; without
even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Gen-
eral Public License for more details.
You should have received a copy of the GNU General
Public License along with this program; if not,
GNU 1998/01/20 02:14:56 32
xboard(6)xboard(6)
write to the Free Software Foundation, Inc., 59
Temple Place - Suite 330, Boston, MA 02111-1307,
USA.
ZIICS is a separate Copyrighted work of Andy McFarland
(Zek on ICC). Use of ZIICS falls under the ZIICS license,
not the GPL.
GNU 1998/01/20 02:14:56 33