Deckserver Instructions (JOL)

The Deckserver is an automatic mail system that shuffles and deals cards for collectible trading card games. The Deckserver is currently used in the JOL (Jyhad On Line) series of email Vampire the Eternal Struggle (VtES) games.

Overview

Players control the Deckserver by sending commands in the text of email messages to
vtes@deckserver.net
IMPORTANT: you cannot mime-encode your mail messages, the deckserver will not be able to read mime-encoded messages. Your message must be in plain text.
Many different commands can be included in the same email message, as long as each command begins on a new line. The Deckserver automatically sends mail back with the appropriate response. Please note that the subject line is ignored by the deckserver so you can use it for your personal bookeeping if you would like.

After receiving the Game Identification from the Game Master, players are able to register their decks (library and crypt) with the Deckserver. A deck is registered as belonging to a specific JOL game by using that game's ID. Once the deck is registered, the Deckserver remembers the game, so no further reference to a game id is necessary. A special game id 'test' (no quotes) is provided for players to experiment with the deckserver. This game-ID can be used to tune decks by repeatedly shuffling and drawing hands. Please note that you may always draw a test hand and then return the cards to the deck and redraw before a game is closed by the Game Moderator. After the GM has officially started the game with the JOLSTART command, all deck server commands are logged.

A deck is uniquely identified by a deck name and a password. One name and password is required for each game. Both the library and the crypt are mainatined under this unique name and password. More than one deck may have the same name if the passwords are different and you may use the same name in more than one game as long as the passwords are different. However, the same name and password combination cannot be used in more than one game.

An email address is required during deck registration. This address is used to send all Deckserver responses. Therefore, only one email address can be used to receive Deckserver data. This provides deck security, as nobody but the registered user can receive information on a deck.

A deck consists of a number of cards. Each card is a line of text which contains your personal descriptive information regarding the card. For example, when registering your crypt list of cards, you may include the line:

Felicia Mostrom-Toreador-Capacity: 5-Disciplines: AUS, CEL, pre

This information must contain at least the card title. Any additional information that may be included on that line is strictly for your benefit.

A deck is composed of a set of cards that are located in a number of bins. Each cards is located in one bin at any given time and motion between bins is indicative of cardplay. Normally, you willl not need to specify what bins you are referring to because each of the Jyhad On-line commands implicitly refers to specific bins.
Jyhad Deck Type 'library' has the following bins: library, hand, inplay, and ashheap.
Jyhad Deck type 'crypt' has the following bins: crypt, inactive, active, and ashheap.

New Deckserver Commands Index

[ Pre-Game Setup Commands | During the Game | Mistakes ]

Basic JOL Commands

[ LIBRARY | CRYPT | JOLSTART | DRAWCARD | DRAWVAMP | DISCARD | PLAYCARD | PLAYPERM | PLAYVAMP ]

Basic Commands

[ MOVE | SHOW | SHUFFLE | NEWBIN | ENROLL ]

Game State Commands

[ SHOWJOL | GETSTATE | GETLOG | GETFULLLOG | GETHIST | GETFULLHIST ]

Moderator Commands

[ DECKINFO | BINSIZE | STATETEMP | GETSOURCE | ADDMOVE | SETSTATE | CLOSEGAME | MAKEGAME ]

Pre-Game Setup Commands

How to Register your deck with the Deckserver

The commands used to register your Library and Crypt cards for a specific Jyhad-On-Line game are LIBRARY and CRYPT.

Syntax

LIBRARY {gameid} {name} {password} {email address}
{Card list of library cards with one card on each line}
ENDREG

CRYPT {gameid} {name} {password} {email address}
{Card list of vampires with one card on each line}
ENDREG

Library Registration Example

LIBRARY test George MyPassword gfink@cs.ucdavis.edu
Info Highway - Location -+2 Transfers each turn (Unique Master)
Info Highway - Master - Location -6 Transfers each turn (Unique)
Fists of Death-costs 1-+1/+2 hand damage for the remainder of combat.
Fists of Death-1 blood -+1/+2 hand damage for the remainder of combat.
Fists of Death-1-+1/+2 hand damage for the remainder of combat.
Growing Fury Use you hand or melee weapon at +2/+3 damage. Not usable  first round. 
Immortal Grapple- hand strikes (Sup - with press) 
ENDREG
Please note that this deck does not meet the forty (40) Library card and twelve (12) Vampire minimum. Nor does this deck make much sense.

Response

gfink@cs.ucdavis.edu registered a library for George.
  With password MyPassword.
Crypt Registration Example

CRYPT test George MyPassword gfink@cs.ucdavis.edu
Felicia Mostrom-Toreador-Capacity: 5-Disciplines: AUS, CEL, pre
Felicia Mostrom-Toreador-Capacity: 5-Disciplines: AUS, CEL, pre
Igo - The Hungry, Caitiff, 1, pre, pro. NO Stealth for hunting.
Igo - The Hungry, Caitiff, 1, pre, pro. NO Stealth for hunting.
ENDREG
Response

