menu_mainicon.gif (933 bytes) - descent2.com

[ Search ]

Last Updated: 04/01/99

 

Last Updated: 04/01/99

The Descent Manager - DETLEF Server Tools

 

Note: This is still DETLEF01 status! The Tools for creating a DETLEF02 site are coming soon! (DETLEF02 clients can read DETLEF01 server sites without problems)

 

What are the DETLEF Server Tools?

The DETLEF Server Tools help DETLEF server site administrators to maintain their DETLEF server site quickly and easily. They consist of a couple of DOS-command-line-driven tools, that generate and test the DETLEF files easily.

The Server Tools consist of 4 tools, each of which can be used independantly of the others. So you don't need to use all of them, some might be of help for you, some not. For example you can create your DETLEF server lists (D1A-D2D) manually instead of using the MAKELIST tool, but then still use CHCKLIST, MAKEHTML and LVLREP without any problems (as long as you're making working lists of course, but that's what CHCKLIST is for ;) ).

 

How to install the DETLEF Server Tools

Install the DETLEFST/DOS and the LVLREP/DOS modules by running the downloaded EXE file. This will launch the HINSTALL/DOS installation program, where you can choose the destination paths.

After the first-time-installation, it is recommended to copy all files from the TEMPLATE subdir of where you installed DETLEFST to into the DETLEFST subdir of the STIF directory (by default C:\DMTOOLS\_STIF). This way you can use templates of the needed configuration files, which also contain comments for easier adapting. You can however also create the DETLEFST.* files by hand using this documentation.

Note: All keywords in the DETLEFST.INI files are case-sensitive!

Now you need to open the DETLEFST.INI file into an ASCII text editor of your choice, e.g. NOTEPAD, EDIT, NCEDIT etc. Edit the file to have your needed directory settings. This documentation contains detailed information what you have to set for what and where+how to set it... IMPORTANT: The DETLEFST.* files needs to be in the DETLEFST subdirectory of where have installed StIf!

 

Overview over the tools
  • MAKELIST
    This tool generates the DETLEF.D1A to DETLEF.D2D lists automatically by scanning available MSN, MN2, HOG and your destribution ZIP/RAR/EXE files for the necessary information. You need to setup the directory, where MAKELIST can find the mission, HOG and archive files once in the DETLEFST.INI file, but then the rest will go automatically by just starting MAKELIST.

  • CHCKLIST
    This tool tests the DETLEF list files (DETLEF.D1A to DETLEF.D2D) and will log errors. Very useful to test your manually created list files (e.g. if you have forgotten some parameters messing the file up etc.). You need to setup the directory where to find the list files once in the DETLEFST.INI file.

  • MAKEHTML
    This tool automatically generates HTML pages with the lists. This way you can -once you have made your list files- also easily update your homepage to offer all levels for download there, too. You need to setup the directory where to find the list files once in the DETLEFST.INI file.

  • LVLREP
    This is one of the classic tools of the Descent Manager and was available since the first Beta 01a in Dec 96. It is now a standalone tool and has been modified to also create the powerful DET files, with which DETLEF32 users easily can get additional informations about a mission before downloading it (e.g. a weapons list). DET files also are needed to enable the Advanced Search Query feature in DETLEF32.

 

MAKELIST - Making list files

How to setup the tool:

You need all the missions you want to offer in both - unpacked and packed (in the exact state, how it will be distributed on your site) - states on your hard drive. You need to seperate the missions by the different mission types, e.g. put all D2 Anarchy missions in one directory, all D2 Architectural in a different etc.

Open the DETLEFST.INI file located in the DETLEFST subdir of StIF (by default C:\DMTOOLS\_STIF) and specify the directory where your list files shall be written to using the DETLEFDirectory" key in the caption "[Destination]". E.g. if your DETLEF list files shall be written to C:\DETLEF\MYSITE then make it read like this:

[Destination]
DETLEFDirectory=C:\DETLEF\MYSITE

Now you need to list all directories where the missions can be found into the "[ToProceed]" caption in the following format:

