September 14th, 2016 by

property-maintenance-services-team

This build focuses more on fixing the all-star scheduling issue as well as allowing UHS to perform more efficiently with large leagues. The all-star scheduling bug fix took a LOT of effort to fix… I really do not like working with date adjustments. Large leagues began forcing the AutoGM to run for more than a minute so it would start overlapping, creating an imbalance for AutoGM teams that were run first (they got to go twice) vs. teams that were run last. Next build is going to be a doozy I think.

Large Leagues and AutoGMs
All of our AutoGM cron jobs are set to run once a minute. Typically this is more than enough time for regular leagues. There are times when leagues can get quite large, either due to lots of AutoGM teams, tons of players or a multitude of other reasons. The AutoGM itself is built to be run as a single piece of logic on its own. If the job happens to run longer than a minute, it will start again. This can lead to various undesired effects that can disrupt the league overall.

As a result we have begun to track and record AutoGM job times. For leagues that require the job to run longer, the frequency between AutoGM jobs will be increased. This is an ongoing process, so if your league changes and requires less use of the AutoGM, the frequency between jobs will decrease back to 1 minute. To determine the length of time between AutoGM jobs, we always round up to the next minute. If your league needed 2m 30s to run the AutoGM it will be set to run once every 3 minutes.

You will be able to find the frequency (in minutes) for the AutoGM job in the login panel beside the DB information in parenthesis. As an example: DB 1-uhstjhl (1). This means 1 is the LeagueID, uhstjhl is the League’s database name and the (1) means the AutoGM runs every minute.

At this point the code and databases are as optimized as I’m going to get them and I would really rather not limit leagues to the number of teams or players, so this is the only compromise I have to go with.

All-Star Schedule Adjustments
We’ve made some changes to improve how the all-star game or tournament is added to the league. Previously we had some issues with the regular season remaining on the league’s desired days of the week when adding all-star games or deleting the existing all-star schedule.

Bug Fixes & Miscellaneous Changes
– In the Login Panel, the DB data has changed to LeagueID-LeagueDB (AutoGMTime).
– In the Team Home section, users can now click on upcoming Pro team opponents to compare their teams.
– The AutoGM will no longer consider players with 0 years left on their contracts for salary purposes.
– Junior players created after Season 1 will now be aged 15-16 instead of 15-20.
– Players created with an empty Country field but a set Last Name will no longer have a randomized Last Name assigned.
– Fixed an error where the cost of Mass Coach Scouting was $0.

Hot Fixes
– Released several back-end hotfixes to fix some improper code syntax. Hotfix: August 19 2016.
– Fixed an issue where declined trades from AutoGMs were not appearing on the Latest Transactions page. Hotfix: September 2 2016

June 22nd, 2016 by

goalieUHS Build 10180 – June 22 2016
We have finally thrown off the shackles of HLS2 and brought goaltenders into the 99-club. Both goalies and players will now be measured similarly with the same maximum possible value. It meant creating some newer virtual stats that you wouldn’t normally see in a game. It also gave us the opportunity to bring in poke-checks. Free Agency minimum offers and Chemistry re-rates were both modified. AutoGMs now offer draft picks to get out of a tough financial bind. From discussions with Jon Lau and Trevor Cook, we came up with a better way to have AutoGMs valuate players being offered out in those tough financial situations. We have a multitude of bug fixes and hotfixes that were deployed since the last build as well.

Goalies Join the 99-Club
Since the inception of UHS, goalies have only been able to have a maximum skill of 81 as the CH and SH skills were ignored. This was legacy logic when we moved over from HLS2. Goalies will now use the CH and SH skills and we’ll also be tracking three new goalie stats to help with rerates. All pages have been updated to accommodate Goalies have a max of 99 skill, for instance Skill Classes no longer have the goaltender skill option. With the addition of the SH and CH skills to goalies the QK and PC skills have been modified slightly.

Shooting (SH):
– This skill is now the key saving stat for goalies and is compared directly against the Skater’s SH skill.
– This skill will rerate based on the calculated GStrength stat: SavePct * 10 – GAA.
– Existing goalies will have their SH match their PC skills.
– In leagues with skills hidden, this skill is scouted as “Solid”.

