Blame | Last modification | View Log | Download | RSS feed
command synopsis!command....................... passes command to a shell.adaptive NPS a b c d........... enables adaptive hash mode.alarm on|off................... turns audible alarm on/off.analyze........................ analyze a game in progress.annotate....................... annotate gamebatch on|off................... on disables async I/O for batch file usagebench.......................... runs performance benchmark.black.......................... sets black to move.book........................... controls bookcache=n........................ sets tablebase cache size.clock.......................... displays/adjusts chess clock times.display........................ displays chess board.display [n].................... sets display optionsdraw accept|decline............ decline always declines.draw offer|nooffer............. nooffer never offers a draw.echo........................... echos output to display.edit........................... edit board position.egtb........................... enables endgame database probes.epdhelp........................ info about EPD facility.end............................ terminates program.evaluation..................... adjust evaluation terms.exit........................... restores STDIN to keyboard.force move..................... forces specific move.hash n......................... sets transposition table size.(n bytes, nK bytes or nM bytes).hashp n........................ sets pawn hash table size.history........................ display game moves.import filename................ imports learning data (.lrn files).info........................... displays program settings.input filename................. sets STDIN to filename, reverts back on exit.kibitz n....................... sets kibitz mode n on ICS.learn n|clear.................. enables/disables learning (100 = default).clear clears all learned informationlevel moves time inc........... sets ICS time controls.linelength n................... sets line length to n. A really large valuewill produce 1 line PVs, making parsing easierlist........................... update/display GM/IM/computer lists.load file title................ load a position from problem file, startingwith line containing title, ending on exit.log on|off..................... turn logging on/off.mode normal|tournament......... toggles tournament mode.move........................... initiates search (same as go).name........................... sets opponent's name.new............................ initialize and start new game.noise n........................ no status until n nodes searched.operator seconds............... sets operator time per move.output long|short.............. sets move display format to long or SANperf........................... times the move generator/make_move.perft.......................... tests the move generator/make_move.personality save|load fn....... saves/loads a personality file.pgn option value............... set PGN header information.phash n........................ sets path hash table size.ponder on|off.................. toggle pondering off/on.ponder move.................... ponder "move" as predicted move.rating a b..................... sets Crafty rating to a, opponent to b(affects draw score/contempt)read [filename]................ read moves in (from [filename] if given.)reada [filename]............... read moves in (from [filename]]) and append.(appends to current game history.)reset n........................ reset game to move n.resign......................... ends current game recording Crafty as winner.resign m n..................... set resign threshold to m pawns.n = # of moves before resigning.savegame [filename]............ saves game in PGN format (to filename).savepos [filename]............. saves position in FEN string (to filename).score.......................... print evaluation of position.sd n........................... sets absolute search depth.search move.................... search specified move only.selective min max.............. set null move depths.setboard FEN................... sets board position to FEN position.settc.......................... set time controls.show book...................... toggle book statistics.skill n........................ set skill level to nsmpgroup....................... sets max threads allowed at one node.smpmin......................... sets min remaining depth to split search.smpmt.......................... sets number of thread (CPUS) to use.smpnice........................ sets kill or keep threads.smproot........................ sets whether or not to split at root.smpsn.......................... sets min nodes before a new thread can splitsn n........................... sets absolute search node limit.speech on|off.................. enables (disables) audio output.st n........................... sets absolute search time.store val...................... stores position/score (position.bin).swindle on|off................. enables/disables swindle mode.tags........................... list PGN header tags.test file [N].................. test a suite of problems.time........................... time controls.timebook....................... out of book time adjustmenttrace n........................ display search tree below depth n.usage percentage............... adjusts Crafty's time usage up or down.whisper n...................... sets ICS whisper mode n.white.......................... sets white to move.wild n......................... sets ICS wild position (7 for now).xboard......................... sets xboard compatibility mode.Type "help command" to see more detailed help information, if it isavailable. Note that help is not available for all possible commands.<end><analyze>The analyze command puts Crafty into a mode where it will search foreverin the current position. When a move is entered, crafty will make thatmove, switch sides, and again compute, printing analysis as it searches.You can back up a move by entering "back" or you can back up severalmoves by entering "back n". Note that n is the number of moves, countingeach player's move as one (ie n plies, not n full moves).<end><annotate>annotate[h|t] filename side moves margin time [n]Filename is the input file with game moves, while the output will bewritten to filename.can. The input file is PGN-compatible with oneaddition, the ability to request that alternative moves also beanalyzed at any point. To do this at the point where you havealternative moves, simply include them in braces {move1, move2},and Crafty will then search them also.Side can be b/w/bw to indicate whether to annotate only the whiteside (w), the black side (b) or both (bw). Side can also be theplayers name, where Crafty will then use the players name and thePGN tags to discover which you want the annotation done for.Moves indicates which moves to annotate. A single value says startat the indicated move and go through the entire game. A range (20-30)annotates the given range only.Margin is the difference between the search value for the move playedin the game, and the best move crafty found, before a comment isgenerated (pawn=1.0).Time is the time limit per move in seconds.If the optional "n" is appended, this produces N best moves/scores/PV's,rather than just the very best move. It won't display any move thatis worse than the actual game move played, but you can use -N to forceCrafty to produce N PV's regardless of how bad they get.Using 'annotateh' produces an HTML file with bitmapped board displayswhere analysis was displayed.Using "annotatet" will cause the output to be written in a LaTex (.tex)format.<end><book>You can use the following commands to customize how the program usesthe opening book(book.bin and books.bin). Typically, book.bin containsa large opening database made from GM games. Books.bin is a short,customized book that contains selected lines that are well-suited toCrafty's style of play. The flags can further refine how this smallbook file is used to encourage/avoid specific lines.binfile create filename [maxply] [mp] [wpc]This command creates a new book by first removing the old binary file.it then will parse filename and add the moves to the binary bookfilename given as binfile.maxply is the max length of book moves stored from any single PGNgame in the input file.mp means a particular move must appear in at least that many gamesto be stored in the book file.wpc is the relative winning percentage. 50 means exclude any book movethat doesn't have at least 50% as many wins as losses.book mask accept charsSets the accept mask to the flag characters in chars (see flags below.)Any flags set in this mask will include either (a) moves with the flagset, or (b) moves with no flags set.book mask reject charsSets the reject mask to the flag characters in chars (see flags below.)Any flags set in this mask will reject any moves with the flag set (inthe opening book.)book off turns the book completely off.book random 0|1 disables/enables randomness. Book random 0 takes the setof book moves and searches them for about 1/10th of the normal search timeand lets the search choose which move to play. Any move not in the bookfile will not be considered or played.bookw weight vSets weight for book ordering. (Weights are freq (frequency), eval(evaluation) and learn (learned scores).book width nSpecifies how many moves from the sorted set of book moves are to beconsidered. 1 produces the best move from the set, but provides littlerandomness. 99 includes all moves in the book move set.Flags are one (or more) members of the following set of characters: {?? ?= ! !! 0 1 2 3 4 5 6 7 8 9 A B C D E F} Normally, ?? means never play, ?means rarely play, = means drawish opening, ! means good move, !! meansalways play, and 0-F are user flags that a user can add to any move in thebook, and by setting the right mask (above) can force the program to eitheralways play the move or never play the move. The special character * meansall flags and is probably dangerous to use. Flags are added to a move byentering the move and a / or \ followed by the flags. / means add the flagsto the move preserving other flags already there while \ means replace anyflags with those following the \.The format of the book text (raw data) is as follows:[title information] (required)1. e4 e5 2. Nf3 Nc6 3. ... (a sequence of moves)[title information for next line] (required)1. e4 e6 ...end (optional)<end><clock>clock crafty-time [opponent-time]clock is primarily intended to be used in a computer chess tournamentwhere the games are played on a real chess board using a real chessclock, rather than through some automatic interface that manages thetime automatically.crafty-time is the amount of time left on Crafty's clock, expressed inminutes, or in hh:mm format. Crafty will convert this to its internalrepresentation correctly.opponent-time is the amount of time left on the opponent's clock,expressed in the same way. This is option and is not required asCrafty does not use this information during the game although itdoes keep up with it.After entering this command, you should probably type "clock" to besure things look correct.Note that the "operator" command sets a time per move overhead for theoperator, and that this affects the actual time used as expected. IE inthe above clock setting, assuming the operator has allowed 10 seconds permove, crafty will "hide" 35 * 10 seconds and not use it for searching, whichgives the operator time to actually make the moves and press the real clockbutton. It is CRITICAL that the clock command be used from time to time tokeep Crafty's internal clock in sync with the real clock. If you use theoperator command, the clock value should match the real chess clock exactly,if you choose to not use the operator time and fudge the chess clock timeyourself, that will work as well, but it is more prone to errors.<end><display>display changes -> display variation when it changes.display extstats -> display search extension statistics.display general -> display general info messages.display hashstats -> display search hashing statistics.display movenum -> display move numbers in PV.display moves -> display moves as they are searched.display movelist -> display move list after each iteration.display ply1 -> display ply-1 move list/sorting info.display stats -> display basic search statistics.display time -> display time for moves.display variation -> display variation at end of iteration.<end><evaluation>evaluation item# value [value ... value]The evaluation command allows you to change specific evaluationnumbers when you want. The first thing you should do is type"evaluation list" to show all the possible values. The formatlooks like this when displayed:White(1): evaluation list------------piece values--------------------1 pawn value 1002 knight value 3003 bishop value 3004 rook value 5005 queen value 900------------evaluation scale factors--------11 blocked pawn scale factor 10012 king safety asymmetry -2013 king safety scale factor 10014 king safety tropism scale factor 10015 passed pawn scoring scale factor 10016 pawn scoring scale factor 10017 bad trade bonus/penalty 120------------pawn evaluation-----------------21 eight pawns penalty 1022 center pawn blocked 1223 center pawn unmoved 1624 pawn duo 225 protected passed pawn wins 5026 pawn weak (one pawn blocking) 1227 pawn weak (two pawns blocking) 20The first number is the evaluation term ID #. To change thevalue of a pawn from the default 100 to 50, you would typethe following command:eval 1 50Crafty will display this:White(1): eval 1 50pawn value old:100 new:50And now pawns are worth 1/2 of what they were prior to thecommand. Note that unless you specifically save the settingwith the "personality save" command, once you exit Craftythe pawn value will return to 100 the next time you start itup. You can, of course, put such commands in the .craftyrc/crafty.rc file, but it is simpler to use the personalitycommand instead (type "help personality" for more information).Note that some evaluation terms have a list of numbers as theyare indexed by something. When you change one of these terms,you must give _exactly_ the correct number of values, or thecommand will produce an error without changing anything.Some of the values are 8 X 8 matrices of values, where thevalues correspond to the chess board as viewed with squarea1 on the bottom left. You must type the values in in orderas they appear on the screen. Crafty will shift things asneeded. IE for a piece/square table for knights, the firstvalue displayed is for a8, so the first value you enter mustalso be for a8. Many of these matrices have black/whitecounter-parts. You enter the white values, Crafty willmirror those to reflect the _same_ values but from the blackside of the board. This will be done automatically.Non 8 X 8 matrices are just dumped in order from element zeroto N. You enter those the same way. IE the way it prints themout is the way you enter them, reading from top-to-bottom, andleft-to-right.If you come up with an interesting personality, feel free to makeit available to everyone, and if it is particularly attractive, itcan become part of the "distributed" crafty personalities once thishas been released.<end><lists>list name +name -name ...The lists are as follows:AK Auto-Kibitz list. If crafty plays any opponent named in this listwhile playing on a chess server, it will kibitz the usual analysis asthe game is played. Not advised for human opponents as they do notlike the "noise".B Blocker list. If you notice a player repeatedly trying to block theposition to get easy draws, put his name in this list. Players in thislist get special "anti-human" scoring turned up louder than usual tocombat this strategy.C Computer list. This is not needed on ICC as xboard/winboard bothtell crafty it is playing a computer opponent. However, if your GUIdoes not do this, you can put the name of the computer opponents youfrequently play in this list and if the GUI sends the "name" commandproperly, crafty will figure out that it is playing a computer.GM/IM lists are obvious. This identifies players that are strongenough that Crafty should resign or offer draws sooner than normal,rather than hoping for a blunder in lost or drawn positions.SP Special Player list. Names in this list can be used to specifya unique opening book (to replace books.bin, not book.bin) for thisparticular opponent, as well as specifying a personality file to userather than the default crafty.cpf. The format of this particularlist is:list SP +name [book=filename] [personality=filename]<end><mode>This command influences how the book is used.mode normal is the default.mode tournament tells crafty to behave differently while in book.Specifically, when it is pondering, it generates all of the opponentmoves and looks them up in the opening book. If it finds a bookreply, it eliminates that opponent move from the list. It then doesa 1/10th normal time search for the opponent, but ONLY considers thosemoves it did not have a book reply for. It then takes the result ofthat search and ponders that move, so that hopefully if the opponentplays a move not in our book, we will already be thinking.The more useful place, however, is where we play a book move that takesthe opponent out of book, and he spends a significant amount of timethinking and plays a pretty obvious move. Since we ponder the best moveof his that we don't have a book move for, we have a good chance ofpondering the right move and saving time on our clock.<end><personality>personality load|save filenameperspath path-to-personality-directoryCrafty "personality" files (.cpf files) contain information thataffects three components of Crafty.You can use the "selective" command to adjust the null-move R (minand max) values. The default values are 2 and 3, and reducing themwill reduce Crafty's playing strength to some fairly significantdegree.You can use the "extension" command to adjust the search extensionvalues. Reducing these will "dumb down" the search and make craftytactically (but not positionally) weaker. They can be set all theway down to 0.00 if you choose.You can use the evaluation command to adjust some global evaluationweights (ie turn down total pawn scoring, or king safety, etc.) oryou can use this command to adjust individual scoring values, fromthe value of pieces, to specific scoring terms for each piece suchas the value of a doubled pawn or whatever.Once you find settings you like, you can use "personality savefilename" to save all of the above settings in one file. Later youcan use "personality load filename" to restore those settings priorto playing a game.One final note is that you can save to the specific file "crafty.cpf"and your settings will become the _default_ each time you startCrafty, until you either remove the file, load another personality,or save a new default personality.You can have as many different personality files as you want, and tokeep them from getting jumbled up, you can put them in a separatedirectory and add the "perspath" to your .craftyrc/crafty.rc file topoint Crafty to the directory where the personality files belong.<end><settc>settc moves crafty-time opponent-timesettc is primarily intended to be used in a computer chess tournamentwhere the games are played on a real chess board using a real chessclock, rather than through some automatic interface that manages thetime automatically.moves is the number of moves left to the next time control from Crafty'sperspective. IE if the time control is 60 moves in 120 minutes (a normaltime control for the WCCC) and crafty has actually made 25 moves in thecurrent game, then the correct "moves" value would be 35, as there areexactly 35 moves to be made before the next time control is reached.crafty-time is the amount of time left on Crafty's clock, expressed inminutes, or in hh:mm format. Crafty will convert this to its internalrepresentation correctly.opponent-time is the amount of time left on the opponent's clock,expressed in the same way.After entering this command, you should probably type "clock" to besure things look correct.Note that the "operator" command sets a time per move overhead for theoperator, and that this affects the actual time used as expected. IE inthe above clock setting, assuming the operator has allowed 10 seconds permove, crafty will "hide" 35 * 10 seconds and not use it for searching, whichgives the operator time to actually make the moves and press the real clockbutton. It is CRITICAL that the clock command be used from time to time tokeep Crafty's internal clock in sync with the real clock. If you use theoperator command, the settc value should match the real chess clock exactly,if you choose to not use the operator time and fudge the chess clock timeyourself, that will work as well, but it is more prone to errors.<end><test>test filename [N]Test is used to run a suite of "crafty format" test positions in a batchrun. filename is the name of the file in crafty test format. [N] isan optional parameter that is used to shorten the test time. If craftylikes the solution move for [N] consecutive iterations, it will stopsearching that position and consider it correct. This makes a Win AtChess 60 second run take under 1/2 hour, for example. The "crafty format"requires three lines per position. The first line must be a "title" lineand is used to identify each position. The second line is a "setboard"command to set the position. The third line is a line that begins with"solution", and then is followed by one or more solution moves. If aposition is correct only if a particular move or moves is *not* played,enter the move followed by a "?", as in Nf3?, which means that thisposition will be counted as correct only if Nf3 is not played.Note that this command may refer to a normal EPD test file as well andCrafty will run that test in the same way, but Crafty will notice it is anEPD test file rather than a "crafty" test file and handle it appropriately.<end><time>Time controls whether the program uses CPU time or wall-clock time fortiming. For tournament play, it is safer to use wall-clock timing, fortesting it may be more consistent to use CPU timing if the machine isused for other things concurrently with the tests being run. (Note thatthis is not recommended when using a multiprocessor machine, CPU time ina parallel search increases at N times the normal time rate where N is thenumber of processors being used).Time is also used to set the basic search timing controls. The generalform of the command is as follows:time nmoves/ntime/[nmoves/ntime]/[increment]nmoves/ntime represents a traditional first time control when nmoves isan integer representing the number of moves and ntime is the total timeallowed for these moves. The [optional] nmoves/ntime is a traditionalsecondary time control. Increment is a feature related to ICS play andemulates the Fischer clock where increment is added to the time leftafter each move is made.As an alternative, nmoves can be "sd" which represents a sudden deathtime control of the remainder of the game played in ntime. The optionalsecondary time control can be a sudden-death time control, as in thefollowing example:time 60/30/sd/30This sets 60 moves in 30 minutes, then game in 30 additional minutes.An increment can be added if desired.<end><timebook>This command is used to adjust the time crafty uses for the first fewmoves out of book. The first few non-book moves are often critical,but the usual search time limit will be somewhat short since Craftywants to average the time left over the moves remaining until thenext time control. This command allows the user to influence how thetime is allocated on the first few moves out of book.timebook <factor> <moves>factor is a number expressed as a percentage, and specifies how muchextra time (in terms of the normal target time) to use. For example,a value of 100 says use 100% extra time, which essentially doublesthe target time limit. A value of 50 says use 50% extra time, or1.5X the normal target time. This applies to the first move out ofbook.moves indicates the number of moves this extra time will be used. Theextra time is uniformly "decayed" over those moves. For example a valueof 10 says use the "factor" extra time on the first non-book move, then9/10 of that extra time on the next move, 8/10 on the next move, untilafter 10 moves out of book, where this is turned off.timebook 100 10 therefore says use 200% of the normal time target forthe first move out of book, 190% for the next move out of book, untilit drops back to 100% where it will stick for the remainder of thegame after the first ten non-book move searches have been completed.<end><tournament>playing in a manually-operated tournament1. Starting Crafty. This is the easiest part of the whole process.All that's needed is to simply type the command "crafty".2. display. This command displays the chess board using the standardchess server style#1 board display.This is most often used to confirm that the board has been set to theproper position in the event that you can't continue an old game andhave to set up the position from scratch (explained later). Note thatwhite is always at the bottom, regardless of whether Crafty is playingblack or white.3. read. This command is used to read in a list of moves and make themon the game board prior to using crafty to play that game. There aretwo ways this can be used: (a) read. This will prompt you for awhite move, a black move, over and over until you type "exit" to terminateread mode. The side to move will be set according to the number of movesentered, so that the next move will be for the correct side. (b) read file.This command reads, but the input comes from "file" rather than from thekeyboard. Note that superfluous text is ignored, as is line numbers, times,etc. This will read in a PGN game and cull everything but the moves.4. setboard. This command is used to set up a specific board positionwhen it's impossible to restart a game using the "crafty c" command, andtoo many moves have been made, making the read command an unattractivealternative. This command parses a FEN-like position description (aForsythe-like notation) and sets the current board to that position.The notation uses a string of alpha characters to represent the chessposition. In this notation, uppercase K Q R B N P represents a whitepiece, lowercase k q r b n p represents a black piece. for emptysquares, you can use numbers 1-8 to indicate consecutive empty squares.A "/" must terminate each rank after defining at most 8 square on thatrank, and the ranks are entered in descending order 8..1. In thisnotation, then, the first square you enter is a8, then b8, .., h8,followed by a "/", then back to a7 and repeating. After all 8 ranksare entered, you need to indicate whether or not one side can castlekingside or queenside by inserting at least one space character, followedby a K (white can castle kingside) Q (white can castle queenside) k (blackcan castle kingside) or Q (black can castle queenside). After this, addone more space, followed by the square of a pawn that just moved two ranksand is subject to an en passant capture. Note that if there is noen passant capture possible, you do not enter this field.For the above board position (display command), here's the setboardcommand to set that position up:setboard r2q1knr/pp2bppp/4b3/1BPp4/6PP/2N1P3/PP3P2/2RQK1NR/ KNote that after entering the last piece on a rank, a number for theremaining empty squares is *not* needed, so this could be shortenedto:setboard r2q1knr/pp2bppp/4b/1BPp/6PP/2N1P/PP3P/2RQK1NR/ KOne unfortunate effect of this command is that you have just lost theability to detect repetitions of prior positions in the game, which canbe a critical issue. It is _always_ better to use the read command tore-enter the moves if the hardware crashes. If you accidentally type^C and terminate Crafty, you can type "crafty c" and it will continuethe last game, although you will need to set the time control information,and anything else that is not in the .craftyrc file.5. reset <n>. This command is used to back the game up if a differentmove is to be tried, or if an incorrect move was entered by mistake. Itdepends on the current side to move, and the command "reset 13" will backthe game up to move 13, where the current side on move is still on move,and Crafty will be positioned to read in move 13 for that side. Notethat this affects the game, but not the clock or time or level, so that ifyou back up more than a move or two, you also need to adjust the clock.If you want to first change the side to move, use the "white" or "black"command to set the side to move, then use the reset command to back upto the move for that side.6. time. This command is used to set the time control. There areseveral ways to use it, depending on the type of time control desired.(a) time sd/n sets the game to sudden-death in n minutes. such asgame/10, game/30. time sd/30 would set game in 30 time control.(b) time moves/time smoves/stime sets the game to "moves" in "time"minutes, then "smoves" in "stime" minutes. A common setting istime 40/120/20/60 for 40 moves in 2 hours, then 20 moves in one hour.(c) time moves/time/sd/sdtime sets a standard first time control,followed by a sudden death time control. For example time 60/60/sd/30is 60 moves in 60 minutes followed by game in 30 minutes. (d) for anyof these, an optional 5th parameter can be added, which is the famous"Fischer clock" increment that is added to each players time remainingafter he makes a move. The increment is given in seconds rather thanminutes. Note that the default should be right unless the tournamentmodifies the T/C after the tournament starts for some reason.7. settc. This command is used to correct time-control info after arestart. it will prompt you for how much time is left on both Crafty'sand the opponent's clock, and for how many more moves until crafty makesthe next time control. Again, usually not needed, but there for seriouscircumstances. After restarting, type "clock" to display this info andif it's wrong in any way, this settc command is the quickest way to fixit up.8. clock. This command is used to adjust the internal clock time as itdrifts away from the real chess clock as a game progresses. The formatis simply "clock mins" to adjust Crafty's clock. Or "clock cmins omins"to adjust both Crafty's time and Crafty's internal time that the opponenthas left. Since the current version doesn't really need the opponent'sclock time, it can be ignored with no side-effects.Common problems and how to solve them:1. Is crafty searching or pondering? I was not watching the screen,and the window size is small enough that all I see is analysis scrollingup the screen. This is easy. Look at the bottom line on the screen, andyou will see a line that keeps changing, showing the depth, time used sofar, how many moves have been searched and the PV. Look at the thirdcolumn what shows something like 12/30, which says that at the currentdepth crafty has already searched 12 of the 30 legal moves at the root.You will notice that there is an extra character after the 30, either a"*" or "?". If an "*" is showing, Crafty is thinking about its move. Ifa "?" is showing, crafty is pondering and thinks it is the opponent's move.If it shows a "?" but you know it is Crafty's move, you simply missed it.Scroll back up using whatever scroll mechanism your text window uses, tofind the move Crafty made. Hopefully this won't happen often, but on theoccasional "emergency" men's room break, anything can happen. Just rememberthat "?" means I am pondering and it is my opponent's move, "*" means Iam searching and it is my move.2. I entered the wrong move, how do I fix this? You are playing in agame and at move 37, you enter Rfe1 rather than Rae1. To correct this,you have to do a couple of things. First, Crafty is now searching, andif you try to reset the position, it won't accept this command. To stopthe search, type ? (followed by a <RETURN> of course) to tell Crafty to"move now". Once it displays the move it would play in response to theincorrect move, it will start its "ponder search" but now the resetcommand will work. Simply type "r 37" to back up to move 37, then typeRae1 and Crafty will continue as though nothing happened. Pay attentionto the clock time after it moves and adjust if necessary (if you lost anytime while correcting an incorrect move.)Note: You can also use the "remove" command, which will unmake the lastmove by each side. Crafty has to be pondering or waiting on input forthis to work, just like the reset command, so if *you* typed the wrongmove, type "?" to make it move, then "remove" which backs up one movefor each side, followed by the opponent's move. If the opponent makesthe wrong move on the board, and you enter it, do this same thing. Note,if the opponent screws up, you should notice whether or not crafty hadpredicted the right move. If it had, you should probably call the TDover, back the game up one move with the remove command, then use the"ponder xxx" command to tell crafty to ponder "xxx" (the move it waspondering before the wrong move was made by the opponent) and then itshould be allowed to "sit" until the same amount of time elapses beforeyou enter the correct move. The idea is that if the opponent screws up,it should not wipe out any searching crafty did while waiting.3. The machine dies (power failure maybe). How do I recover? First, youcan stop the clock for such failures, so do that *first*. Then, reboot themachine and start crafty by typing "crafty c". Next, type the "history"command and carefully check the last move it displays against the scoresheet you are maintaining by hand. If they are the same, you are ready toenter a move and continue. If there are moves missing, use the "reada"command to re-enter these moves and append them to the moves alreadypresent.If the continue option won't work due to a corrupted history file, you havetwo choices. The best choice is to restart crafty without the "c" option,and then use the "read" command and enter the moves by hand so that if youscrew up later, the "reset" command will work correctly to let you back up.If you are 100 moves into a game, this might not be practical. In thiscase, use the "setboard" command to enter the position. Be careful tocheck the position after entry using the display command, and be carefulto not enter the wrong move since you can't use the "reset" command toback up after using the setboard command.After either of the above problems, you need to set the proper timecontrol (if this is in your .craftyrc this is not needed) and then youneed to adjust the clock to show the proper amount of time remaining.The command to display the clock is "clock". To adjust the clockuse the command form "clock c-time o-time" where c-time is Crafty'stime remaining, and o-time is the opponent's time remaining. Thesecan be entered as simply the number of minutes left, or in the hh:mmformat if preferred. "clock 60 50" sets Crafty's clock to 60 minutesleft, opponent's clock to 50 minutes left. "clock 1:15 45" setsCrafty's clock to 75 minutes remaining, opponent's clock to 45.Crafty pays attention to how much time the opponent has used,so be sure and get them both correct. You should subtract 5 minutesfrom the actual time left on the clock to give yourself a cushion. Ofcourse, you should *never* enter "0" time left, or even worse, a negativenumber, because Crafty will go south for the Winter if you do. :)Note that there is a "settc" command that simplifies getting the timecontrol right after a restart... It's explained above.<end>