MISSION_DIR,ARCHIVE_DIR,MISSION_EXT,ARCHIVE_EXT,DETLEF_EXT,DOWNLOAD_DIR

  • Mission_Dir specifies where to find the MSN/MN2/HOG files to automatically read the informations for the DETLEF files.
  • Archive_Dir specifies where to find the already packed ZIP/RAR/EXE files to automatically read the size and post date informations for the DETLEF files.
  • MISSION_EXTENSION is "MSN" for D1 missions, "MN2" for D2 missions.
  • ARCHIVE_EXTENSION is "ZIP" for ZIP files, "EXE" for DNet's archives etc. Note: the main name of the archive needs to be the same as the one used for the MSN/MN2/HOG files (e.g. MYLEVEL.HOG needs to be packed in MYLEVEL.ZIP or MYLEVEL.EXE etc.)
  • DETLEF_EXT is one of "D1A" to "D2D", specifying which type of missions in the directory MISSION_DIR is (e.g. D2 Anarchy="D2A").
  • DOWNLOAD_DIR is the URL name to be put before the download file, withOUT the slash/backslash. E.g. "http://www.myserver.com/levels" or simply "6" if you defined alias names in your DETLEF.INF file.

Here is a little example:

[ToProceed]
n:\detlef\test\d1a,n:\detlef\test\d1a,msn,exe,d1a,1
n:\detlef\test\d1b,n:\detlef\test\d1b,msn,exe,d1b,2
n:\detlef\test\d1c,n:\detlef\test\d1c,msn,exe,d1c,3
n:\detlef\test\d1d,n:\detlef\test\d1d,msn,exe,d1d,4
n:\detlef\test\d2a,n:\detlef\test\d2a,mn2,exe,d2a,5
n:\detlef\test\d2b,n:\detlef\test\d2b,mn2,exe,d2b,6
n:\detlef\test\d2c,n:\detlef\test\d2c,mn2,exe,d2c,7
n:\detlef\test\d2d,n:\detlef\test\d2d,mn2,exe,d2d,8

In this example I put all D1 Anarchy files (MSN, HOG and EXE) into the directory N:\DETLEF\TEST\D1A etc. As you can see you CAN put the distribute archive file into the same directory as the MSN/HOG file, but you NEEDN'T! However the MSN/MN2 files and their HOG files need to be in the same directory. You should also place the TXT files into the directory with the MSN/MN2/HOG files for easier usage of the LVLREP utility.

The last parameter are alias names, which are defined in my DETLEF.INF file like this:

[Alias]
1=http://www.descent2.com/download/levels/d1anarchy
2=http://www.descent2.com/download/levels/d1architectural
3=http://www.descent2.com/download/levels/d1siplayer
4=http://www.descent2.com/download/levels/d1archives
5=http://www.descent2.com/download/levels/d2anarchy
6=http://www.descent2.com/download/levels/d2architectural
7=http://www.descent2.com/download/levels/d2siplayer
8=http://www.descent2.com/download/levels/d2archives
9=
0=

 

How to run the tool:

Once you have invested the time to setup your DETLEFST.INI file all you have to do is starting MAKELIST and then upload the generated files. It's as easy as this...

 

Where the information comes from:

As you can read in the DETLEF server specs on the Descent Developer Network site each line in the list files consists of 13 parameters, defining the level. Here is an exact description, how MAKEHTML finds out these informations:

  • Parameter 01 - HOG_NAME
    From the filename...

  • Parameter 02 - MISSION_NAME
    From the MSN/MN2 file, keyword "name", "xname" or "zname"...

  • Parameter 03 - DOWNLOAD_URL
    Using the DOWNLOAD_DIR parameter from the DETLEFST.INI file (last parameter) plus "/" plus the HOG_NAME plus the extension as specified in the ARCHIVE_EXT parameter in the DETLEFST.INI file.

  • Parameter 04 - REVISION
    From the MSN/MN2 file, keyword "revision"...

  • Parameter 05 - AUTHOR
    From the MSN/MN2 file, keyword "author"...

  • Parameter 06 - AUTHOR_NICKNAME
    From the extended author informations, provided with Descent Manager, using the MISSION.AUT file in the HOG.

  • Parameter 07 - AUTHOR_REALNAME
    From the extended author informations, provided with Descent Manager, using the MISSION.AUT file in the HOG.

  • Parameter 08 - NUMBER_OF_LEVELS
    From the MSN/MN2 file, keyword "num_levels" plus "num_secrets", if available.

  • Parameter 09 - SIZE_OF_DOWNLOAD_FILE
    Reading the file size of the archive file.

  • Parameter 10 - RELEASE_DATE
    From the MSN/MN2 file, keyword "date"...

  • Parameter 11 - POST_DATE
    Reading the file date of the archive file.

  • Parameter 12 - ICON_ATTRIBUTES
    Needs to be set manually. See below.

  • Parameter 13 - FEATURES_ATTRIBUTES
    Scanning the HOG file, if one or more of these features are provided (like is there a POG file etc.).

