Fantasy Hockey League Simulator

Commissioners Manual


Copyright© 1997-1998 Sean Bates

Copyright© 1998-2003










Congratulations on your purchase of Fantasy Hockey League by Welcome to the world of simulation hockey. We think you will soon find FHL the easiest hockey simulation tool you've ever used to run a fantasy sports league.

FHL Overview

FHL is a very complex simulation engine that allows you to simulate hockey games, compile results that are Internet ready in HTML. FHL consists of two main components: FHL program you have purchased, and its mate, GM Editor.

FHL is the commissionerís tool for use in simulating your hockey league and generating the results. The GM Editor allows participants in your league to make roster changes and set their lineups without purchasing FHL itself. Lineups files are sent to the commissioner for input into FHL and the games can then be simulated.

GM Editor can be obtained at

To help you with your FHL league, has the latest updates, add-ons and frequently asked questions and answers. FHLSim also provides online peer support so that you can benefit from the solutions, tips and tricks of other veteran commissioners. If those don't suit your needs, find our link to email technical support located on our website as well.

Getting Started

Quick Start: Creating Your League

If you can't wait, skip to the "Starting Your League" instructions below. This will show you how to create a completely new league so you can try out FHL. The following are recommended instructions for creating a new league from the statistics provided in the FHL distribution. The procedure is similar for any league files you may choose to use, whether included with the FHL distribution or downloaded from the Internet.

League Operations Overview

FHL allows you to create and operate your own league of virtual hockey teams. You can simulate (sim) your league operations, allowing your General Managers to focus on individual games, or to create a dynasty through the draft, player development, trades and free agent signings.

You start by naming your league, and deciding on a divisional alignment within the two conferences. Each team you create is named, and assigned to a division. Players are created by entering a data set of player attributes and rating each player's skills and and assigned to teams. Existing player databases made by FHL and community members can kick start your league.

Coaches are also created according to their attributes, then hired onto each team and handle the management of the in-game decisions. General Managers are real people. Your friends, coworkers and other folks you have in your league decide on player movement, send in lines to you via email using the free GM Editor tool. You can also handle this yourself if you prefer to play solo.

Once your league is created the first time, each season of an FHLSim league typically includes several activities:

  • Create Schedule
    Set up the regular season that your teams will play through.
  • Simulate Games
    Set team lineups, simulate games, view and distribute the results. During the season you also may do some of these optional activities:
    • Make Trades of players, draft picks and cash
    • Sign Free Agents to teams
    • Release Players from teams
    • Promote and demote players from the minors
  • Rerate Players
    Players ratings are adjusted by the FHL program to simulate skill changes from player development and aging.
  • Conduct an Amateur Draft
    New players are added to the league as prospects through an Entry Draft.
  • Activate and Rate Prospects
    Prospects may be signed to a contract, activated and assigned ratings.
  • Assign Free Agents to Signing Teams
    Players whose contracts have expired will be assigned to teams according to new contract agreements by teams.

Starting Your League

Your Fantasy Hockey League simulator registration email comes with links to league files for several different seasons. Download those league files and unzip them into your c:\Program Files\Fantasy Hockey League folder (this folder will be referred to as %FHLHOME% for the rest of this document). If you installed FHL somewhere else, remember when we talk about the %FHLHOME% folder, we actually mean where you installed FHL.

Likely, one of your first desires is to create a completely new league from these or other league files. The following are suggested step-by-step instructions for creating a new league from the statistics provided in the FHL distribution. The procedure is similar for any league files you may choose to use, whether included with the FHL distribution or downloaded from the Internet.

