October 2nd, 2014 by

hatcherUHS Build 7250 – October 2 2014
Build number wise this doesn’t appear to be a big build… but it does have some fairly big changes… primarily focused around the juniors. We are changing how UHS handles junior players as we want the simulator to be more in line with the relationship between the NHL and CHL (juniors). These new rules will take effect immediately.

Additionally, we’ve added a toggle for injuries/suspensions for junior leagues only and have also updated our Waivers rules to reflect the real world (ie. players must clear waivers before being allowed to be traded).

New Junior Age Rules / Limitations
In order to be inline with how the CHL and NHL work, the following rules are now in place for all junior players:
– Players aged 15 – 20 are now considered “Junior” and are allowed to play for a junior team.
– Players aged 18 – 20 are eligible to play for the pro or farm club of whatever team owns their rights.
– Players aged 18 – 20 may be moved to their former Junior Team at any point of the season.
– Players aged 18 – 20 may be moved to the pro or farm club at any point of the season with the following exception:
– Players that are on the Junior Team and have already played a game on the Pro or Farm team in this season may not be moved back up to the Pro or Farm… basically if they have played any Pro/Farm games during the Regular Season or Playoffs and are moved back to the Junior Team, they may not be moved back up.
– At age 21 undrafted Junior players will become Free Agents.

Junior Injury / Suspension Toggle
Speaking of the Juniors, we’ve added a new toggle to disable injuries and suspensions from the junior leagues. If you have enabled Injuries/Suspensions for the league overall, you can now disable it for the Juniors only.

Waivers & Trades
We’ve updated the code to remove players on waivers from being offered up in trades. Additionally, when placing a player on waivers any open transactions involving the player will become void. This is to reflect the current rules surrounding Waivers & Trades in the NHL. Once the player has cleared waivers they will then be eligible for new trade offers.

Bug Fixes

Hot Fixes
- Fixed an issue where salaries were being incorrectly changed to dollars instead of comparing at millions. This resulted in the AutoGM always declining trades. Released Sept.16.2014.

September 7th, 2014 by

martin-st-louisUHS Build 7221 – September 7 2014
It’s been exactly a month since our last release. This build focused a lot on the AutoGM logic… to reduce some of the restrictions on the trade logic, re-write the free agency logic and basically review everything in the script since there seemed to be something causing an infinite loop (I suspect it was the use of a critical variable in different parts of the code).

I’ve also added in Lawyers (something else to spend your money on), added a setting for Trade Notification emails, added a setting to allow Forwards to play in Defense positions, changed the cosmetics of the Upcoming Games section for your team as well as added the opponent’s record, and finally Player Trade Requests.

For Player Trade Requests, I believe it should cause just enough of a churn to get some of the better players moved off stacked teams and give those hopeless teams a better chance at improvement.

Donations Page – Thank You!
We added a Donations page to provide a forum for thanking everyone that has donated to us via KickStarter and PayPal. This was deployed as a Hot Fix on August 8 2014.

AutoGM Trade Weights & Logic Changes
Currently it is very difficult, if not impossible, to make a trade with the AutoGM. This even applies to AutoGM to AutoGM trades. Previously the thresholds for incoming players/picks were weighted at 75% of their regular value. We’re going to change that to 90%. Additionally, players/picks leaving the AutoGM team were weighted at 125% of their regular value. We’re going to change that to 110%. This was deployed as a Hot Fix on August 12 2014.

The logic was further modified to remove extra checks like whether the trade would violate the Trade Initiating Team’s salary cap…  as long as it doesn’t violate the AutoGM’s salary, the trade will be good. The AutoGM will no longer look at whether the potential Incoming Players have had a positive rerate last season. This was skewing some potentially solid trades for the AutoGM just because they didn’t rerate up the previous season. We’ve also incorporated the new Tiebreaker settings into the logic when it looks at draft picks.

The AutoGM will now be more likely to make bids on free agent coaches that other teams have already made bids on. There were also some additional checks added to the AutoGM when looking at free agents to bid on…  this should finally resolve the issue of AutoGMs going crazy for free agents. These additional changes went live as a Hot Fix on August 24 2014.

Further to this another adjustment was made to the AutoGM’s free agency “poaching” logic to ensure the team will only be looking at players in one of the following cases:
– the Pro team has less than 26 players.
– the Farm team has less than 26 players.
– the Free Agent Player in question has a higher skill level than the top Pro/Farm players currently owned by the AutoGM. This part will impose position limits: Top 5 Centers / Left Wingers / Right Wingers, Top 15 Forwards (including C/LW/RW), Top 8 Defensemen, Top 3 Goalies. If the AutoGM has a real farm team, these limits are doubled.

The following changes were not hotfixed in and have gone live as of this build deployment:
– Pro Roster, Pro Goalies, Farm Roster and Farm Goalie checks and attempts at filling in spots will now only happen after the Entry Draft has been completed and the SeasonType is PreSeason, Regular, or PlayOff. This change was made since expansion teams with AutoGM were creating makeweights to fill in spots despite Free Agency not being tested.
– Players can now be sent down to the farm team is the SeasonType is PreSeason in addition to the original criteria of Regular and PlayOffs.

Teams can now hire lawyers to attempt to lower the number of games remaining in the player’s suspension by half. This is an important point… the reduction amount is based only on the games remaining in the suspension… not the initial amount. It will be key for GMs to use their lawyers as soon as they know a suspension has been handed out.

Lawyers are handled similar to Medical Staff in that you can purchase them, must pay a seasonal maintenance fee and can recoup 25% of the purchase price if you want to purchase a different lawyer. Each lawyer will have an Appeal Fee… this is charged to your team for every appeal you make… regardless of whether or not the appeal was successful. The Chance field shows the chance your appeal will have to be successful.

Only one appeal can be made for a player per season. If the player is suspended again later on in the season, the lawyers will not be able to help.

Roster – Farm Manual/Auto setting
We’ve moved the drop-down to change whether UHS will set your farm team’s roster / lines to the top of the roster options. If this is set to Auto, your roster and lines will always be managed by UHS… any changes you make will be over-written. We’ve moved this setting to the top so it’s a little more visible to the eye at a glance.

Upcoming Games
The Upcoming Games section in your Team page has been changed slightly to use zebra striping and show you the record of your opponent. The record will take into consideration things like season OT type and show OTW/L and SOW/L records if those categories award points differently than a regulation win/loss. The record line will show this data: Wins-Losses-Ties-OTWins-OTLosses-SOWins-SOLosses.

Example: if a league awards 3 pts for a regulation win and only 2 pts for an OT win, the record line would be something like: W-L-T-OTW. As long as the OTW or SOW pts values are different from a Regulation Win pts value, then OTW / SOW will be shown. The same goes for OT Losses and SO Losses. Ties will only show up if your Regular Season OT Type allows for Ties.

Forwards Allowed on Defense Positions
We’ve added a setting in Settings > Game Settings to allow a COM to toggle whether forwards are allowed to play on a defensive position. By default this is disabled. If the COM has enabled position penalties the forward will get a -10% on any event (Pass, Skate, Shoot) if Even-Strength, however, on Power-Plays and Penalty-Kills, there is no position penalty even if position penalties are enabled.

Please note that using the Auto Lines feature will not set your forwards into your defensive positions, you will have to do that manually. You should also be aware that enabling this could potentially allow a team to run with no defensemen at all.

Auto-GM teams will never use this functionality… they will attempt to fill their roster and lines with players of the appropriate positions.

Request to be Traded
We’ve added in functionality to make a check for players requesting to be traded. The chance at the request is a flat 1%. If a player requests to be traded, the team will no longer be able to offer a new contract, similar to the player refusing to negotiate with the team. In fact it is treated exactly the same. As such we have added a new bubble on the Team Home page to show Player Contract Issues: this will show players with Contract = 0 or Requesting Trade or Holding out for Free Agency.

To trigger a Trade Request check one of the following must happen:
– The player is placed on waivers.
– The player’s current Ice Time Average (Minutes for goalies) is less than 75% of the average from the previous season. This is only applicable during the Regular Season from when the player’s team has played 10 games to the Trade Deadline.

Trade Notifications
We have updated the Email Notifications section for your account profile (click on your account name at the top right when you are logged in). You can now opt-in to UHS Admin messages, Incoming Trade Notifications and Completed Trade Notifications (for COMs or higher only).

By default the Incoming Trade Notifications are enabled and Completed Trade Notifications are disabled. Your regular UHS Admin message opt-in setting has not been changed.

Cron Jobs & Inactive Leagues
Leagues that are considered inactive (no logins for 30 days) will now be ignored by most system cron jobs to reduce unnecessary system usage.

Bug Fixes
- Fixed an issue where the Coach Stats page on Public Websites was not functioning.
– Fixed an issue where COMs could not add teams if a non-default setting was used for drafting.

Hot Fixes
- Fixed an issue where the rookie designation was not being updated. Released August 16 2014.
– Fixed an issue where the AutoGM would get stuck in an infinite loop when a trade initiation check was successful. Released August 19 2014.
– Fixed an issue where a player’s type would get reset when the league changes from pre-season to regular season…  this meant the player would have to clear waivers again even if they had cleared it earlier in the season. Released August 19 2014.
– Fixed an issue where the schedule generator would time-out when creating schedules for leagues with an odd number of teams. Released August 31 2014.

August 6th, 2014 by

Abram ChuckoUHS Build 7081 – August 7 2014
This build is pretty massive…. I had a good run where I had minimal to no pain, so I was able to power through some items that I’ve wanted to do. We now have a status update section built into the League Home page. You’ll need to log into UHS in order to actually use that, however, you will be able to view it on the public sites.

We also added Player Faces… this is something I’ve wanted to do for a LONG time… the faces are definitely very cartoonish and rough around the edges, however, as time goes on I might be able to get back and revisit it.

We added in some AJAX so that we can reduce the number of page refreshes and keep page load times down…  primarily this was done for the status update development, however, over time we’ll incorporate it into other sections as needed.

COMs can now Reset Queued games, set Rookie eligibility requirements, set Standings tiebreakers and now set a Farm Salary Cap.