The ICON_ATTRIBUTES parameter is something special. MAKELIST can of course not automatically decide how you rate it:

  • If you think it is a normal mission without any awards, do nothing.
  • If you want to award it with the GOOD_MISSION attribute, add the name of the HOG to the file "DETLEFST.IA1".
  • If you want to award it with the PERFECT_MISSION attribute, add the name of the HOG to the file "DETLEFST.IA2".
  • If you want to award it with the BAD_MISSION attribute, add the name of the HOG to the file "DETLEFST.IA9".
  • If it is a beta version, just make sure the "revision" keyword in the MSN/MN2 file states the word "beta" or "alpha" somewhere (like in "1.0beta") or has a version number beginning with "0.".
  • If you want to set the HANDLE_SPECIAL attribute, add the name of the HOG to the file "DETLEFST.IA!".

Notes:

  • - PERFECT_MISSION overrides GOOD_MISSION.
  • - BAD_MISSION overrides both.
  • - BETA_MISSION overrides all three.
  • - HANDLE_SPECIAL is independant of the other three attributes.

 

CHCKLIST - Checking your list files

How to setup the tool:

Open the DETLEFST.INI file located in the DETLEFST subdir of StIF (by default C:\DMTOOLS\_STIF) and specify the directory where your list files can be found for testing using the "DETLEFDirectory" key in the caption "[Destination]". E.g. if your DETLEF list files are available at C:\DETLEF\MYSITE then make it read like this:

[Destination]
DETLEFDirectory=C:\DETLEF\MYSITE

 

How to run the tool:

After you once setup the directory, start CHCKLIST without any command-line parameters at a DOS prompt. The files will be checked for errors and if any are found, CHCKLIST will provide you a log named CHCKLIST.LOG and also offers you to immediatly view it.

 

What kind of errors can be found:

Here is a list, what tests are made for every line of every list file:

  • If NUMBER_OF_LEVELS is a valid integer number (and no string/text).
  • If SIZE_OF_DOWNLOAD_FILE is a valid integer number (and no string/text).
  • If REL_DATE and POST_DATE is in the format mm/dd/yyyy, and if mm is within range 01<=mm<=12 and day within 01<=dd<=31. (Note: Invalid dates like 04/31/1998 are not reported as error).
  • If ICON_ATTRIBUTES only consists of one attribute (the "!" is an exception here), and if it's a valid one.
  • If FEATURE_ATTRIBUTES only consists of "T", "M", "R", "P" and "B" letters.
  • If there are too many or too less parameters (<>13).

 

MAKEHTML - Automatically generated HTML pages using the lists

How to setup the tool:

Open the DETLEFST.INI file located in the DETLEFST subdir of StIF (by default C:\DMTOOLS\_STIF) and specify the directory where your list files can be found for testing using the "DETLEFDirectory" key in the caption "[Destination]". E.g. if your DETLEF list files are available at C:\DETLEF\MYSITE then make it read like this:

[Destination]
DETLEFDirectory=C:\DETLEF\MYSITE