Note: You may want to try this once with the suggested examples to become familiar with the process.

  1. Start the FHL program.

  2. Select File | Load.

  3. Browse to %FHLHOME% and load the Pro2004 league files shown there.

  4. Explore the different teams to see the kind of players that will be in your new league.

  5. Select File | New.

  6. Name your league by entering the league name in the dialog box. This name will be used in all reports and subsequent references to your league name. In this example we will use the name "Compuleague"

  7. Select a .drs file when prompted for the player database to use as the source for your players. This file can be obtained from website, or from the player databases distributed in the FHL distribution. Here we will chose NHL2001.drs.

  8. League Alignment
    Align your league in the League Alignment dialog by creating teams in their respective divisions.

  9. Click the Add Team button

  10. Enter a team name to add a team to Conference 1 Division 1. Team names are truncated to a maximum of 10 characters.
    Note: If you make a mistake and want to move a team to a different division:
    Click on the team and the click in the list in placeholder area in the upper left corner.
    Click on a different division
    or conference.
    Click on the team to move to the newly selected division and it will be added to the current division.

  11. Rename the respective conference and division names by clicking the name and clicking the rename buttons.

  12. Populate the league with at least 16 teams. You can use fewer teams but FHL works best with at least 16 teams. We recommend using an even number of teams, ideally a number divisible by the number of divisions in your league.

  13. Click exit when your league alignment is completed. You can return if you want to make changes later.

  14. Select League Options
    †Select the preferred league rules in each league options dialog tab. These are described below in the Options section.

  15. Click Exit when complete. The main FHL window will appear with your teams displayed in the alignment your chose earlier.

  16. Click File | Save As. You must choose a new league prefix. This league prefix will be used in front of each of your report filenames. In the example, use c:\Program Files\Fantasy Hockey League\complg

  17. Observe the league files displayed in the application as above.

  18. Exit FHL and back up your league files so that you may return to this point if you make a mistake.
    Note: We recommended you use an archive application such as WinZip to add the the league files. In this example, all the complg.* files located in c:\Program Files\Fantasy Hockey League\ folder should be zipped. If you are not familiar with Zip archiving applications, refer to for more information.

  19. Assign Unused Players
    Select Draft|Assign Unused Players to assign players to teams. Select a player from the player list and select a team from the team list. Click the Add to Team button to add the selected player to the selected team.

  20. Repeat the process until all players are assigned.
    Tip: To enhance the process, consider using a macro program to automate the assignment of players to teams if you are randomly assigning players to teams.

  21. League | Create Schedule is the step to use to get your league started. Choose your parameters here carefully, selecting even numbered matchups for divisional, conference and league matchups where possible.

  22. Now you have a newly created league that is ready for play!

Your Entry Draft

As with the NHL, newly eligible players come into the league via an entry draft, where teams select from a pool of young players in reverse order of the previous year's finish. These players may subsequently negotiate exclusively with only the drafting team, and then sign a professional contract. Until the time of signing, the player simply is a prospect of that team.

To perform this process in FHL, you first must have a list of prospects. You may want to use your own draft list. Use the following instructions below to create your own draft list or skip to the next set to use an existing draft list.

Creating a Custom Draft List

  1. Start your favorite text editor (or Notepad, if you have to :)
  2. Key in a list of draft eligible players, by name. Only first and last name are required, separated by spaces, with each player on its own line. Save the file.

    Note: Put the players in some logical order. Alphabetical order (by first name) or in rank order of your league's Cenrtal Scouting Bureau are two options.

    Warning: These names MUST be unique in your league, in your unassigned players list, in the prospects list, and in your current entry draft list. If you do not make the name unique, you may lose existing players statistics, or lose the prospect.

  3. Save the draft list in your %FHLHOME% folder.

Performing the Entry Draft

  1. Start FHLSim.
  2. Select File | Load. Select your league files and click Open.
  3. Select League | Options. Select the number of draft rounds you want.
  4. Check the Enable Lottery check box if you want to enable a lottery.

    Note: Enabling the lottery will reseed the non-playoff teams pick order based on a weighted random algorithm. Lottery picks are not applicable to playoff teams, so which teams are affected will depend on your playoff format.

  5. Select Draft | Begin Entry Draft. A listing of the players in your entry draft is shown at right, in the order of occurrence in the list.
  6. Browse to the file that contains the player list for this draft, and click Open.

    Note: The draft file included with the league files is called "prospect-list.txt".

  7. If employing a lottery, click Output, and view the draft order.

    Note: A lottery draft order will change each time you Select Draft | Begin. It will not change if you Select Draft | Continue.

  8. Select the player on the right side, and click "Add to Team" to draft that player onto the team on the left.
  9. Continue the player selection process until you have completed your maximum rounds of drafting. A dialog box will indicate when the draft is complete and the draft record will be output in the TRANSFER folder.
  10. Warning: Once you complete your draft for that season, do not start another this season. Doing so will cause redundant prospects on each team.

Player Activation