Status Updates
We’ve added a new feature to allow all league members to post a status update. These updates will be shown on the right side of the League Home page (just click the League link at the top of the nav menu). The Game Results section has been moved (more on this later) to make way for the Status Updates.

You will also be able to see the Status Updates on your Public Site, however, you will not be able to make any posts unless you are logged into UHS.

When posting your team’s logo will appear beside your name. For league owners and commissioners, the league logo will appear there instead. If there are no logos available, the UHS cog will appear by default.

This new area will only be available if you are running a browser with javascript / scripting enabled.

Player Faces
As I’m sure you’ve noticed when you look at player profiles you’ll see a silhouette of a player with the UHS name on it. Well…  I finally was able to put together some healthy time and create a ton of graphic assets. I’ve created a script that will automatically generate a random face if one doesn’t already exist. So…  some things to keep in mind when looking at the faces:

1. I am NOT a graphic artist… as can be evidenced by the “great” work I did on the faces.
2. The eyes and mouths look like anime? well… that’s because they are. They were the only eyes and mouths I could find outlines for that I could fit into the design of the face.
3. There is a bleed effect on moustaches…  yep… in some cases there will be.
4. Goalie masks will obscure most of the face except the eyes.

This is my first run at randomly generating faces… perhaps as time goes on and health permits I’ll be able to re-visit it. Or if there is a talented graphic artist out there that would like to donate their time, please contact me using the support system.

Farm Salary Cap
We’ve added a new option for leagues that want to play around with a Farm Salary Cap. If enabled your team’s Farm salaries will be accrued and shown in your Finance page. If a team is over the Farm Salary Cap whatever fine method you’ve selected will be applied. Please note we will only check for violations when the Pro team plays not the Farm team. This is mainly due to the Pro team owning the overall finances whereas we do not keep a record for Farm finances. You should also be aware that Junior prospects do NOT count towards the Farm Salary Cap…  only players assigned to your Farm team.

Unlocking / Resetting Games
We’ve added a new tool to allow Owners and Commissioners to reset games that are stuck with a status of “Queue” or “In Progress”. It is highly recommended you only use this tool if the game is stuck for at least 5 minutes. Typically games take anywhere from 3-20 seconds to sim depending on server usage, however, as we grow and more leagues are using UHS, the queue job will take longer to sim your queued game.

A game will typically get stuck because a roster change gets made AFTER the game gets queued up and BEFORE it actually gets simmed. We do have error checking for that so the game won’t actually get simmed, however, it will be marked “In Progress” and remain that way until a request was made to us to fix it. When queuing up games, please remember the league is locked for a reason. We want to ensure our data integrity before the games are actually simmed, so we prevent people from logging in to make changes. We intentionally allow COMs and Owners to remain logged in so they can carry out their business, however, they should be aware that touching Rosters are pretty much a no-no. Even unlocking the league shouldn’t be done…  once all the queued games are simmed the league will unlock automatically so the COM doesn’t need to worry about this.

Additionally, when you use this tool to reset a game, your league will automatically unlock so that necessary cron jobs can run and potentially fix whatever roster issue was happening to cause the lock in the first place.

You will find this tool in Tools > Reset Games.

Standings Tiebreakers
COMs now have the ability to set their league’s tiebreakers. By default the tiebreaker rules will be Pct, Wins, Goal Differential. COMs will have the ability to set up to four tiebreakers. The COM can pick of the these tiebreakers:
– Pct (points percentage), highest to lowest.
– Wins, highest to lowest.
– Wins – OT Wins, highest to lowest.
– Wins – SO Wins, highest to lowest.
– Wins – OT Wins – SO Wins, highest to lowest.
– Goal Differential (GF – GA), highest to lowest.
– Goals For, highest to lowest.
– Goals Against, lowest to highest.

Rookie Eligibility Settings
COMs now have the ability to set the maximum age and minimum games a player must have in order to qualify as a Rookie. The minimum games is actually a percentage of games that have been played in the season to date, so as the season continues the list could potentially change depending on how many games the player was actually in. You’ll find the settings in Settings > General.

Game Results Changes
You’ll notice that the Game Results have been moved to a section under the Commissioner’s Corner and above League Activity. You’ll also find that we are now only showing either your Pro, Farm or Junior league game results. Previously we showed all of them since we had a lot of vertical space. The move to the new location prevents us from showing all three leagues since there just in not enough horizontal space. I will eventually be adding a few more things to the Game Results area to “fill it out” as it looks like there is a lot of wasted space.

You will see Pro, Farm and Junior links… clicking these will refresh just the Game Results section… so you won’t get a full page load (trying to reduce these).

Personnel (show all leagues)
We’ve added a list of all the Pro, Farm, and Junior players your team owns in one big list (like it used to be prior to UHS Dark)…  you’ll find this list on your Personnel Home page… just click Team > Personnel and you’ll see it beneath the Summary area.

Bug Fixes
- Fixed an issue where the Free Agency End Date and Trade Deadline were not being automatically set when the Pro league’s schedule was created.

Hot Fixes
- Fixed an issue where errors would appear when saving Play-off settings for leagues that did not have a Farm or Junior system set up.