Quickness (QK):
– This skill will continue to be a key saving stat for goalies and will be compared directly against the Skater’s PC skill.
– This skill will rerate based on the new Scrambling Save (ScrSv) statistic. Any time the goalie’s QK is equal or higher than the Skater’s PC for the shot, their ScrSv will increment if the goalie makes the save.
– This was done to decouple the SH and QK skills as it felt a bit weird to have two skills rerate based on a single statistic.

Puck Control (PC):
– This skill is now only used to determine Rebound Control and is no longer a key shot/save rating.
– Anytime the goalie succeeds in their PC skill check, the new Rebounds Controlled (RbC) stat will be incremented.
– This skill will rerate directly based on the new RbC statistic.

Checking (CH):
– Goalies will use this skill for poke-checks.
– Poke-checks can only happen if the skater is attempting a Deke goal.
– The chance the goalie even attempts the poke-check is 1% per CH skill as the poke-check is an extremely risky play.
– The chance the pokecheck succeeds is based on the goalie’s CH skill and the skater’s PC skill.
– If the pokecheck fails, the skater will receive a large bonus to score that is increased by their PC skill. Please note that it will still be possible for the goalie to make the save in this case.
– If the pokecheck succeeds, the goalie’s PC skill is used to determine where the puck ends up. Please note that the goalie’s RbC statistic *can* be incremented if they successfully control the puck in this scenario.
– Poke-checks do not count as saves during regulation or overtime / regular play, however, they will count towards making a stop during a Penalty Shot or Shoot-out Attempt.
– All successful poke-checks are now tracked under the Poke-Check (PkCh) statistic.
– This skill will rerate directly based on the new PkCh stat.

Free Agency Minimum Offer Values
Players that linger in free agency typically will stay there as their minimum offers are pretty high. We do have code in to decrease the minimum offers but have changed it slightly. Players on free agency will have their minimum offer drop by 50% at the commencement of the pre-season. In addition to this, their minimum offer will drop by another 50% once the league has changed over to the regular season. If the free agent has missed one or more seasons of Regular Season play, their Minimum Offer will then drop by 75%. This cycle will continue until the player reaches the Salary / Contract Minimum, by default this is $0.1M.

Chemistry Re-Rate Adjustment
Leagues that use Chemistry should be aware that the Chemistry skill was being rerated too quickly towards average (perfect) Chemistry. We have changed the rerate values for chemistry so that shifts toward average / perfect Chemistry happens only half as fast as it does now. Chemistry has also changed from being a 1 decimal value to storing 2 decimals.

Rerate: Not Applicable or Decrease = 0.01 to 0.10 Chemistry shifted towards average (perfect). Previously this was 0.01 to 0.25.
Rerate: No Change or Increase = 0.11 to 0.25 Chemistry shifted towards average (perfect). Previously this was 0.25 to 0.50.

AutoGMs to Offer Draft Picks – Released May 11 2016
AutoGMs will now have an option to offer up draft picks in order to get out of having a negative account balance. Offering up draft picks will not be an option if the team is only above the salary cap. Draft Picks will also not be offered if the league is in its Inaugural season.

Draft pick valuation is determined by the account balances of all teams in the league. If there are more than four teams in the league, the two highest and two lowest account balances are ignored for determining the average. That average is then divided by the total number of teams in the league to get the value of the draft pick in the lowest round. Values of draft picks will increase as the round increases (5th vs. 4th or 3rd or 2nd).

AutoGM “Get Out of Hole” Player Valuation – Released June 14 2016
Thanks to some discussions with the TJHL and a nice post by Trevor, we’ve changed the valuation code for players when the AutoGM needs to get out of the hole (either negative account balance or over the salary cap). The new valuation will be based on the player’s skill and will rise exponentially as we approach 99. Prospects (players under MaxAgeProtected) will have their values doubled. All values will have a random value added or subtracted in order to help hide backwards math to determine player skill for leagues where skills are hidden.

Bug Fixes & Miscellaneous Changes
– Divide by 0 warnings on player profile games for Public Sites should no longer appear.
– Fixed an issue for public websites where players in free agency would not appear on the Career Stats list.
– COMs will now have an option to create 500 players at a time.
– Shots that are deflected will no longer have a chance to be “flubbed” by the original shooter. This resulted in some weird play by play messages.
– Big Hits and Fights were added to the All Players stats page.
– AgrSv was added to the All Goalies stats page.
– Big Hits, Fights, First Goals and Penalty Shot goals have been added to the League Players stats page.
– Aggressive Saves, Scrambling Saves, Rebounds Controlled and Poke-Checks have been added to the League Goalies stats page.