When the draft is completed, some teams may sign their prospects to pro contracts and assign them to the minor leagues for development. In FHLSim this process is to "Activate" a prospect. When a player is activated, ratings must be assigned that represent his skills. Otherwise, prospects do not have skill ratings and therefore do not "develop". These ratings can be added as the player is activated. If the players name and ratings already exist in the player database (otherwise know as the .drs file) then that set of ratings will be used for the activated prospect.

To Activate a player, follow these steps:

  1. Start FHL.
  2. Select Manager|View Prospects.
  3. Select the Team which have players to be activated.
  4. Select the Player.
  5. Click Activate.
  6. Select one of the following:
    • Select the player matched from the list of players, or
    • Click "Use Selected" to use another player who is close to the players ratings, or
    • Click "Manual Create" to create a new player in the database, on-the-fly.
      A player's attributes and ratings can be adjusted by right and left clicking to tweak the ratings up or down, or to key them in when a dialog box pops up.

Player Ratings

Ah yes. This is the root of most questions - what ratings are most important and how does it affect the game? Well, that the enigma that makes FHL so good at what it does. In many games you can boil off the model to an equation. With FHL, if your ratings are true to the skills of the player, the players statistics and contribution to his team will be equally realistic.

The Player Roster Legend describes the ratings names and short forms. Here we will describe them in more detail.






This is the player's ability to play at his peak level every shift on the ice.



This is the player's skating speed, which is both acceleration and raw speed.



This rating affects the player's ability to work in the corners, in front of the net, etc.



The endurance rating allows players to take more and longer shifts during the game.



The durability rating is directly propotional to how often a player will come out of a game unhurt.



A player with a low discipline rating takes more penalties and is more likely to fight when combined with Intensity.



This rating affects the player's to balance and move in all four directions.



The passing rating represents how good the player is at moving the puck or setting players up in scoring position.


Puck Control

A high puck control rating means the player is more likely to shoot and less likely to give the puck away.



A high defensive ratings affects a players' ability to break up passes, rushes and cover offensive players.



This is the players' ability to put the puck in the net and also to create scoring opportunities without the puck.



Experienced players tend to be more consistent from one game to the next, and tend to be more effective in close games.



Players demonstrating leadership tend to make the whole team more consistent from game to game and shift to shift.



OV is a composite of the other ratings shown above. The weighting of these ratings is different for offensive players, defensive players and goaltenders, recognizing thier important roles on the team and the relative value provided.

FHL Reference Manual

FHL Menu Options

This section contains a description of all the menu options you will find in FHL.

1.0 File Options


Load a saved league file. If you have made changes to your current league, FHL will prompt you to save them prior to loading the new league.


Save current league file. Normally, as you make changes in FHL, the changes are saved in swp files, and flags are set when the changes in memory and swp files are out of synch with your league files. When you elect to save, the information in memory is written to the swp files, and those are are over to the normal league files.

The league files consist of:

sensim.tms – TeaMS file; this file records team names, division names, and alignments in the league.
sensim.ros – ROSter files for accumulated stats
sensim.lge – LeaGuE file; this is where league settings are stored
sensim.pct – ProspeCT file;
sensim.fas – Free AgentS file; records who the free agents are and what level.
sensim.scd – SCheDule file; this is where the current league schedule is stored.
sensim.scx – SChedule file (FHLX format); this is where the current league schedule is stored in FHLX format.
sensim.dpk – Draft PicK; this file holds information about team draft pick ownership and trades.
sensim.pri – PRIority filel this is where the priority list for teams in drafts is stored.
sensim.wvr – WaiVeR; holds players currently on waivers and claims against them.
sensim.coa – COAch data file; stores info about your coaches.
sensim.drs – Data RoSter files; source files for player ratings and creating new leagues.
sensim.tra – TRAnsactions file; stores the stuff for trades, promotions, demotions, etc.
sensim.plf – PLayofF file; stores information about the current state of your playoffs (if underway).
sensim.rec – RECords file; not used in 1.x
sensim.csr – Cumulative Stats Record; holds a checkpoint of a player's stats when he is traded.
sensim.eml – EMaiL file; records email addresses of GMs.
sensim.frm – FaRM file; records the farm stats.
sensim.dft – DraFT file; this file stores information about the current draft if one is underway

The swp files used are as follows:

League File Extension

Swap Filename



































