如何更改 Crafty(国际象棋引擎)中的设置

如何更改 Crafty(国际象棋引擎)中的设置

我使用 xboard 作为 Crafty 的 GUI,由于 Crafty 是最先进的国际象棋引擎,我不想使用其他任何东西,但它会用 game.nnn 和 log.nnn 文件淹没我的主目录。我想更改设置并让 Crafty 将这些文件保存到“Folder1”而不是我的主目录。

答案1

您可以使用参数 启动 crafty log off。参数可以放入crafty.rc文件中,也可以用作终端的启动参数。您看到创建的文件是由参数 创建的log。默认情况下设置为on这里有按字母顺序排列的所有选项的列表。看起来你不能把这些日志文件放在其他地方。

这些 log.{nnn} 文件最重要的参数是:

注销|登录|{n}

此命令用于禁用日志记录。默认为登录,这会导致 Crafty 为每个游戏生成一个新的 log.nnn 文件。如果您在服务器上运行 Crafty,则可以使用注销,这将禁用创建这些文件以及在您退出 Crafty 并稍后返回后用于重新启动游戏的 game.nnn 文件。如果您使用表单,log nCrafty 将仅在屏幕上显示日志的最后 n 行。如果您使用 log n file,Crafty 会将日志的最后 n 行复制到文件,该文件可能是您的硬盘或软盘。

请注意,如果您在注销的情况下运行,您将无法找出 Crafty 当时在想什么,因为没有其他游戏记录。您将始终看到 game.001,因为当 Crafty 玩游戏时,它包含迄今为止所进行的所有实际动作,以便您可以在需要时进行备份。您还将看到 log.001 文件,但它是空的。


替代方案:创建一个脚本,在启动 crafty 之前或 crafty 停止时将所有日志文件移动到您的目录中。这样,您就可以批量将它们放在文件夹中,并且可以继续登录。

答案2

来自“man crafty”:

   Logging
       When  a game is played, Crafty normally writes "logpath/game.<nnn>" and
       "logpath/log.<nnn>". Details of what is written are modifiable  by  the
       `log'  command. Because $CRAFTY_LOG_DIR defaults to "./" (the directory
       in which Crafty is launched), trouble  can  occur  if  the  program  is
       launched  in a directory to which it is unable to write.  Note that the
       "log.<nnn>" file normally contains all output that would be visible  if
       Crafty  were run from the command line but is usually hidden when it is
       run from a GUI.

因此,您可以CRAFTY_LOG_DIR在 中定义~/.bashrc。我会将crafty日志放入$HOME/var/log/crafty,并通过将以下内容添加到 来进行设置~/.bashrc

[[ -d $HOME/var ]] || mkdir -m 0700 $HOME/var
[[ -d $HOME/var/log ]] || mkdir -m 0700 $HOME/var/log
[[ -d $HOME/var/log/crafty ]] || mkdir -m 0700 $HOME/var/log/crafty
export CRAFTY_LOG_DIR="$HOME/var/log/crafty/"

为了避免$HOME/var/log/crafty/日志文件填满,请设置“日志轮换”。阅读man logrotateman logrotate.conf

相关内容