Hot Fixes
– Fixed an issue where players were not being added to the Free Agency list if they were ever involved in RFA Compensation at some point in their career. Released as hotfix on April 2 2016.
– Fixed an issue where projected finances were not calculating the Salaries Paid field correctly. Released as hotfix on April 2 2016.
– All fonts have been changed to Helvetica instead of Verdana or Tahoma. Discovered Tahoma isn’t a web-safe / standard font. Whoops! Released as hotfix on April 5 2016.
– Fixed an issue where trades accepted by the AutoGM were not viewable by all GMs. Released as hotfix on April 6 2016.
– Fixed an issue where other trades were not being properly voided when the AutoGM accepted a trade if they involved the same picks or players. Released as hotfix on April 6 2016.
– Modified the ‘Get-Out-of-Hole’ code for the AutoGM to reduce the dollar valuation for their players by half. Released as hotfix on April 11 2016.
– Added checks to the AutoGM to ignore players from pending free agent bids or waiver claims when determining if an active team player should be sent to the farm. This was allowing the AutoGM to create a multitude of makeweights that were constantly being sent to the farm, however, more makeweights were required to set the team’s game roster. Released as hotfix on April 11 2016.
– Several hotfixes were deployed to get UHS back up and running due to the unplanned server migration (and upgrade) that happened. Released April 15-17 2016.
– Fixed an issue where makeweight creation was not considering defensemen being placed in the “extra” position for the game roster. Released April 17 2016.
– Fixed an issue where other trades were not being properly voided when the AutoGM accepted a trade if they involved the same picks or players (see the hotfix for April 6 2016). This should hopefully fix the same issue. Released as hotfix on April 26 2016
– Fixed an issue where trades to the AutoGM involving draft picks would always be voided with the message “Pick(s) no longer owned by team.” Released as hotfix on May 14 2016.
– Fixed an issue where the Waiver End time was converting the number of Waiver Clear Hours into minutes instead of seconds for behind the scene purposes. Released as hotfix on May 17 2016.
– Released a fix for the AutoGM where the Waiver End time was improperly calculated ONLY for cases where the AutoGM was simply moving a player down due to roster space concerns. Released as hotfix on May 17 2016.
– Added a check to ensure the AutoGM can afford to pay the Waiver Fee before making waiver claims. Released as hotfix on May 17 2016.
– Changed the AutoGM to now make “Get out of trouble” offers once every AutoGM Freq hours instead of every 3 days. This will allow AutoGMs to make more offers depending on the COM’s AutoGMFreq setting. Released as hotfix on May 19 2016.
– Reduced the base valuation of players offered by the AutoGM from $50,000 to $40,000. Released as hotfix on May 19 2016.
– Released code to set the inaugural draft salary for AutoGM picks to be $40,000 * the player’s overall skill. Released as hotfix on May 22 2016.
– Fixed an issue where the AutoGM was not buying out farm players. Released as hotfix on May 22 2016.
– Fixed an issue where the AutoGM was making waiver claims against players using incorrect position comparisons (ie. Goalie OV skill vs. Skater OV skill). Released as hotfix on May 23 2016.
– Fixed an issue where the AutoGM would not consider money received for incoming trades if they had an account balance below $0. Released as hotfix on May 23 2016.
– Fixed an issue where the AutoGM incorrectly valuated both incoming and outgoing draft picks in trades being sent to it. Released as hotfix on May 23 2016.
– Injured or Suspended players will now have a red cross appear on the personnel roster in the COM screens. Released as hotfix on May 23 2016.
– Fixed an issue where injured / suspended players on the AutoGM team would result in other players being incorrectly assigned to the wrong position. Released as hotfix on May 23 2016.
– Updated the AutoGM to no longer poach Restricted Free Agents. These players hang in limbo until compensation has been set and chosen so the AutoGM doesn’t consider them on their team until the RFA process is completed. Released as hotfix on May 25 2016.
– Fixed an issue where players currently in Free Agency would not appear in the Career Stats lists. Fix not released for public websites. Released as hotfix on May 27 2016.
– Updated the AutoGM to now consider all players owned by the team in regards to trading for money. Players that are at MaxAgeProtected are under are valuated higher. Released as hotfix on May 27 2016.
– Fixed an issue where the AutoGM would value draft picks from the final round as zero points. Released as hotfix on May 30 2016.
– Fixed an issue where the AutoGM would also decline / void trades if they were sending out a prospect, even if the other team was sending them one in return. Released as hotfix on May 30 2016.
– Fixed an issue where COMs would see the owner of the draft pick instead of which team’s pick it was on the COM’s Trade confirmation page. Released as hotfix on May 30 2016.
– Fixed an issue where the AutoGM would also decline a trade if they had a negative account balance. The AutoGM will now only decline if they are trading away money. Released on June 3 2016.
– Additional code to evaluate player and draft pick overall value has been added courtesy JonL. This extra check will only run if the trade involves players. Released as hotfix on June 3 2016.
– Fixed an issue where Pick valuation could be slightly undervalued when offering trades to the AutoGM. Released as hotfix on June 13 2016.

