Trailing-Edge
-
PDP-10 Archives
-
decuslib20-08
-
decus/20-0180/play.doc
There are no other files named play.doc in the archive.
Documentation for the PLAY program
Any questions or comments should be sent to:
Brian Sietz
506 Birch Drive
Cherry Hill, NJ. 08003
Home: (609) 428-1201
Work: (609) 778-6163
This document is intended to be read by the system manager, or system
programmer responsible for maintaining games on the system. This
document is not intended to be used for on-line reference.
Description
PLAY is a general purpose programable game restrictor designed to give
access to public games during non prime time, holidays, or periods of
low load. Any or all of the parameters of the play program are
settable at runtime by the system manager. There is online help
available for all of the commands.
User Commands
The following is a list of commands available to a user of the PLAY
program.
HELP::
The PLAY program is a method for users to play games based on
pre-defined rules setup by the system manager. These rules consist of
restrictions for time and system load average. PLAY also has a
facility to send bug reports & suggestions to the maintainer of a
game. To play a game, just type Play gamename or type Play ? to list
the available games.
The following is a brief description of the available commands.
HELP - Displays more detailed information about a specific
command. (HELP HELP types out this text, HELP PLAY
types out information for the PLAY command)
INFORMATION - Displays information about the current restricts, or
support, agreement, or maintainer for a specific game.
DESCRIBE - Describes a game.
SUGGESTION - Sends a suggestion for a game to the current maintainer.
BUG-REPORT - Sends a bug-report for a game to the current maintainer.
PLAY - Plays a game.
CONTINUE - Continues a game started with the PLAY command.
EXIT - Returns to the Exec.
PLAY::
Starts execution of the specified game. If you typed @PLAY gamename
from the exec, PLAY will return you there, otherwise you will get the
Play> prompt when the game ends. In either case, the continue command
may be used to resume the game.
While the game is in progress, typing ^P (Control - P) will pop you
back into play. From here, you can use any of the top level play
commands. To resume playing, just type continue.
INFORMATION::
The INFORMATION commands displays the following information.
INFORMATION LOAD - Displays the current load restrictions for
game-playing
INFORMATION TIME - Displays the current time restrictions.
INFORMATION HOLIDAYS - Displays a list of upcoming holidays. During
a holiday, the holiday hours are checked rather
than the weekday or weekend hours.
INFORMATION AGREEMENT - Displays the agreement this site has with the
maintainer (if any).
INFORMATION SUPPORT - Displays the degree of support you may expect
from the author with respect with new
features, or bug-fixes (if any).
INFORMATION MAINTAINER - Displays who the maintainer is (if any).
INFORMATION PLAYER-LOG - Compiles information contained in the log
file. With this command, you can obtain
information about a specific user, a specific
game, a specific date, or marked records.
INFORMATION VERSION - Displays the version number and the installation
date of the this program.
BUG-REPORT::
Sends a bug-report through computer mail to the current maintainer of
the specified game. If there is no maintainer, the mail will be
directed to those people on the GAMES mailing list.
SUGGESTION::
Sends a suggestion through computer mail to the current maintainer of
the specified game. If there is no maintainer, the mail will be
directed to those people on the GAMES mailing list.
DESCRIBE::
Displays a brief introduction to the game. The associated files for a
particular game can be found by typing @DIRECTORY GAMES:gamename.* The
description can be found in file gamename.DESCRIPTION, and often there
is a .HLP or .DOC file included. These files can be typed or printed
at your leisure without the PLAY program.
The DESCRIBE ALL command will display a one sentence description of
each game available
TYPE::
The TYPE command is used to type a .DOC, or .HLP file. This command
differs from the Exec's TYPE command in that it defaults to those
files on the GAMES: directory.
PUSH::
The PUSH command is used to start an Exec under Play. This assures
you that your Play fork will not go away. To continue the play
program, just type POP.
Privileged Commands
The following are the commands available only to privileged users.
These commands can be dangerous as they effect the entire user
community playing games. The ENABLE command should not become
publicized.
ENABLE::
Allows a user with WHEEL or OPERATOR privileges to enter enabled mode.
This command doesn't really enable any privs, however it sets a few
internal flags, adds more commands, and opens the database for
Random-access. While in enabled mode, holidays may be added or
removed, load average checks may be changed, time restrictions may be
changed, the database or log file can be initialized.
While in Enabled mode, the Play command will allow you to override the
load and/or time restrictions, however the log file will append a [+]
after the date to indicate this. This was implemented mainly for
testing, please don't abuse it.
INSERT::
Inserts a new holiday into the database in chronological order with
those holidays already there. To add a holiday named New Year just
type Add New Year. The start and end dates must be specified on the
same line.
REMOVE::
Removes the specified holiday from the list. Holidays which have
passed, will not be displayed with the Information Holiday command,
however they still exist in the database, so it is a good idea to
clean things up every now and then by removing them.
NEW::
This command is used to initialize the log file, or the database file.
This is useful if the log file (GAMES:PLAY.LOG) gets too big, or the
database file (GAMES:PROT.DAT) gets corrupted.
SHUTDOWN::
This command will cease all game playing for all users within the next
timer interval. Game playing may be re-allowed with the Cancel
command.
CANCEL::
Cancels any current shutdown of game playing (see SHUTDOWN)
SET::
The set command allows the changing of the following:
SET WEEKDAY-RESTRICTIONS - This sets the hours for which game
playing is not permitted on weekdays. You
will be asked for a From: time. On the
same line you must enter both the from time
as well as the to time, or type a carriage
return for all day availability. Setting
the weekend and holiday restrictions are
similar.
SET WEEKEND-RESTRICTIONS - This sets the hours for which game
playing is not permitted on weekends.
SET HOLIDAY-RESTRICTIONS - This sets the hours for which game
playing is not permitted on holidays.
SET LOAD-RESTRICTIONS - This allows the load average restrictions
to be changed. The startup load average is
the maximum load for which users may start
playing a games. The Maximum load average
is the point where users will no longer be
able to play a game which they already
started. Users will be issued a warning
that the load is getting too high at the
midpoint of these two numbers. You may
also change the frequency that the load is
checked as well as which load.
Initialization
Upon startup, PLAY reads a database file containing all of the system
parameters. This initializes all of the restrictions governing what
actions (if any) which Play responds to hours and load. PLAY also
builds a table of all .EXE files in the GAMES: directory in order to
react to dynamic changes of available games. PLAY will only be able
to run games saved as an executable image.
System Requirements
- A non public directory for the games (usually <PS:GAMES>)
- A system wide logical definition GAMES: pointing to the above
directory. Although not required, this directory should be setup
as files-only directory. The directory protection should be 774440.
- A special password which is only known to the Play program.
- Games!! Lots of them!
- The executable image of the game must be protected 120202
This is for two reasons:
Play must be able to see the games and
In order to keep the games from being copied, then must be
protected execute only.
Associated with each game may be any of the following files:
- gamename.DESCRIPTION A short description describing the object or
rules. The DESCRIBE command types this out.
- gamename.MAINTAINER An Xmailr header file of the current
maintainer if there is one. If not, the mail
will be sent to GAMES (a mailing list. At
Rutgers we have this mail go to a bboard)
- gamename.AGREEMENT Used in the INFORMATION AGREEMENT command.
- gamename.SUPPORT Used in the INFORMATION SUPPORT command.
These file describe what type of support or
agreement you may have with the author of the
game. If these files don't exist, PLAY looks
for DEFAULT.AGREEMENT or DEFAULT.SUPPORT.
None of these files are required (with the exception of the default
files), but all can be helpful if you have people developing games and
such. The directory protection should be setup in such a way that
some games can maintain data files, or shared files.
At game startup
When the user types @Play gamename, PLAY first checks the database for
the currently established restrictions. If all is ok to start a game,
PLAY will connect to GAMES:, get the JFN of the specified game, and
connect back. It then starts the game in a lower fork, interrupting
it in a specified interval to check time and load averages.
PLAY keeps a log of username, gamename and time, and has provisions
for computing some statistics with a cross reference between games and
users.
Required files
- SYS:PLAY.EXE (compiled from your sources)
The interface for the users
- GAMES:PROT.DAT
Initially a null file. Use the Initialize command from within PLAY
to set it up.
- GAMES:PLAY.LOG
Initially a null file. PLAY will append records to it.
- GAMES:DEFAULT.AGREEMENT (supplied)
- GAMES:DEFAULT.SUPPORT (supplied)
- GAMES:PLAY.MAINTAINER (supplied - this sends bug-reports to me)
- GAMES:ABSENT.MAC (supplied)
A small macro file which will go in place of any game if it has to be
moved into Games: telling users how to access this game from now on.
- HLP:GAMES.HLP
- Play sources (see note)
PLAY.PAS (Pascal source module)
INIT.PAS (site dependent code)
PLAY.DOC (this document)
PLAY-READ-ME-AND-MAKEFILE.CMD (control file for compilation)
Please note about sources
-------------------------
I have a few small requests concerning the sources to PLAY.
1) If you modify or enhance the source, let me know so I can make the
same change to my version.
2) Please keep the sources well guarded. Try to keep to a minimum the
number of people who have access to them. DO NOT GIVE OUT THE
SOURCE TO ANY NON SYSPROGS!
3) Do not distribute PLAY to any other sites. If you know someone who
is interested in having a copy, or installing it at their site,
please direct them to me. I would be happy to distribute play, or
give any help that I can. If you have Games:Play.Maintainer setup
correctly, they can contact me directly through the suggestion
command.
4) Thank you for your cooperation in this matter. ENJOY!