Also you should copy the *.MHD example files from [DETLEFST-dir]\TEMPLATE\MHD dir into the [StIf32-dir]\DETLEFST\MHD directory, to use them as templates for your own MHD files (see below). Best is you just call MAKEHTML once with "MAKEHTML xample1" and look at the result at C:\XAMPLE.HTM (<- you can edit the output file name and path later by editing XAMPLE.MHD in the DETLEFST\MHD subdir of StIf32), then study the XAMPLE.MHD file how it works.

  • [Settings]
    OutputFile is the name of the output file incl. path.

    D1A to D2D can be 0, 1 or 2:
    0=do not include levels from this list
    1=include levels from this list using the common "[Entry]" mask
    2=include levels from this list using the special "[Entry-xxx]" mask, where
    xxx is the list name (D1A..D2D)

    SortItem can be:
    HOG_NAME sorting by the HOG name
    MISSION_NAME sorting by the mission name
    AUTHOR sorting by the author name
    RELEASE_DATE sorting by the release date {NOT YET IMPLEMENTED!}
    POST_DATE sorting by the post date {NOT YET IMPLEMENTED!}
    or blank to skip sorting.

    ExcludeAttributes can be of any mix of the following symbols:
    0 exclude all NORMAL_MISSIONs
    1 exclude all GOOD_MISSIONs
    2 exclude all PERFECT_MISSIONs
    - exclude all BAD_MISSIONs
    b exclude all BETA_VERSION missions

    Features can be of any mix of the following letters (case-sensitive!):
    T only missions that contain custom textures
    M only missions that contain new MIDI music
    R only missions that contain new robot behavior
    P only missions that contain custom polygon models
    B only missions that contain briefings

    If "Author" is not blank then only this one author is listed. This is case-
    insensitive, can be a substring and it will be searched in all the author,
    real and nick name in all missions.

    If "Letters" is not blank then only the missions with the item that is
    defined in "SortItem" starts with the listed letters will be listed. E.g. if
    "SortItem=HOG_NAME" and "Letters=KLM", then only missions whose HOG name
    starts with the letters K, L or M will be listed on this page. This can be
    useful to spread the levels over multiple pages;

  • [Header]
    Everything that you want to have in your HTML file before the first mission.
    Note that each line is restricted to 255 chars, however there is no
    restriction in the number of lines here. Macros are ignored here.

  • [Divider]
    If [Settings]/SortItem is HOG_NAME, MISSION_NAME or AUTHOR:
    Inserts this HTML code everywhen a new letter is begun. So you can divide
    your table between missions starting with A/B/C/... etc. letters. The
    SortItem also defines which criteria shall be tested for a new letter.
    You can use the macro "%CHAR" to display the current letter in the text.

    If [Settings]/SortItem is RELEASE_DATE or POST_DATE:
    Inserts this HTML code everywhen a new date has begun. So you can divide
    your table between when the levels were posted/released, making a cool
    "What's new" page.
    You can use the macro "%DATE" to display the current date in the text.

    If [Settings]/SortItem is CATHEGORY:
    Inserts this HTML code after each cathegory. So you can divide your table
    between the different cathegories.
    You can use the macro "%TYPE" to display the current cathegory in the text.

    If [Settings]/SortItem is AUTHOR:
    Inserts this HTML code after each author. So you can divide your table
    between the authors.
    You can use the macro "%AUT" to display the current author in the text. It
    automatically displays "<unknown author>" instead, if the author is not
    specified for missions.

    If [Settings]/SortItem is blank or you do not use this caption:
    No seperator will be used.


    [Entry]
    The HTML code for each mission. Note that each line is restricted to 255 chars both WITH and WITHOUT the macros inserted (so leave a little space to 255 if using macro names in a line).


    The following macro names are allowed:
    %HOG_NAME The name of the HOG file
    %HOG_NAME_LC Same in lower case. Can be of use when using in URLs
    %MISSION_NAME The mission name as displayed in Descent
    %DOWNLOAD_URL The complete (absolute) URL of the download file
    %REVISION Revision
    %AUTHOR The name of the author
    %AUTHOR_REALNAME The real name of the author
    %AUTHOR_NICKNAME The nickname of the author
    %NUMBER_OF_LEVELS Number of levels in the mission (including secrets)
    %SIZE_OF_DOWNLOAD_FILE Size of the download file (in Bytes)
    %KSIZE_OF_DOWNLOAD_FILE Size of the download file (in kBytes)
    %RELEASE_DATE The release date in mm/dd/yyyy format
    %POST_DATE The post date in mm/dd/yyyy format
    %CATHEGORY The cathegory ("D1 Anarchy" for the D1A list etc.)
    %DESCENT The game type (e.g. "Descent 2")
    %DESCENT_SHORT The game type in short form (e.g. "D2")

    You should look at the XAMPLE*.MHD files to understand how this works...

    Also soon coming are %IF-Clauses where you can display e.g. an image when ICON_ATTRIBUTES is "PERFECT_MISSION" or so...

  • [Entry_D1A]
    Special entry code for D1 Anarchy missions only (for this [Settings]/D1A must be on "2")
    . Same with Entry_D1B (D1 Architectural), Entry_D1C (D1 Single-Player), Entry_D1D (D1 Archives) and the same with D2A-D2D for D2.

  • [Foot]
    Everything that you want to have in your HTML file below the last mission. Note that each line is restricted to 255 chars, however there is no restriction in the number of lines here. Macros are ignored here.

 