Save As works just as Save does, except that you are able to save the current league file under a new name. All .swp files are copied to the new league filename.

1.4 NEW (CTRL-N)

Start a new league from scratch. All current teams and league info will be erased. You will then go to the Align League setup page where you can create teams and assign them to appropriate conferences and divisions (see 4.1 ALIGN LEAGUE).


Another new league option. Instead of starting from scratch, however, you import HLS2 teams. You will then proceed to the Align League setup page where you can arrange the teams in conferences and divisions. There are two options when importing HLS2 rosters; 1) Use FHL ratings, and 2) Use HLS2 ratings. If you use FHL ratings the program will cross reference player names from your HLS2 files but it will use the ratings from the default database. This is generally the best method as the FHL numbers produce the best results. If you choose to use HLS2 ratings, FHL will simply multiply your HLS2 numbers by 10 (to correspond with the FHL 25-99 rating system).



Upon selecting View Team you will go to the team window of whichever team has been selected on the main screen. You can also proceed to the team menu by DOUBLE CLICKING on the team's name in the main listing. At the team window you can change such info as current finances, team name, coach, team abbreviation, arena name, arena size or ticket price. To change any of these, simply click once on the desired item and a dialog window will open allowing you to enter new information. To change team finances click on the current finance amount. When the dialog box opens, enter the amount you wish to add (a negative number will subtract) to the current total.


To view coach information, click on "Info" next to the coach's name. A coach window will open showing the coach's ratings in Offence, Defence, Leadership and Experience as well as his current salary. To change any of these values simply retype them in the appropriate window. You will be prompted to save any changes when you exit. To hire a new coach, select "Hire New". You will proceed to a list of available coaches. To select a new coach, double click on any name in the menu or highlight the appropriate name and click on "Use Selected". The coach info window will be automatically updated.


Go to the prospects window. Once this window opens, you can select a team from the pull down menu and display it's prospects. To activate a prospect, highlight his name and select "Activate". You will then proceed to a "Find Match" window where you can browse the unused players in the league database. Sometimes this is handy if a player's name has been mispelled. Simply locate the player's name in the list and then double click on it. The player will be added to the team's farm roster. If you cannot locate the player's name in the database then you can manually create ratings for him by selecting "Manual Create".

Once in the Player Info window, simply enter the appropriate values by clicking on them and then entering info in the dialog boxes. The prospect window will also allow you to Add or Delete prospects by clicking on the appropriate button. When deleting a prospect, make sure his name is highlighted first.


Go to the trade window where you can swap players, prospects, draft picks or cash between teams. Select the two teams involved in the trade by using the corresponding pull down menus. Then click on all the items involved in the trade. When you click on an item it remains highlighted. That means it will be involved in the trade, so if you accidentally click on something, make sure you click on it again to "un-highlight" it. Otherwise it will be traded. Once you have made the appropriate selections, click on "Execute Trade" and the deal is done. Players will be sent to the corresponding rosters (pro to pro, farm to farm). If you want to include money in the trade, click on the text window next to "Cash". A dialog box will open allowing you to enter the amount of cash involved in the deal. You can get a quick opinion from the sim by selecting "Assess Trade". FHL will tell you who it thinks is coming out ahead in the deal.


Any players who's contract has been reduced to "0" will be considered a free agent. If you go to the Free Agent window you will see a list of these players. Clicking on "Output" will create an HTML file titled <league>FreeAgents.html in your FHL\TRANSFER directory. To sign a player to a team, highlight the team and the player and then select "Add to Team". You will be prompted to enter the new contract length and salary. Once you have done this, the player will be assigned to the appropriate roster on the new team.


Players who are currently on waivers can be viewed by selecting "Check Waivers". You can also set the priority list in this screen. To set priority, click on "Set Priority" and you will switch to priority mode. Clicking on a team name will "pull" the name from the list. Click on the section of the list where you want the team to "reappear". Once you are done setting the order, click on "Save Priority" to return to normal mode. You can save the priority order as the entry draft order by selecting "Set Draft Order". When you click on a team in the priority list (while in normal mode), players available to that team will appear in the "Waived Players" list. If you want to claim a player, highlight his name and the team that will claim him and click on "Claim Player". If a team has waived a player but wants him back you can select "Recall Player" to remove him from the waiver list. However, if he has already been claimed by a team that is higher on the priority list then this option is not available. Once a team has claimed a player from waivers, that team will be placed in the priority spot of the team it claimed the player from.


