XSKAT(6)
π xskat β Games Manual π
okay so bestie, this is the manual for xskat and it is long, like, we're doing it in three parts long. but you're gonna eat this up, i promise. π«Ά
β¨ NAME β¨
xskat β a card game for 1 to 3 players. π΄ no cap, that's the whole vibe.
β¨ SYNOPSIS β¨
xskat [-display|-d display] [-geometry|-g geometry] [-font|-fn font]
[-iconic|-i] [-title|-T string] [-name prog] [-fg color] [-bg color]
[-bt color] [-mark color] [-3d] [-2d] [-3dtop color] [-3dbot color] [-mb
button#] [-keyboard number] [-tdelay seconds] [-fastdeal] [-slowdeal]
[-help|-h] [-frenchcards] [-french4cards] [-germancards] [-german4cards]
[-color] [-mono] [-color1 color] .. [-color4 color] [-large] [-small]
[-up] [-down] [-alt] [-seq] [-list|-l file] [-alist] [-nlist] [-tlist]
[-log file] [-dolog] [-nolog] [-fmt] [-unfmt] [-game file] [-briefmsg]
[-verbosemsg] [-trickl2r] [-notrickl2r] [-lang language] [-start
player#] [-s1 number] [-s2 number] [-s3 number] [-ramsch] [-noramsch]
[-ramschonly] [-sramsch] [-nosramsch] [-skattolast] [-skattoloser]
[-kontra] [-nokontra] [-kontra18] [-bock] [-nobock] [-bockramsch]
[-bockevents number] [-resumebock] [-noresumebock] [-spitze] [-spitze2]
[-nospitze] [-revolution] [-norevolution] [-klopfen] [-noklopfen]
[-schenken] [-noschenken] [-hint] [-nohint] [-newrules] [-oldrules]
[-shortcut] [-noshortcut] [-askshortcut] [-irc] [-noirc] [-irctelnet
program] [-ircserver hostname] [-ircport number] [-ircchannel name]
[-ircnick name] [-ircuser name] [-ircrealname name] [-ircpos number]
[-irclog file] [-irclogappend] [-irclogoverwrite] [-auto #ofgames] [-opt
file] [-pk] [player@display...]
β¨ DESCRIPTION β¨
XSkat lets you play the card game Skat, exactly as the official Skat Order defines it. periodt. π
Up to 3 players may be simulated by the computer, so even when nobody's around to play with you, the machine has your back. π«Ά
Once you start the game, a mouse click or ESC/F1 will bring up a menu. Other keys that are lowkey carrying the whole experience: Space, Return, Tab, and Cursor left/right/up/down. The rest of the game controls should be fairly obvious π
β you'll clock it fast.
Wanna actually learn Skat before you get humbled by the computer? There's an introduction at http://www.xskat.de/xskat.html π
β¨ OPTIONS β¨
One thing before we dive in, bestie: in all the descriptions below, whoever starts XSkat is called player1. that's you. main character energy, obviously. π
-displaydisplay name,-geometrygeometry specification,-fontfont name (default:9x15or10x20),-iconic,-titlewindow title,-nameapplication resource name,-fgforeground color,-bgbackground color β the usual X toolkit options. nothing wild here, it's giving standard X behavior. π§°-btcolor β the color of dialog buttons. yes, you get to pick it. slay. π-markcolor β the color of the marks that indicate who is forehand (during bidding), who is the Soloist, which card the computer would play, or the keyboard focus (default: red or black).-3dβ use a 3D look for dialogs (default). it's giving depth β¨-2dβ use the old, flat style (default on monochrome screens). retro moment.-3dtopcolor β the color used for the lines around the top and left sides of 3D buttons (default: white). ποΈ-3dbotcolor β the color used for the lines around the bottom and right sides of 3D buttons (default: black). π€-mbmenu button β the number of the mouse button that brings up the menu (default:0= any button). so you can't mess this up fr.-keyboardnumber β define how much of the user interface may be controlled by the keyboard. the number means:0: Nothing.1: More (default).2: Everything. π-tdelayseconds β specifies how long the last trick will be visible. a delay of more than10seconds means that the trick will be removed after pressing a mouse button. in multiplayer mode the largest specified value is used (default:0.7).-fastdealβ deal the cards without any time consuming animation. we're speedrunning πββοΈ-slowdealβ deal the cards slowly (default). cinematic, honestly. π¬-helpβ show a short help text.-frenchcardsβ play with French suited cards.-french4cardsβ change the colors of diamond and spade to orange and green, so that the 4 suits have easily distinguishable colors (default). π-germancardsβ use German cards.-german4cardsβ change the color of acorns to brown, so that the 4 suits have easily distinguishable colors.-colorβ use colored cards. if there are not enough colors left, the number of colors used to draw the cards will be reduced appropriately (default). π-monoβ use b&w cards. minimalist era.-color1..-color4β redefine the colors of the suits diamond, heart, spade and club. heads up: selecting-french4cardsoverrides the colors for diamond and spade. π-largeand-smallβ select the size of the main window (default: as large as possible). go big or go home.-downβ sort cards downwards (default).-upβ sort cards upwards.-altβ sort cards in alternating order.-seqβ sort cards in sequential order (default).-listfilename β the file for saving/restoring the game list (default:$HOME/.xskat.lstor./xskat.lstifHOMEisn't set. For IRC games:.ircinstead of.lst).-alistβ alternative form of listing.-nlistβ normal form of listing (default).-tlistβ listing with tournament scoring. π-logfilename β turn on automatic logging, i.e. append logs of all games to filename (-means stdout).-dologβ turn on automatic logging (default file:$HOME/.xskat.logor./xskat.log).-nologβ turn off automatic logging (default). logs of individual games may still be saved during the game, so no stress.-fmtβ write formatted log files, i.e. use backspaces for underlining and boldface.-unfmtβ write unformatted log files (default).-gamefilename β read predefined games from filename (-means stdin). Not available for IRC play. see also the section FILES below. π-briefmsgβ indicate who is forehand (during bidding) and who is the Soloist by displaying a small mark on the back of the cards.-verbosemsgβ additionally print out everyones position and what is being played (default). it yaps, affectionately.-trickl2rβ put down the cards of a trick from left to right (default).-notrickl2rβ place the cards corresponding to the players positions.-langlanguage β currently available: English and German (default:$LANG/$LANGUAGEis tried first. Then: seeImakefile/Makefile).-startnumber β the player who starts dealing cards (default:2).-s1number,-s2number,-s3number β change the playing strenght of the computer players.s1corresponds to the left computer in single player mode or to the one and only computer in two player mode.s2corresponds to the right computer in single player mode.s3is only useful with-auto. the number must be between-4(weak) and0(default). choose your opps wisely bestie π-ramschβ play a game of Ramsch when all players pass. the following rules are currently implemented: the Skat remains face down until it goes to the winner of the last trick (or to the loser of the game, s.b.). the amount lost is the number of card points taken. if two players tie for most card points, they both lose. if all tie, the score is0. if one player takes no tricks (a virgin) the amount lost by the loser is doubled. someone taking all the tricks (forced march) wins120points. π₯-noramschβ don't play Ramsch (default).-ramschonlyβ play Ramsch each game.-sramschβ play Schieberamsch instead of simple Ramsch. the rules are: each player in turn, starting with Forehand, may pick up the Skat and discard two cards face down. it's not allowed to pass on jacks. the score is doubled each time a player doesn't pick up the Skat. π³-nosramschβ don't play Schieberamsch (default).-skattoloserβ at the end of a Ramsch game the Skat is awarded to the loser(s). this will increase the loss. π-skattolastβ the Skat goes to the winner of the last trick (default).-kontraβ allow opponents to say'Kontra'which doubles the score of the game. the Soloist may reply'Re'to double the score again. the drama. the stakes. π-nokontraβ disallow Kontra (default).-kontra18β only an opponent who said at least18may say'Kontra'.-bockβ play a Bockround after some special event. the score is doubled in the next3games. if an event causing a new Bockround happens before the current Bockround is over or several Bockround events happen at the same time, the number of Bockrounds still to play is increased appropriately.-nobockβ don't play Bockrounds (default).-bockramschβ play a round of compulsory Ramsch after each Bockround. before a game of Ramsch begins, each player in turn, starting with Forehand, may declare to play Grand Hand instead. after a Grand Hand the same player deals again because this game does not count towards completing the Ramschround.-bockeventsnumber β specify the events that cause a Bockround.(1)a game is lost with60points.(2)a successful Grand Hand.(4)a successful Kontra (opponents win).(8)a game with Kontra & Re.(16)a player's score ends in3equal digits.(32)a player's score is a multiple of100.(64)a game value of+72or more.(128)a game value of+96or more. add up the numbers in parentheses to specify the desired events (default:0). notes:- a Kontra where the Soloist said Re but lost counts as one event not two (events
4and8). - to check a player's score, the current listing options of player1 are used (events
16and32). a score that is a multiple of1000counts as one event. - the game value (events
64and128) is the normal value without considering any doubling caused by Ramsch, Kontra or Bock.
-resumebockβ resume unfinished Bockrounds after quitting and restarting XSkat. the number of games to play is read from the game list file.-noresumebockβ don't resume Bockrounds (default).-spitzeβ allow the Soloist to declare Spitze. this means that the last trick must be made with the lowest trump to win the game. this will be indicated to the other players by displaying the lowest trump. the game multiplier is increased by1. it's not allowed to say Spitze in a Grand with 4 jacks. π«-spitze2β declaring Spitze increases the multiplier by2.-nospitzeβ don't allow Spitze (default).
and that's part 1 bestie π we're not done, keep scrolling, there's so much more where this came from π
-revolutionβ bestie, this is a whole special variation of Null ouvert β¨ After the Soloist's cards are exposed, the opponents get to look at each other's cards and rearrange the cards between their two hands in any way they wish before the start of the play π Revolution is worth 92 points. Iconic. Terrifying. Both.-norevolutionβ nope, no Revolution (this is the default).-klopfenβ during a Ramschround you may knock (klopfen) at the beginning of a game to indicate that you think you won't lose π This will double the score of the game. Small catch, no cap: Klopfen is not possible if you don't pick up the Skat in Schieberamsch.-noklopfenβ don't allow Klopfen (default).-schenkenβ if the opponents decide at the start of the play that they literally cannot defeat the Soloist, they can give up π«Ά You do this by selecting Schenken from the main menu during the first trick when it's your turn. If the Soloist accepts, the score is as though the game was won simply. The Soloist can insist on playing on, but in that case has to make the opponents Schneider to win β and the score then is as for an announced Schneider (the multiplier is increased by2). If the Soloist goes on, the opponents can schenken again, giving the Soloist the Schneider. Then the Soloist can accept Schneider or insist on playing on for Schwarz. The drama π-noschenkenβ don't allow Schenken (default).-hintβ put a mark over the card the computer would play π-nohintβ don't show computer hints (default).-newrulesβ use the official rules of01/01/1999:- Lost Hand games count double.
- The Grand Ouvert multiplier is
24. - (default)
-oldrulesβ Lost Hand games count simple. The Grand Ouvert multiplier is36.-shortcutβ always finish the game when the remaining tricks will all go to one side.-noshortcutβ play each trick.-askshortcutβ ask whether a shortcut should be taken (default).-ircβ play via Internet Relay Chat π This option will establish a connection to an IRC server where you can join other people for a game of Skat.
How it works:
Start XSkat from an xterm. Wait until the server has printed the welcome message. You are now on channel #xskat where new games should be planned. Everything you type into the xterm will be sent to everyone else on this channel. After you have found one or two other players and agreed upon the name of a new channel (say #xskat123), you should type /join #xskat123. When all players are on the new channel, exactly one player has to type /go (or /go2 if there are only 2 players) to start the game. Now you can play and talk β¨
-noircβ don't use IRC (default).-irctelnetprogram β specify the program that will be used to connect to the IRC server. If you are sitting behind a firewall, a program likertelnetmust be used and you may have to set$SOCKS_SERVERto the name of your firewall host (default:telnet).-ircserverhost-name β select an IRC server near you! (default:$IRCSERVERorirc.fu-berlin.de, if not changed in theImakefile/Makefile)-ircportnumber β the port of the IRC server to connect to (default:$IRCPORTor6667).-ircchannelname β the channel to join initially (default:#xskat).-ircnickname β your IRC nickname. If your nick is already used by someone else, a different nick will be generated automatically. Some servers allow a nick length of30, others limit it to9characters. (default:$IRCNICKor$IRCUSERor$LOGNAMEorxskatNNNN).-ircusername β your user/login name. Note: most servers don't like faked user names (default:$IRCUSERor$LOGNAME).-ircrealnamename β your real name (default:$IRCNAMEor the entry from thepasswdfile or'XSkat player').-ircposnumber β select your position relative to the other players. Positions are numbered clockwise1,2and3. Player2will start dealing if not specified otherwise with-startor/start. If you don't specify your position or there is a conflict with someone else's choice or you give an invalid number (3in a 2 player game), this will be fixed automatically. Choosing the right positions is important if you want to continue with a saved game list (default:0= I don't care).-irclogfile β everything sent to or received from the IRC server is saved to this file (-means stdout). It may be useful for debugging (default:$HOME/.xskat.ilgor./xskat.ilg).-irclogappendβ append output to the log file.-irclogoverwriteβ overwrite existing log file (default).
π IRC commands π
/nickname,/nickβ change or display your nickname./whoβ is on the current channel ?/list,/liststring β show all channels that match the wordxskator the specified string. This will take some time on networks with a large number of channels. Trying to stop the listing will terminate the program./posnumber β see-ircpos./bellβ toggle the alarm bell. When on, the bell will ring each time someone joins your channel or sends a message to you. The bell is off initially./quitβ terminate XSkat./syncβ if messages get lost due to a net-split (or because someone left the channel during play), XSkat will detect this and in most cases should be able to synchronize automatically (within30seconds) after the connection is reestablished. Typing/syncwill try this immediately./quotecommand args β for those who know what they are doing.
The following commands are only useful for the player who will start the game by typing /go because that player will determine the rules of the game.
/defaultβ set the official rules./ramsch,/sramsch,/skattoloser,/kontra,/bock,/resumebock,/spitze,/revolution,/klopfen,/schenken,/oldrules,/bockevents,/alist,/tlist,/start,/s1β change the rules of the game. All of these require an argument (a number orTrue/False) just like the resources with the same name./rulesβ show the current rules to everyone on your channel.
π Notes π
- The version numbers of all participating programs must be equal.
- Most options cannot be changed during the game. Options that can be changed are not saved to a file.
- The game list can only be cleared during bidding or when it's your turn to play a card. There is a different default game list for IRC games (see
-list). - It's possible to type into the
xtermor the game window (which is recommended), but changing input sources in the middle of a line won't work. - If you want better input line editing and a split screen try the program
ssfe. It is used like this:
ssfe -raw xskat -irc
You can omit -irc when you specify any of the other IRC options.
-auto#ofgames β three computers play the specified number of games without human interaction. The resulting scores are printed. With this option, no resources are read, and the game list is saved only if-listis specified.-optfilename β the file for saving/restoring all interactively changeable options of all players (default:$HOME/.xskat.optor./xskat.opt). Command line options take precedence over options specified in this file which in turn override resource specifications. This may be changed with theuseoptfileresource.-pkβ if you want the computer to deal a Good Hand every time. (as requested by Petra K.) Alternatively, pressingF6three times will result in a Good Hand for the next game. Does not work in multiplayer mode.player@displayβ specifies the display of the second and third player (but is ignored for IRC games). Theplayer@part may be omitted if thealiasresource is set ondisplay.
πΈ RESOURCES πΈ
Okay bestie, real talk β if you're a command line girlie who's been passing options all along, those options win. Command line options take precedence over resource specifications for player1. Periodt. π
Here's the whole resource menu, no skipping, every single one:
geometry,font,title,foreground,backgroundβ the usual X11 resources, you know the drill. β¨markβ (see-mark).buttonβ used for 2D buttons, (see-bt).3dbuttonβ used for 3D buttons, (see-bt, default: a shade of gray).3dbackgroundβ used for 3D dialogs, (see-bg, default: a different shade of gray).3dβ True or False (see-3dand-2d).3dtopβ (see-3dtop).3dbotβ (see-3dbot).menubuttonβ (see-mb).keyboardβ (see-keyboard).tdelayβ (see-tdelay).fastdealβ True or False (see-fastdealand-slowdeal).(#)cardsβ0,1,2or3(see-frenchcards,-french4cards,-germancardsand-german4cards).colorβ True or False (see-colorand-mono).color1..color4β (see-color1..-color4).largeβ True or False (see-largeand-small).downβ True or False (see-downand-up).altβ True or False (see-altand-seq).listβ (see-list).(#)alistβ True or False (see-alistand-nlist).tlistβ True or False (see-tlistand-nlist).logβ (see-log).(#)dologβ True or False (see-dologand-nolog).(#)formattedβ True or False (see-fmtand-unfmt).(#)gameβ (see-game).(#)briefmsgβ True or False (see-briefmsgand-verbosemsg).trickl2rβ True or False (see-trickl2rand-notrickl2r).languageβ (see-lang).startβ (see-start).(#)s1,s2β (see-s1,-s2).(#)ramschβ0,1or2(see-noramsch,-ramschand-ramschonly).(#)sramschβ True or False (see-sramschand-nosramsch).(#)skattoloserβ True or False (see-skattoloserand-skattolast).(#)kontraβ0,1or2(see-nokontra,-kontraand-kontra18).(#)bockβ0,1or2(see-nobock,-bockand-bockramsch).(#)bockeventsβ (see-bockevents).(#)resumebockβ True or False (see-resumebockand-noresumebock).(#)spitzeβ0,1or2(see-nospitze,-spitzeand-spitze2).(#)revolutionβ True or False (see-revolutionand-norevolution).(#)klopfenβ True or False (see-klopfenand-noklopfen).(#)schenkenβ True or False (see-schenkenand-noschenken).(#)hintβ True or False (see-hintand-nohint).oldrulesβ True or False (see-oldrulesand-newrules).(#)shortcutβ0,1or2(see-noshortcut,-askshortcutand-shortcut).ircβ True or False (see-ircand-noirc).(#)irctelnetβ (see-irctelnet).(#)ircserverβ (see-ircserver).(#)ircportβ (see-ircport).(#)ircchannelβ (see-ircchannel).(#)ircnickβ (see-ircnick).(#)ircuserβ (see-ircuser).(#)ircrealnameβ (see-ircrealname).(#)ircposβ (see-ircpos).(#)irclistβ (see-list).(#)irclogβ (see-irclog).(#)irclogappendβ True or False (see-irclogappendand-irclogoverwrite).(#)optβ (see-opt).(#)useoptfileβ True or False (default: False). Okay so this one is a resource for multiplayer mode (but not for IRC). It is ignored forplayer1. If set to True, the contents of the option file, which is owned byplayer1, are used. Which meansβ¦ you may end up with someone else's preferred settings ifplayer1used this file in a different multiplayer game. π Not me inheriting a stranger's whole setup.aliasβ The player's real name (max. 2 words of 9 characters, default:$LOGNAME).
Only player1 may specify the resources marked with (#). That's the group chat admin energy right there. π
Filenames starting with ~/ are interpreted correctly if HOME is set. β¨
π FILES π
Here's an example of a file specifying predefined games, and honestly the vibes are immaculate:
# The following block specifies the distribution
# of cards for player1, 2, 3 and Skat(0).
# A 10 K Q J 9 8 7
2 2 2 2 2 0 3 3 # Diamond
2 2 2 2 2 3 3 3 # Heart
1 1 1 1 1 3 3 3 # Spade
1 1 1 1 1 0 3 3 # Club
# The following is not the same game !
# Player numbers rotate 3 -> 2 -> 1 -> 3
# (and depend on the start option).
2 2 2 2 2 0 3 3
2 2 2 2 2 3 3 3
1 1 1 1 1 3 3 3
1 1 1 1 1 0 3 3
repeat
# Repeat the above games forever.
# The following lines take effect only
# when you delete the 'repeat'.
random_seed 123456 0 2
# Specifies the random number which determines
# card distribution for all following games.
# The second number lets you skip that many
# games in the sequence.
# The third (optional) number defines
# who will start dealing cards (see -start).
# An additional L or R following this number will
# rotate the cards left or right.
# The random_seed will be shown in game logs
# to allow easy replay. Just type:
# echo random_seed 123456 0 2 | xskat -game -
π§ NOTES π§
- There are no official rules for the variations Ramsch, Kontra, Bock, Spitze, Revolution, Klopfen and Schenken. The house rules are the house rules, bestie. π«Ά
- If executing
xskat player@otherhost:0onyourhostgives an error message you could try the commandxhost yourhostonotherhostto grantyourhostaccess tootherhost's display. Permission slip unlocked. β¨ - If you replay a game with your own cards, it doesn't matter whether 'Forehand changes' is set to 'yes' or 'no'.
- Some versions of
telnethave a bug, that prevents them from reading input from a pipe correctly. SeeREADME.IRCfor a fix or put this into your~/.telnetrc:
irc.fu-berlin.de
set echo off
set escape off
set rlogin off
set flushoutput off
set interrupt off
set quit off
set eof off
set erase off
set kill off
set lnext off
set susp off
set reprint off
set worderase off
set start off
set stop off
set forw1 off
set forw2 off
set ayt off
Leading blanks are important! Like, genuinely important. Change the irc server line appropriately. Don't skip the spaces, I'm begging. π
π AUTHOR π
Gunter Gerhardt
The latest version is always available at http://www.xskat.de/xskat.html
This program is free software; you can redistribute it freely. Use it at your own risk; there is NO WARRANTY. (Use it at your own risk, fr fr. π)
Redistribution of modified versions is permitted provided that the following conditions are met:
- All copyright & permission notices are preserved.
- a) Only changes required for packaging or porting are made. or b) It is clearly stated who last changed the program. The program is renamed or the version number is of the form
x.y.z, wherex.yis the version of the original program andzis an arbitrary suffix.
Card images used with permission by Spielkartenfabrik Altenburg GmbH, Marke ASS Altenburger Leipziger Strasse 7, 04600 Altenburg, Germany
and that's the whole page, bestie!! πβ¨ππ¦πΈπ π«Άππ
This whole thing is the XSKAT(6) manual page, dated May 2004 β a certified classic, no cap. Go shuffle some cards and slay. ππ
π¦ where this page comes from
- debian bookworm: xskat 4.0-8 Β· xskat
- debian trixie: xskat 4.0-9 Β· xskat
- fedora 43: xskat 4.0.0-38.fc43 Β· XSkat
- fedora 44: xskat 4.0.0-39.fc44 Β· XSkat
- ubuntu jammy: xskat 4.0-8 Β· xskat
- ubuntu noble: xskat 4.0-8 Β· xskat
- ubuntu questing: xskat 4.0-10
- ubuntu resolute: xskat 4.0-10build1 Β· xskat
- ubuntu stonking: xskat 4.0-10build1 Β· xskat
- Copyright (C) 2004 Gunter Gerhardt
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms