User: Pass:

October 5th, 2017 by

We add two new features to the system with this build: Team Shake-ups and Goalie Empty-Net controls. We’ve also fully completed making the Public Site responsive, meaning you should be able to view your league’s public site on any device or screen size. The site is made for mobile first and expands outwards from there.

We’ve made a number of changes to the css styling of the public site, so if things look wrong, the best thing to do is to hit CTRL-F5 to force a full refresh. If that doesn’t work you can try clearing your browser’s cache. After that, let us know. You may have found a bug we missed in testing.

Our focus will likely be on making the regular UHS site fully responsive. I will tell you that will be a very big task and likely take up to 5 or 6 months. It would probably take us longer but we have learned a lot from converting the Public Site to being responsive.


Team Shake-Ups
When firing a coach, the GM has the option to shake-up that team’s players. This option is available only once per season for that particular team (Pro or Farm). Essentially the GM will have the option to perform two shake-ups in a season: once for each the Pro and Farm teams. This option is ONLY available if the GM is firing a coach; you would not have the option to shakeup your Farm team if you promote your Farm coach to the Pro team, however, you would have the option to shakeup your Pro team since you are firing the Pro coach.

When a shakeup is allowed, the players on that team have their Streaks recalculated randomly. The chances are: 40% Hot streak (3 – 9 games), 10% Cold streak (1 – 5 games), 50% No streak. The new streak overrides whatever streak the player is currently on. For example a player that is already on a Hot streak could still get a new Hot streak but won’t get the games added on and it’s also certainly possible that a player on a Hot streak could suddenly find themselves with no streak or on a Cold streak.

Goalie Empty-Net / Extra Attacker Settings
GMs now have the ability to modify their team’s empty-net / extra attacker settings. You will be able to modify the goal difference your team is losing by as well the time remaining in the game. The goal difference will be 0 – 3 goals, with 2 being the default. Setting the goal difference to 0 will prevent your goalie from being pulled at all.

The time options are in increments of 15 seconds, with the default being 1m 30s (90 seconds) left in the game. You can set this up to a maximum of 3 minutes (180 seconds). If the goal difference is set to 0, it won’t matter what the time option is set to: your goalie will not be pulled.

Public Site Team Pages
All Public Site Team Pages have been updated to be responsive (ie. The data on the page should look good regardless of media device or screen size.) These pages were not fully optimized for responsiveness when the new Public Sites went live. If you are seeing any issues with your Public Site, please let us know.

Public Sites Go Dark
We now have a “Dark Theme” for public sites. To enable, simply go to your public site, go to the UHS navigation menu, click “Go Dark”. Once you’re in Dark Mode you can re-enable the default light theme by navigating to the same location and click “Go Light”.

Public Site Live Games
The Live Games show on Public Sites should now be fully responsive (meaning you should be able to watch them reasonably well on any device). We’ve updated the page to add the teams’ logos and made sure the Live Game mode looks reasonably decent with the Dark Theme.

Player Profile Age Rerate Fix – Hotfix: Oct.1 2017
We’ve updated the player profile’s rerate information (for age-based rerates only) to now show the player’s rerate percentages based on their current age and the current progress of the team through the current regular season.

The values were actually showing their rerate values as if they were a year younger. Additionally the leadership bonus was based on when the team played half their regular season games, so effectively the leadership bonus would be 0% until the pro team played half the season. The leadership bonus will now apply at all times and is a PROJECTION based on players that have played at least half the team’s current regular season games. Reminder: the Leadership Bonus is only applied to players marked as Pro (played more Pro games than Farm + Junior).

NHL Players w/ Injuries – Hotfix: Sept.24 2017
We’ve changed how UHS handles NHL players with injuries. Previously, we simply removed the player from the team and had them placed in free agency, however, this meant any team could then pick them up, despite being injured.

We will now keep the player on the team but have them set to be injured for 99 games. Once the real team takes the player off the injured reserve list (again, going by the data on, we’ll unset the injury. If you want to use the player anyway, you can still go in and edit their injured games back to 0.

This change takes effect for new leagues or leagues importing NHL Teams w/ players or leagues importing NHL Players individually. It will not change the injury status of NHL Players that already exist in your league.

Bug Fixes & Miscellaneous Changes
– Team Names and Logos will now link to that team’s Home Page for Public Sites.
– Public Site League Standings now show less information on small screen sizes.
– Fixed an issue where Team logos were not appearing for the League – Special Teams statistics page for some leagues.
– Fixed an issue where Games Results in public sites were showing OT goals despite the game being decided by a shootout.

Hot Fixes
– Changes were made to Public Site’s Team Personnel pages to prevent columns from being hidden underneath the Social section on the right side. These changes include: removing the Status column, changing the Jersey header name to #, and moving the Total / OV column to appear at the beginning of the player’s characteristics block. Hotfix: Sept.19 2017.
– Fixed an issue where the Home, Away and Last-10 records were not summing properly. OTW & SOW will count as Wins, OTL & SOL will count as Losses in these columns. Hotfix: Sept.26 2017.
– Fixed an issue where COMs could not import NHL players when creating / importing NHL Teams. Hotfix: Oct.4 2017.

September 24th, 2017 by

We’ve changed how UHS handles NHL players with injuries. Previously, we simply removed the player from the team and had them placed in free agency, however, this meant any team could then pick them up, despite being injured.

We will now keep the player on the team but have them set to be injured for 99 games. Once the real team takes the player off the injured reserve list (again, going by the data on, we’ll unset the injury. If you want to use the player anyway, you can still go in and edit their injured games back to 0.

This change takes effect for new leagues or leagues importing NHL Teams w/ players or leagues importing NHL Players individually. It will not change the injury status of NHL Players that already exist in your league.

September 11th, 2017 by

UHS Build 12101 – September 2017
It’s almost hockey season again! I’m really looking forward to seeing the NHL get back on the ice, watching the best league in the world. This build has several changes around player salary expectations; AutoGM player, trade and free agency evaluations; a new target ticket price alert for COMs; rookie handling and applying a maximum skill for players sent to the juniors and many more miscellaneous changes and bug fixes.

We are also continually updating NHL rosters based on the player movements and signings found on Through September I’ll be updating rosters on Sundays but once we get into the regular season, I’ll be trying to make changes for major moves as soon as they happen and again, Sundays will be for the remainder of changes that may have happened that week. Once the regular season starts, I’ll be going through all NHL rosters to remove players that are on the IR (for new leagues these players will still be present, however, they won’t be assigned to any team).

Salary Expectations – Salary / Contract Changes
We have implemented a new method of determining salary expectations, replacing the old method of using the player’s or coach’s last contract value offered. The old method allowed teams to get 90+ players at a fraction of their true value.

The new method will create a salary expectation on a per-season basis based on your league’s salary cap, the player’s skill and their age. This also applies to coaches and free agency.

The logic for accepting an offer (regular contract or free agency) has also changed to be focused more on what you are offering in terms of salary. The Salary Expectation sets to the ceiling at 90% acceptance, however, contract length, player/coach age, the team’s winpct and when the contract starts all still play a part in determining whether your offer will accepted.

Additionally, there is no longer a minimum of 10% acceptance, in fact, it’s entirely possible for your signing factor to go into the negatives if your offer is too low. The maximum of 90% acceptance is still in effect.

Further to address lowball offers, if the offer is declined (and the GM permitted to make a new offer), the Minimum Offer will be increased by 30%. It is entirely possible for the minimum offer to exceed the salary expectations, however, occurrences of this should be rare.

By default all leagues will come with a new SalaryCap of $75 million to match that of the NHL. This will apply to leagues that get reset using the Reset League tool. NHL leagues will have player contract lengths randomly set on league creation.

While we try and catch as many bugs as we can in testing, there are invariably, some that get found when we go live. As always, if you find any issues or have any questions that are not covered in the wiki, please let us know via ticket or discord.

Maximum Farm (JUNIOR) Skills
To prevent fully automated leagues from sending highly skilled young players down to the juniors (see Edmonton’s McDavid and Toronto’s Matthews), we’ve changed the Max Farm Skill to also apply to junior players. Additionally, all new leagues will have the Maximum Farm Skill Age set to All Ages by default. Existing leagues will not see this setting changed. These changes will ensure that players that are 20 and younger and highly skilled will remain on their pro team and not be sent to the juniors for development.

Rookie Determination
Speaking of Rookies, we’ve changed how we are storing Rookie players in the database. Currently Rookies really only works for your current season, when you go back to look at previous seasons’  league leaders the rookie designation may be gone as the player is no longer currently considered a rookie. Additionally, we are no longer evaluating rookies at the farm level: The Rookie designation is for pro league only.

By default Rookies are considered to be any player that is 25 or under and played in at least 25% of their team’s regular season games.

Creating Draftable Juniors
COMs will now have a new Age Group option when using the Add Players function: Draftable players. These players are basically juniors except all created at Age 18.

AutoGM Trading – Player Evaluations
We’ve added code to impose the following restrictions on AutoGM trading:

– Trading will only happen during the Regular Season.
– Trading will only happen if the AutoGM does not have any pending free agency bids, players waiting to clear waivers or pending claims on other players waiting to clear waivers.
– Players being traded to the AutoGM will be evaluated as to whether they will actually be used on the team.

AutoGM Outgoing Trades
Previously AutoGMs were creating trade proposals once every X hours, depending on how the COM had set it. We’ve changed this to instead be a trade proposal CHECK will be made once every X Regular Season Games Played by the AutoGM team. By default we have changed this to be once every 7 GP.

Additionally, the chance was previously accumulative, so that successive trade proposal failures would eventually result in SOME kind of trade being offered to help generate movement in All-AutoGM leagues. This has changed to now be a flat 20% chance (by default). This chance will be checked once every X regular season GP (see the previous paragraph) and will only be made ONCE.

You can disabled AutoGM initiated Outgoing Trades by setting the GP to 0.

Using the default settings all AutoGM teams will have a 20% chance to look at making an outgoing trade every 7, 14, 21, 28, etc GP. If the chance is successful there are further checks made to determine whether a VIABLE trade will be offered or even whether that particular AutoGM should initiate a trade (ie. The best team in the league probably won’t be making offers… it’s possible, just not likely).

AutoGM Prospect Handling
By default, we’ve changed how AutoGM’s handle age 20 and younger prospects. Previously AutoGMs would send the prospect down to the juniors if they are 20 or younger, regardless of their skill. This makes sense for leagues using Stat rerates since it’s beneficial for the player to be in the lowest league allowed to rerate up.

This has changed now so that Age-Rerate Leagues (this is default rerate method for new leagues) will allow the AutoGM to keep the player on the pro team if their skill is higher than the Max Farm Skill value (by default set to 70). This means that players like Auston Matthews and Connor McDavid will actually play on their team’s pro rosters by default when creating new NHL-based leagues.

Once the NHL season has begun, if you notice any 20 and under player that has earned a permanent spot on their team’s pro roster (the real NHL team) and is being sent down by the AutoGM in UHS, please let me know so we can adjust their skill appropriately (71+ and Age-Rerates). Alternatively, you can lower the MaxFarmSkill value so that some of these players will not be forced down.

AutoGM Free Agency Poaching Changes
Previously, we had the AutoGM look at most, if not all, free agents and see if they could fit somewhere on the team. In some cases, this could result in the AutoGM signing a FA and then immediately buying them out due to protecting prospects.

If the AutoGM is not looking to fill their team (meaning they have a full pro roster), the AutoGM will now consider whether the replacement player will replace a prospect. If this is true, the AutoGM will not make a bid on the free agent and instead opt to keep the prospect. A prospect is defined as a player that is at MaxAgeProtected or younger.

Target Ticket Price
By default, league ticket prices are set to $100 maximum. With leagues that run shorter regular season schedules, the ticket prices need to be increased otherwise teams will not earn enough money to pay their players. We will show an alert to COMs and Owners if the league’s current maximum ticket price is lower than the target price.

The target price is calculated as (SalaryCap * 80%) / Arena_Seat_Average / Regular_Season_Home_Games.

Relegation League Roster Changes (Hotfix: August 2 2017)
Relegation Leagues are run very differently from standard leagues: There are no farm or junior leagues, so no waivers. In some relegation leagues the AutoGM would treat players under the MaxAgeProtected (by default, age 23), as farm players and mark them as Farm, thereby allowing those players to escape the wrath of the Pro team’s “skill culling” (signing higher skill free agents and buying out lower skilled players).

The following changes will take effect for Relegation Leagues only:

– Teams will be allowed a maximum of 10 centers, 10 left wingers, 10 right wingers, 16 defensemen and 6 goaltenders for a total of 52 players. (Forwards are added to the list of C, LW, RW as needed).

– Lesser skilled players that fall out of the maximums for each position will be bought out and placed in free agency if the team has enough funds to buy the player out.

– All players, regardless of age are fair game for a pro roster position (even as low as age 15). If they are skilled enough then they are worthy.

When adding new players (using Manage > Players > Add), it may take some time for AutoGMs to get all the best free agents they could possibly have as AutoGMs are limited to making only a handful of offers if their team already meets the minimums for a game roster.

AutoGM teams will still create Makeweight players if the team’s next scheduled game is expected to occur before their free agents are signed (this is done to ensure all AutoGM teams have a game roster set).

Age Rerates – Leadership & Coach Bonus Changes (Hotfix: July 31 2017)
To add an incentive to keep around older players, we have added a Leadership bonus to all players that qualify at the Pro Level. Additionally, we are decreasing the Experience and Development bonus that coaches apply to rerates by half (10% is now 5% and 5% is now 2.5%). This is being done to add another factor for the GM to decide if it’s better for their team to play a younger player on the pro instead of the farm.

The Leadership bonus is based on your league’s UFA Age and is generated if that particular player is over the UFA Age (28 by default) and played at least half the season on the pro team. The player will generate a +0.1% to ALL PRO PLAYERS (again, Pro qualifying) for every year they are above the UFA Age. For example: A player that was 30 years old would grant all Pro qualifying players a +0.2% increase bonus on their rerate increase chance (30yo – 28yo * 0.1%) if they played at least half their games on the pro team.

This bonus is cumulative. So multiple players qualifying will grant higher bonuses. It is quite possible to stack old players to get a high bonus, however, you will have to weigh that against not developing your younger players and possibly dealing with Salary Cap issues.

The default bonus for being considered a farm player has changed from +10% to +5% for players of all ages. This decrease is designed to make the GM really look at their team and see where the best place is for their players to rerate. If that’s the pro team, they’ll need to get them the pro games to qualify as a pro players, if that’s the farm or juniors, they can move them down. This will also put more emphasis on maximizing your coach’s (both pro and farm) Development and Experience skills.

The default bonus for being considered a junior player has changed from +5% to +7.5%. Overall we are targeting an average of +7.5% bonus to the increase chance, so the bump to Juniors was needed to keep it as a viable option.

Age Rerate – Player Level Determination (Hotfix: July 28 2017)
The default Player Rerate code (by age) has been updated to look at the number of games played at each level for the player to determine what level they should be processed at. Previously the level was taken from wherever the player ended up at the end of the season, even if the player didn’t play any games there. For example: a junior could never have played a game on the Pro team but then get promoted right at the end to benefit from the Pro team’s coach development bonus.

What we are doing now is looking at all the Regular Season games played for the player. Whatever level has the highest games played will be the level that is used for their rerates. In cases of ties we use Pro > Farm > Junior.

Waiver Claim Adjustments (Hotfix: July 28 2017)
From time to time we make adjustments to the code to mimic the rules and procedures of the NHL. In this case we are adjusting / adding a rule concerning Player Waivers. When a player is placed on waivers and gets claimed, if the new team also places them on waivers, the original team can make a claim, and, if the player is won, they will automatically clear waivers for the remainder of the season.

In the case of UHS, the player will be found on the pro team (like a regular player claimed via waivers), however, they will now have the ‘Send to Farm’ option so the team can send them immediately to the farm without having to place them on waivers again (for that season). This is being implemented to remove a scenario I call “Waiver Wars” which has come up in our TJHL test league (Thanks to the TJHL for bringing this to my attention).

Bug Fixes & Miscellaneous Changes
– Farm Team information will no longer appear on the GM’s Team Home page if a real farm team has not been assigned to the pro team.

– Teams can no longer hire a farm coach if there is no real farm team assigned to the pro team.
– By default all new leagues will show OTL and SOL in league standings with Ties hidden.
– By default all new leagues will have OTL worth 1 point.
– Fixed an issue where creating junior players after season 1 would result in the players’ ages being only 15-16. This will now only happen if the league actually has junior teams.
– Fixed a minor sorting issue with league’s activity reports.
– The banner / login area has been changed slightly to make the area shorter. The advertisement for non-Premium leagues will now appear as a separate row.
– Your league’s database information can now be found on your league’s information bar.
– Fixed an issue where AutoGMs were either claiming players from waivers or signing players from free agency and then immediately turned around to buy them out. (hopefully it’s fixed!!)
– Fixed an issue where new leagues were not having their Season 4 entry draft picks created.
– Fixed an issue where the Last Wage column was incorrectly appearing for Junior Prospects in the COM’s Team view.

Hot Fixes
– Updated the one-time Paypal donation button to also be applied against a League’s Premium Service expiration date. Works for every increment of $5. Hotfix: July 16 2017.

– Released a change to automatically protect any league that purchases a year Premium Service or league’s that have purchased 10 or more months of Premium Service. Hotfix: July 17 2017.
– Fixed an issue where player were not having their Cup value increased after their team won the Pro championship. Hotfix: July 18 2017.
– Removed option to create leagues with AHL and OHL leagues / teams. Hotfix: July 19 2017.
– Fixed an issue where a player’s Quickness skill was not being correctly used to mitigate the strength of a check against them. Hotfix: July 19 2017.
– Fixed an issue where an advertisement banner was being shown on the Public Site for Premium leagues. Hotfix: July 19 2017.
– Fixed an issue where AutoGMs were not using free agency properly to fill their rosters. Hotfix: July 19 2017.
– Fixed an issue where goaltender’s Minutes and GAA were not being calculated properly on Public Sites. Hotfix: July 19 2017.
– Fixed an issue where loading a SavePoint for relegation leagues and would result in creating blank positions in the League Structure if relegation was re-processed. This also resulted in causing the AutoGM to go haywire (time-outs, excessive lag due to reaching 100 player limit). Hotfix: July 20 2017.
– Fixed an issue where goaltender’s Minutes were being calculated and shown as seconds. Hotfix: July 20 2017.
– Fixed an issue where All-Star games could not be created if the regular season schedule was completed. Hotfix: July 21 2017.
– Automatic setting of a GM Draft list has been added to the Premium service. Hotfix: July 23 2017.
– Fixed behind the scenes issues that were generated E_NOTICES and WARNINGS. Hotfix: July 24 2017.
– Fixed an issue where moving a player between Pro/Farm/Junior levels would result in an incorrect Finance SeasonNet and Balance calculation (Media revenue was not being considered). Hotfix: July 28 2017.
– Fixed an issue where UHS was always reporting incorrect lines. Hotfix: July 31 2017.
– Fixed an issue where the base percentage for free agency offers was always 50% during the off-season and pre-season despite there being a regular season winpct available from the previous season. Hotfix: August 2 2017.
– Fixed an issue where free agency offers were not considering the Minimum Offer and the potential for a decreased Last Contract Value (due to lack of playing). Hotfix: August 3 2017.
– Fixed an issue where the AutoGM was under-evaluating players being traded away. Hotfix: August 5 2017.
– Changed the AutoGM to only make “Troubled Finances” offers to teams that can afford the asset being traded. Hotfix: August 15 2017.
– Fixed an issue where the AutoGM would continue to make “Troubled Finances” trade offers even if they had exceeded the 10 offer limit in a season. Hotfix: August 15 2017.
– Fixed an issue where playing an individual game in live game mode would not actually sim the game. Hotfix: August 17 2017.
– Fixed an issue where leagues that had unused picks due to changing the number of draft rounds would not have newly created players or unsigned players moved to free agency until the OffSeason was completed. Hotfix: August 20 2017.