How to run the tool:

The MHD file must be in the subdirectory DETLEFST\MHD of where you installed StIf32 to (normally C:\DMTOOLS\_STIF). Also you need to have your DETLEFST.INI file setup with the right alias names (see DETLEF server specs at http://www.descent2.com/ddn/specs/detlef.html) and your list files compiled. Now start the tool with MAKEHTML <mhd-filename>. E.g. to compile with the XAMPLE1.MHD file enter MAKEHTML XAMPLE1.MHD. That is all...

 

The XAMPLE*.MHD files:

DETLEFST delivers some example files named XAMPLE*.MHD in its TEMPLATE\MHD subdirectory. Use them to learn the MHD file format. The files do the following:

XAMPLE1.MHD "Complete Descent 2 levels list" page, sorted by HOG name
XAMPLE2.MHD "What's new" page, all missions sorted by date
XAMPLE3.MHD "Authors levels" page, all missions sorted by author
XAMPLE4.MHD "Luke Schneiders levels" page, his missions sorted by cathegory
XAMPLE5.MHD "Essential levels" page, only listing good and perfect levels

 

LVLREP - Generate .DET files for Mission Details and Advanced Search Queries

LVLREP/DOS is installed in a seperate directory (default: C:\DMTOOLS\LVLREP) and so has its own documentation. Here only the part how to create the DETLEF *.DET files is explained!

 

How to setup the tool:

The tool runs without any extra configuration files if you run it in manual mode using the /det switch. However it is highly recommended that you use the AUTODET mode, which automatically scans all directories listed in the "[ToProceed]" caption of the DETLEFST.INI file.

 

How to run the tool in manual mode:

Simply enter

LVLREP /DET {directory}\*.MSN <-- for directories with Descent 1 missions
LVLREP /DET {directory}\*.MN2 <-- for directories with Descent 2 missions

The .DET files will be created in the same directory. Upload them to the directory where your levels for download are (when uploading to a Unix server, pay attention that ".det" is spelled in lower case!)

 

How to run the tool in AUTODET mode:
Setup the "[ToProceed]" caption as explained above in the MAKELIST tool (even when you do not use the MAKELIST tool to create your lists!). Then enter:

LVLREP /AUTODET

That's all. The .DET files will be created in the same directory as the missions are.

 

Important notes for this beta version
  • Descent 1 .DET files are not yet containing the correct information for all weapons. If you view at them using the DETLEF32 client, you will find things like "Gauss=2", even though D1 doesn't have any Gauss. For D1 .DET files wait for the next version of the DETLEF Server Tools!

 

General notes
  • The DETLEFST.* files need to be placed in the DETLEFST subdirectory of where you installed StIf. By default this directory is empty, you can use the files in the TEMPLATE subdirectory of where you installed DETLEFST and adapt them until they contain the right information for your system/server.
  • Copy the *.MHD example files from [DETLEFST-dir]\TEMPLATE\MHD dir into the [StIf32-dir]\DETLEFST\MHD directory for the MAKEHTML utility.
  • .DET files are created in the same directory as the MSN/MN2 files they belong to.

 

sign_download.gif (151 bytes) Download DETLEF Server Tools for DOS now!
(Current version: V1.0 Beta 01 [Build 02], Date: 04/06/98)

 

WebHits counts accesses on this page since 02/08/97. View detailed statistics!