Clicking on this option will allow you to randomly set player contracts from 1-4 years. This is done to all teams simultaneously and you will be prompted to confirm that you're sure you want to do this.



Select "Set Game Roster" to set which players are in a team's game roster. You can view players by position by simply turning the appropriate position buttons on or off. The roster list follows standard Windows conventions so you can select several names by holding down CTRL and clicking on them. They will then be moved at once when you select the appropriate movement button (Scratch>, <Dress, To Farm>,<To Pros). You can view detailed player info by double clicking on any player's name.

In order to have a complete roster you must have at least three players at each forward position, 6 defencmen and two goalies. There must also be a total of 20 players altogether. When your roster is complete "Roster Complete" will appear in the top right hand corner of the screen.

You can add players to the team by selecting "Add Player". This will access the unused players in the player database. The "Protect" button is currently not implemented but will be used during expansion draft.


Displays all relevant player data. To change any data just click on the item you want to change and you will either receive a dialog box or the item will change at increments. If it is an incremental change, then you can alternate between upward and downward increments by either right clicking or left clicking with the mouse. To delete the player from the roster select "Release".


Set's the game lines for a team. Clicking "Auto" will set the lines for you. As in the roster window, you can view players by position only and you can access player data by double clicking a player's name.

To enter players in appropriate spots, click on the player's name and then click on the spot you want to assign him to. Alternate between regular strength and special teams lines by clicking on the appropriate button in the top right hand corner. "Extra Skaters" are the players called upon first when a sub is required so generally they are your best players.


Click on Text Lines in the Lines Window to load text formatted lines for a team. You will go to a File Dialog that will allow you to locate the corresponding text file. The proper format for text lines is as follows:

The first five lines should list the players who will be in your roster. There cannot be more than twenty altogether, with only 2 players designated as goalies. List jersey numbers for players as follows, separating each with a comma:

Left Wingers
Right Wingers

Type "***" on a separate line

Then, still using jersey numbers, assign players to lines in the following order:

4 even strength lines (5 players).
2 5 on 4 power play lines (5 players).
2 4 on 3 power play lines (4 players).
2 4 on 5 penalty kill lines (4 players).
2 3 on 5 penalty kill lines (3 players).
2 Extra Skaters.
1 Starting goalie.

All said and done your lines should look something like this:


When you receive the lines file via email, copy them from your email program and paste them into Notepad or a similar text program. Make sure there is no space at the top of and then save the file with a name that is easy to remember.


Automatically generate rosters and lines for all teams. Bear in mind that each team requires 3 centres, 3 left wingers, 3 right wingers, 6 defencemen and 2 goalies dressed to be able to ice a team. If this is not the case the simulator will not be able to continue.



This screen will allow you to rearrange the setup of your league. Note, you do not want to do this once you have made a schedule as realigning the league will disrupt any current schedules you have made.

To view teams in a division, select the appropriate Conference and Division in the top right hand corner of the screen. Teams will appear in the text boxes at the bottom of the screen. Clicking on a team name will send it to the "Unassigned Teams" list. You can then assign the team to a different division by first selecting the division, highlighting the team in the Unassigned Teams list and then clicking on an empty text box. To add a team select "Add" when you are in the Division you want to add the team to. You can activate an Expansion Draft by clicking on the Expansion Draft button.


Go to schedule window where you can create a new schedule. Creating a new schedule in mid season will obviously disrupt the current season. Sometimes you will select a certain configuration of games and you will receive an "Attempt Failed" error. If this happens try changing the number of games played in each category.

In order to produce an accurate schedule the number of games a team plays outside it's conference (i.e. vs League) must be even. So if there are 13 teams in the opposing conference, you cannot play 3 games Versus League (because 3x13=39, an odd number). In this case, you would try changing the Versus League games to 2. When you make any changes, the Total GP by each team will be updated in the bottom right hand corner. You can add more games by using the toggle buttons next to Total GP/Team. Avg. GP/Day and Variance determine the number of games played each day.


Check scores of past games, or see when teams play each other. Simply highlight a team in each of the two menus and then select Review Schedule. Games played by the two teams will appear in the lower window.


