Provided by: xsok_1.02-17_amd64 bug


       xsok - generic Sokoban game for X11, Version 1.02


       xsok [ options ]


       xsok  is  a single player strategic game, a superset of the well known Sokoban game.  This
       manpage describes only the user interface of xsok. If you want to create own  levels,  you
       should consult the xsok manual for more information.

       The  target  of Sokoban is to push all the objects into the score area of each level using
       the mouse or the arrow keys. For the other level subsets, there  are  different  kinds  of
       objects, and special effect squares.

       xsok  can  be  played  using  only  the  mouse,  or only the keyboard.  Keyboard and mouse
       bindings are defined through a textfile. This manual page describes the default bindings.


       All standard X toolkit parameters may be given, such as -display display etc.   Additional
       options are

       -rules level subset
           This  option  specifies  the initial level subset for xsok.  Valid built-in rule names
           are Sokoban, Cyberbox, and Xsok, but you  may  implement  new  level  subsets  without
           recompiling  the  game.   Level subsets share common characteristics of the board.  In
           Sokoban, for example, all boxes have the same weight.  In Xsok, the first level  is  a
           demo level, where you can experiment with the new objects.

       -level startlevel
           Set the starting level.

       -username username
           In  a save-game file, your name, as found in the /etc/passwd file, and the hostname of
           your  computer,  will  be  stored  in  the  file.  The  default  format  is   realname
           (username@hostname.domain),   for  example  Michael  Bischoff  (mbi@flawless.ts.rz.tu-
   You can override this default string with the argument to the username option
           and provide a different e-mail address, for example
           xsok -username "Michael Bischoff (".

           If you break the scores for one level, your solution will be saved automatically.

       -xsokdir xsokdir
           This   option   sets   the   root   of  the  xsok  data  file  tree.  The  default  is

       -xpmdir xpmdir
           This gives the directory from where to load the graphic data.

       -savedir savedir
           This option sets the directory for save game files and the xsok highscore  files.  The
           default is /var/games/xsok.

       -messageFile messagefile
           This  option  sets  the name of an alternative message file for xsok.  The pathname is
           relative to xsokdir. The default is messages, and does not exist, which means  to  use
           the internal messages.

       -keyboardFile keyboardfile
           This option sets the name of the file defining the keyboard bindings.  The pathname is
           relative to xsokdir. The default is keys.   The  bindings  in  the  default  file  are
           described below.

           All  command  line options may be abbreviated, or set by the X11 resource manager. The
           resource name for option -xyz is and its class name Tableau.Xyz.


       The arrow keys will move the man. The  default  binding  is  similar  to  the  binding  in
       xsokoban.  Some  commands  accept  a numerical prefix (i.e.  typing some digits before the
       command key), which usually is used as an operation count.

       a       Display the author of a level (if known).

       b       Drops the bookmark.

       g       Goto bookmark.

       i       Displays the level comment (if any).

       s       Saves the current position.

       L       Reloads a saved game.

       R       Restart this level. With numerical prefix n, jumps to move number n.

       N       Proceed to the next level. With numerical prefix n, jumps to level n.

       H       Reread the highscore table.

       P       Return to the previous level.

       U       Proceeds to the next unsolved level.

       q       Quits the game.

       v       Shows the version of xsok.

       ?       Shows the current score.

       b       Shows the best score for this level.

       c       Drops the bookmark at the current position.

       u       Undoes the last elementary move. Accepts numerical prefix.

       r       Redoes last move (undoes an undo). Accepts numerical prefix.

       (       Starts recording a macro (sequence of moves)

       )       End a macro.

       <ENTER> Replays a macro.


       With the default button assignment, button 1  is  bound  to  the  function  MouseMove.  If
       pressed on a clear square, the man will move to that location via the optimal path if such
       a path exists. If pressed on an object that is adjacent to the player, the object will  be

       Button 2 is bound to MouseDrag. This command requires that you press the mouse button on a
       location where a box resides, drag the mouse, and release the button on an  empty  square.
       The  man  will  then  move  the box from the first square onto the second with the minimal
       number of pushes, if it is possible at all.  Please note that the man will  not  move  any
       other object and will only use squares without effects.

       Button  3  is bound to MouseUndo. This function undoes one of the previous commands, which
       would possibly require a lot of calls to the atomic undo function.


       xsok has simple support for different languages. All messages  which  appear  in  the  X11
       window  may  be  overloaded  by  files,  as well as the key bindings.  The typical support
       consists of an application-defaults file, a message file, and a  keyboard  file.  Possibly
       translated  online-help  files  are also there.  To select a different language, call xsok
       after setting  the  environment  variable  LANG  to  the  desired  value.   Currently,  no
       translated version is available.


       (Directories may differ on your system.)


       Where type is one of Sokoban, Xsok, Cyberbox, and possibly others.


       Inspiration  for xsok came from xsokoban, a previous implementation of the Sokoban game by
       Joseph L. Traub. From this game, the wall  graphics  were  taken,  and  the  mouse  button
       assignment.   xsokoban's level files can be used without change, but by default, all level
       files of a level subset are combined into a single file.  Of course, credits  also  go  to
       the unknown author of the curses based game.

       The Cyberbox levels (and a MSDOS game of the same name) are written by Doug Beeferman.


       The undo function is too slow.  Highscore file handling uses no file locking.

       Cyberbox zappers are implemented as one-way passages, which causes worse scores and easier

       Please mail bug reports to  Fixes are especially welcome.


       xsokoban(6x), sokoban(6)


       Michael Bischoff


       Copyright (c) 1994 by Michael Bischoff (

       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.

       xsok  was  developed  under  Linux,  the free UNIX for the IBM-PC and compatibles. xsok is
       distributed by terms of the GNU General public license (GNU Copyleft).