gfink@cs.ucdavis.edu registered a crypt for George.
  With password MyPassword.

The Initial Draw

The JOLSTART command is used to shuffle both Library and crypt and draw hand and inactive region for the begginning of all normal JOL games.

Syntax

JOLSTART {name} {password}

Example

JOLSTART George MyPassword

Response
George draws initial hand and inactive region.
Request: Show all of hand for George library to strom@atl.mindspring.com.
  The hand for the library of strom@atl.mindspring.com is:
    3 Growing Fury Use you hand or melee weapon at +2/+3 damage. Not usable  first round. 
    2 Fists of Death-1-+1/+2 hand damage for the remainder of combat.
    6 Immortal Grapple- hand strikes (Sup - with press) 
    7 Info Highway - Location -+2 Transfers each turn (Unique Master)
    1 Info Highway - Master - Location -6 Transfers each turn (Unique)
    4 Fists of Death-costs 1-+1/+2 hand damage for the remainder of combat.
    5 Fists of Death-1 blood -+1/+2 hand damage for the remainder of combat.
Request: Show all of inactive for George crypt to strom@atl.mindspring.com.
  The inactive for the crypt of strom@atl.mindspring.com is:
    3 Igo - The Hungry, Caitiff, 1, pre, pro. NO Stealth for hunting.
    2 Felicia Mostrom-Toreador-Capacity: 5-Disciplines: AUS, CEL, pre
    1 Igo - The Hungry, Caitiff, 1, pre, pro. NO Stealth for hunting.
    4 Felicia Mostrom-Toreador-Capacity: 5-Disciplines: AUS, CEL, pre

During the Game

Playing Permanents

Two commands are used to play cards from your hand. First, the PLAYPERM command is used when the card played is a permanent such as equipment and should be moved to the In-Play bin.

Syntax

    PLAYPERM {name} {password} {card} [n]
  1. {name} is the Player's name
  2. {password} is the Player's password
  3. {card} is the card number that is to be played
  4. [n] is the optional argument that prevents immediate replacement. Use this optional argument when playing cards which are not replaced until after the action resolves.

Example

PLAYPERM George MyPassword 1
Response

George puts in play 1 Info Highway - Master - Location -6 Transfers each turn (Unique).

Playing Non Permanents

The PLAYCARD command is used when playing combat cards and all other cards which are burned in use.

Syntax

    PLAYCARD {name} {password} {card} [n]

  1. {name} is the Players name
  2. {password} is the Players password
  3. {card} is the card number that is to be played
  4. [n] is the optional argument that prevents immediate replacement. Use this optional argument when playing cards which are not replaced until after the action resolves.

Example

PLAYCARD Georrge MyPassword 4 n

This command would play card #4 out of George's hand and not replace that card.
Response

George plays 4 Fists of Death-costs 1-+1/+2 hand damage for the remainder of combat..
George draws card #1.
1 Info Highway - Master - Location -6 Transfers each turn (Unique)

Controlling a Vampire

When a vampire becomes controlled a command similar to PLAYPERM is used to move the vampire card from the inactive to active bins in the CRYPT. This command is PLAYVAMP

Syntax

PLAYVAMP {name} {password} {card number}

Example

PLAYVAMP George MyPassword 1

Response

George activates 1 Igo - The Hungry, Caitiff, 1, pre, pro. NO Stealth for hunting..

Drawing a new Vampire

Syntax

DRAWVAMP {name} {password}

Example

DRAWVAMP George MyPassword

Response

Request: Move card(s) from crypt to inactive for George MyPassword.
  Getting card from top of crypt.
  Putting card on the top of inactive.
Request: Show all of inactive for George crypt to strom@atl.mindspring.com.
  The inactive for the crypt of strom@atl.mindspring.com is:
    3 Igo - The Hungry, Caitiff, 1, pre, pro. NO Stealth for hunting.
    5 Felicia Mostrom-Toreador-Capacity: 5-Disciplines: AUS, CEL, pre
    2 Felicia Mostrom-Toreador-Capacity: 5-Disciplines: AUS, CEL, pre
    4 Igo - The Hungry, Caitiff, 1, pre, pro. NO Stealth for hunting. 

Drawing an extra card

Syntax

DRAWCARD {name} {password}

Example

DRAWCARD George MyPassword

Response

George draws card #7.
7 Info Highway - Location -+2 Transfers each turn (Unique Master)

Discarding a Card

Syntax

DISCARD {name} {password}{card number} [n]

Example

DISCARD George MyPassword 3 n

Response

George discards 3 Growing Fury Use you hand or melee weapon at +2/+3 damage. Not usable  first round. .

Burning a Permanent

This command is used to burn a permanent that is in play.

Syntax

BURNCARD {name} {password}{card number}