Go to games window where you can simulate games. Selecting Today Games will play one day's worth of games automatically. You can play exhibition games by selecting a team in each of the two menus and then clicking on Exhibition Game. A dialog box will show you the score and tell you what the boxscore was saved as in your FHL\TRANSFER directory.

You can simulate an entire season by selecting Full Season, but this can take quite a while depending on the speed of your computer. Also, there is no way to interrupt this once it's started. Selecting Rest Day will rest all teams for a day, which is particularly handy if you're playoffs end early and you want to give teams some well deserved rest.


Available once the regular season is complete. Playoff matchups are determined and a new file is created with playoff information saved separately from regular season. The file name is the same as your regular season plus "PLF". eg. playoff file name for "NHL98" becomes "NHL98PLF".


Available once the playoffs are complete. Continues the current league in a new season. Player contracts are reduced by one year and players age one year. Soon you will also have the option to "re-rate" players based on their age.


Set game options, including HTML Output, simulator settings and game options.


Set the current league year. This is important if you want draft picks to be properly labelled. If your current year is listed as 1997. The next draft year will be considered to be 1998.


This is where you determine which pages are outputted in HTML format. Click on all the pages you would like to have outputted and then click on Auto Output in the bottom right hand corner. After each day's games are played, the pages will be automatically created in your FHL\TRANSFER directory.

To customize pages you can click on HDR next to the appropriate page. This will open up a text window where you can enter custom HTML info. Whenever the page is created this HTML code will automatically be affixed to the beginning of the HTML document. Conversely FTR will allow you to edit the closing section of the HTML document, handy if you are creating tables to contain the league information.

For more information see section 5.2 Internet Output Header Options.


Number of teams in playoffs can be set to a) Top 16 teams, b) Top 8 teams, or c) Top 4 teams. This means a) Top 8 from each conference, b) Top 4 teams from each conference or c) Top 2 teams from each conference. If the "Seed Division Leaders" is checked, then each division winner will be seeded so that even if a division winner has less points than a second place finisher in the other division, the winner will be ranked higher come playoff time.


No Options implemented yet. File paths are all defaults as follows.

FHL\HEADERS: Source for HTML Header pages

FHL\TRANSFER: Transferred HTML pages

FHL\COMMAND: Line files from GM Editor


Set which elements you wish to include in your league. Also you can adjust the number of goals, shots, penalty minutes, suspensions and injuries in your league with the corresponding slider. Of the other options, Automatic Line Correction cannot be turned off.


Draft Rounds: Set the number of rounds in the entry draft.

Lottery: Determine whether or not a lottery will be held to determine the top overall picks. The lottery is conducted by taking all teams who did not make the previous season's playoffs. Teams are weighted according to how badly they performed in the previous season (i.e. the worst teams get more ballots). Teams are then drawn and the order is set. If lottery is not selected then draft order is according to record.

Unrestricted Age: Age at which free agents are considered to be unrestricted.

Minimum GP: Minimum number of games a player has to play to be considered eligible for waivers.

Age Exemption: Age, under which, a player will be exempt from waivers regardless of games played.

2-Way Con After: Number of games played after which a player will receive a two way contract. This means that he will receive a pro salary even if he is on the farm team.

Trade Deadline: Percentage of games played after which no trades are allowed.



Output pre-formatted pages for the league. When you first open the window, pages to output will be selected according to the settings in the options window. However, you can toggle pages on or off as desired.


Each HTML report can include an optional header/footer in the html output that is provided by FHL itself.

These files are found in the %FHLHOME%\Headers\ folder named *.hd1 through *.hd16 for headers and *.ft1 through *.ft16 for the corresponding footers.

The header/footer filenames and reports can be edited within FHL through the Output Tab League|Options menu, by clicking on the HDR or FTR buttons beside each report. If you prefer an external editory, you may edit the files directly. These files are consulted each time the Internet|Output HTML report is invoked. The Report to filenames are as follows:















































































This will start an entry draft using draft order determined by previous season or by setting it in the Check Waivers window (see Check Waivers 2.5). You will be prompted to select a draft file. A default draft98.txt file is included with FHL and is located in your main FHL directory. You can make your own draft file by simply using Notepad to create a list of player names. Put one name per line, no spaces. Save this as a text file and then load it when prompted to do so. You can leave the draft at any point and pick up where you left off later.