April 1st, 2016 by

journalismUHS Build 9948 – April 1 2016
April Fool’s Day… no but really… this is a legit build.

This is a relatively smaller build but it’s one that comes with a major piece of functionality that will allow COMs and GMs the opportunity to contribute to the fantasy of their league. Media Articles are basically here to put an end to one of the needs of having forums. I have some further plans for Media Articles but we take baby steps first.

We also added in commentary from the AutoGM on declined trades. It’s nothing huge or robust…¬†just a little something to give you an idea about why the trade was declined.

Media Articles
Leagues now have the opportunity to allow GMs to contribute to the overall fantasy and culture of the league and team by writing media articles. Media articles are typically written in the vein of a local tv station or newspaper covering the team. This also allows the GM to earn extra money for their team.

COMs can modify settings in the Settings > Media Settings section. In here, the COM can set:
– Articles require COM Approval (default) or are automatically approved on GM Submission.
– Minimum Words required to qualify an article to earn money. By default this is set to 300 words.
– Maximum Revenue allowed for each article. By default this is set to $250,000.
– Revenue / Word will set how much money is earned per word (as long as they meet the Minimum Words requirement). By default this is set to $500 / word.

Media Articles will appear on the League home page above the Game Results.

Bug Fixes & Miscellaneous Changes
– The AutoGM will now respond with very basic comments on why the trade was declined. You will know if you’re close to a deal (within 25%) or not.
– Fixed an issue where teams were not allowed to view trades they were not involved in.
– Status messages with excessively long words will now be wrapped so the Commissioner’s Corder, Game Results and League Activity are not squished.
– Users will now be able to Toggle whether the Commissioner’s Corner, Recent Media Articles, Game Results, Recent League Activity and Status Updates are shown.
– Fixed an issue where old draft picks would incorrectly be shown for trades completed by the Commissioner.
– Fixed an issue where Trades completed by the COM would not void other pending trades for the same players / picks.

Hot Fixes
– Fixed an issue where the play by play indicated the Goalie was being put back in the net despite never getting pulled for the extra attacker. Released on February 16 2016.
– Fixed an issue where a team losing by 1 or 2 goals would still pull the goalie if they were killing a penalty. Goalies should never be pulled if the team is on the penalty kill. Released on February 16 2016.
– Fixed an issue there a COM placing a player on waivers would calculate the end time based on days instead of hours. Released on February 24 2016.
– Fixed an issue where players were being released from teams and were placed in free agency, however, the AutoGM would not necessarily see them. Released on February 25 2016.
– Fixed an issue where attempting to relocate a team would result in an error. Released on March 5 2016.
– Fixed an issue where the new Fighting skill was not showing up in the Edit Player screen for COMs. Released on March 14 2016.
– Fixed an issue where Firing a Coach was not applying the league’s Salary Buy-Out Percentage. Released on March 14 2016.
– Added a new Unprotected Player report. The report will only appear for GMs or COMs when they are logged into UHS. Released on March 14 2016.
– Fixed an issue where Teams with a negative account balance could not purchase a $0 medical facility or staff. Released on March 14 2016.
– Fixed an issue where Players would remain protected after being traded, allowing teams to exceed the maximum allowed protected value set by the COM. This fix will be applied to AutoGMs once the build has been released. Released on March 14 2016.
– Fixed an issue where Expansion Teams were not appearing in Priority Lists for Waiver Claims. Released on March 14 2016.
– Fixed an issue where the AutoGM was able to draft underaged players. Released on March 26 2016.
– Fixed an issue where the AutoGM was signing drafted players to $0.125/1 contracts when they should have automatically be signed to the Salary / Contract as set by the Commissioner. Released on March 27 2016.