Example

BURNCARD George MyPassword 4

Response

Request: Move card(s) from inplay to ashheap for George MyPassword.
  Getting card #10 from inplay.
  Putting card on the top of ashheap.

Burning a Vamp

This command is used to burn a vampire that is currently in play.

Syntax

BURNVAMP {name} {password}{card number}

Example

BURNVAMP George MyPassword 2

Response

Request: Move card(s) from active to ashheap for George MyPassword.
  Getting card #10 from active.
  Putting card on the top of ashheap.

Mistakes

Undoing a Card Played

Syntax

TAKEBACK {name} {password} {card number} [{card number}]

Example

TAKEBACK George MyPassword 14 17
Would take back the playing of card 14 and return the drawn card 17 to the library and shuffle the library.

Response

George puts back into deck 17.
Request: Shuffle library for George library.
George shuffles their library's library.

Basic JOL Commands

LIBRARY - The command used to register Library cards for a game. Each line between the Library command and the endreg command is one library card and should include the card text and any other descriptive information you would find useful.

LIBRARY {gameid} {name} {password} {email address}
{list of cards}
ENDREG

CRYPT - The command used to register Crypt cards for a game. Each line between the Crypt command and the endreg command is one vampire and should include the card text and any other descriptive information you would find useful.

CRYPT {gameid} {name} {password}{email address}
{list of cards}
ENDREG

JOLSTART - Starts a JOL game after registration drawing initial 7 hand cards and 4 inactive vampires.

JOLSTART {name} {password}

DRAWCARD - Draws a library card from the top of the library bin and puts it on the bottom of the hand bin

DRAWCARD {name} {password}

DRAWVAMP - Draws a vampire from the top of the crypt bin and puts it on the bottom of the inactive bin

DRAWVAMP {name} {password}

DISCARD - Moves a card from the library hand bin to the library ashheap bin

DISCARD {name} {password} {card number}

PLAYCARD - Moves a card from the library hand bin to the library ashheap

PLAYCARD {name} {password} {card number} [n]

PLAYPERM - Moves a card from the library hand bin to the library in-play bin. If the optional [n] is included, it does not draw the top of the library library bin card to the library hand bin to replace.

PLAYPERM {name} {password} {card number} [n]

PLAYVAMP - Moves a vampire from the crypt inactive bin to the bottom of the crypt active bin.

PLAYVAMP {name} {password} {card number}

Basic Commands

MOVE - Moves the card card-number from the card-type from-bin to the to-bin

MOVE {name} {password} {card type} {from Bin} {to Bin} {card number} [top/bottom] [no]

SHOW - Returns the contents of a players bins (one or more).

SHOW {name} {password} {type} {bin} {num} [{email address}]

SHUFFLE - This command is used to shuffle the contents of a bin.

SHUFFLE {name} {password} {type} {bin}

NEWBIN - Used to declare new bins in a deck.

NEWBIN {name} {password} {type} {bin}

ENROLL - Used to register a deck manually. Please use the LIBRARY and CRYPT registration commands for JOL games.

ENROLL {name} {password} {game} {type} {email} [yes]

Game State Commands

SHOWJOL - Returns the current contents of your library's hand bin and your crypt's inactive bin.

SHOWJOL {name} {password}

GETSTATE - Returns the current game state.

GETSTATE {name} {password}

GETLOG - Returns the last 100 lines of the Deckserver log for the game.
GETLOG {name} {password}

GETFULLLOG - Returns the entire Deckserver log for the game.
GETFULLLOG {name} {password}

GETHIST - Returns the last 100 lines of the game history file.
GETHIST {name} {password}

GETFULLHIST - Returns the entire game history file.
GETFULLHIST {name} {password}

Moderator Commands

DECKINFO - Returns information regarding the decks that are registered for a game. Returns the game closed or open state and the names of the players already registered.
DECKINFO {name} {password}

BINSIZE - Returns the size and type of bins for players in a game. The third argument is the name of the player and the fourth argument is the name of the bin you are interested in.
BINSIZE {name} {password}[ALL] [ALL]

STATETEMP - This command queries the Deckserver to return a blank state source for the game.
STATETEMP {name} {password}

GETSOURCE - This Command returns the current Game State Source code for updating the game state by Moderators.
GETSOURCE {name}{password}

ADDMOVE - This command appends text to the end of the JOL History file for the game.
ADDMOVE {name} {password}
{move}

ENDMOVE

SETSTATE - This is the command used to set the game state as returned by the GETSTATE command and used for the HTML page.
SETSTATE {name} {password}
{state}

ENDSTATE

CLOSEGAME - This command closes a JOL game to further registration and prepares it for JOLSTART commands at the start of a game.
CLOSEGAME {name} {password}{gameid}

MAKEGAME - This is the George Fink only command used to add a game to the deckserver.
MAKEGAME [{George Fink only}] {gameid}