This allows you to assign unused players in the player database to teams. You can output all unassigned players to an HTML file by selecting "Output".

League Administration Tips

Test Your League Configuration

Make sure that you play with FHL lots before you start a league. Particularly, run a few test season with FHL if you plan to use weird (read odd-numbered) divisional alignments and such. If you have an incongruent league where the teams are not evenly distributed among teams you may have some issues with how FHL handles the schedule and playoffs. If you try a 17-team league you are just asking for trouble.

Baseline Your League

Be sure to baseline your league files before the start of a season. When we say baseline, we mean copy all the league files to a separate folder or better yet, drop them into a zip file with the date and time in the name.

Backup Your League Files Often

FHL copies files from your league files to swp.* files when it starts. It them works on these files whenever it can to avoid screwing up your regular league files. Trouble with this is even when FHL exits cleanly, itís possible for your league files to be put into a state where you donít want to be.

Disk space is cheap, and unused space is wasted space. Before each game night you should back up your league files. Use discipline in backing up, or you will pay dearly when the two or three GMs that show up on your door to mod you up.

Develop a Process and Follow It

Another way to enhance your ability to run a league and to avoid problems is to make a repeatable process for anything you do thatís league related. That means writing some step-by-step instructions for doing anything you do, as if your Great Aunt Frieda or your most technically incompetent friend was going to run games for you every night.


Automate as much as you can. Use scripts and batch files to pull lineups and push content to the web. There are excellent tutorials on batch files on the web if youíve never done them before. Ahuka Communications († has an excellent batch file tutorial starting at

ActiveState ActivePerl (†)is a free scripting language for Windows that you can use to enhance your processes.

Some excellent tools are available from Tim Charron

Getmail – retrieves your pop3 mail and attachments to a folder. Handy for getting the latest lineups

BLAT – sends mail using SMTP. Handy for sending out league files via email and for notifications of updated web pages.

WGET – handy for retrieving web content in a batch file

Macro Express ( ) is one of many handy tools for automating tedious and repetitive GUI tasks in FHL with a hotkey – like assigning unassigned players.


Well, how about this for a section in a manual? Yes, FHL has bugs – lots of them – itís a v1.x ! But software has bugs, too. Itís just that FHLís bugs can really make you mad when they adversely affect your leagues play, which often involves a dozen of your closest buds.

This is a good honest admission that our product isnít perfect and that you should take every precaution to save yourself from the torturous hell that awaits you if you have to learn the hard way about FHL problems in front of your closest friends.

FHL is particularly weak at exception handling, and does not fail cleanly when most runtime errors are encountered. Weíre working on it but there is a lot of legacy code that can get you into a weird state.

Notwithstanding the admission of bugs, remember your licence agreement: we donít warrant FHL will even work, so you canít hold this section of the manual against us. Weíre just trying to be honest here.

If you have a major crash, the best place to figure your way out is to mess around a bit, understand the problem and correlate it to a given team or operation. Then you can post that information to our support board and hopefully someone there will have a workaround for you.

You can send your league files to via email, with a very detailed description of the problem, the steps to repeat it, the last operations you performed before you encountered the error, and your speculation as to what the problem might be.

However, that will only assist us in patching FHL against this problem, NOT in getting your league files fixed. We will very rarely be able to fix league files for individual leagues, especially in time to save your league – we simply havenít the manpower or background it takes to resurrect league files for people.

The best you can hope for is to avoid the situation altogether, so read onÖ

How Not to Get Burned

Where to Get Help

If you are in trouble and donít know what to do, your first bet is to check out the FHL FAQ

There is an unofficial FHL FAQ at the FHL Forum which is updated more often than the one at

The FHL Forum is where you will likely find someone who has had that problem before

Usenet Newsgroups are still a great place to go, specifically

via your newsreader:

via Google Groups


Player Roster Legend


Condition. Determines the current health of the player in %. OK means 100%


Injury status of player


Day to day injury


1-2 week injury


2-4 week injury


4-6 week injury


2-4 month injury


Injured Indefinitely


Suspended for # games




















Puck Control











Team Scoring Legend


Games Played








Plus Minus


Penalty Minutes


Power Play goals


Short Hand goals


Game Winning Goals


Game Tying Goals




Shooting Percentage


Goal Scoring Streak (in games)


Point Scoring Streak (in games)