Question regarding Standings - thejames
Age Rerates Suggestion - ChargersGM
UHS Build 10635 - Finally Time for Bed - thejames
UHS Build 10515 - Age Rerates, Farm Coaches and more - thejames
Basics of UHS? - thejames
UHS Build 10235 - Bit of a Maintenance Build - thejames
Rerate Change - thejames
UHS Build 10180 Released - Goalies join the 99-Club! - thejames
Cash Valuation for Players - thejames
Can you have multiple things going at once? - thejames
Picks Made Before Draft Opened - thejames
Drafted Players Go to Free Agency - thejames
Age Rerates Show Incorrect Values (Public Sites Only) - thejames
UHS Build 10635 – January 5 2017
This is a hybrid maintenance / enhancement build. Initially I had begun creating the new Team Home and the Marketing / Bonus Revenue additions when I had noticed a relatively new league with an abysmally slow sim run time. One thing led to another and I suddenly found myself smack in the middle of some DB optimizations.
I had also uncovered the issue with page load times being centered around AutoGM teams appearing in the UHS instant messenger. Once that was fixed I kind of felt like I was on a roll and decided to go all in on the optimization issues I had been seeing.
This was certainly a lengthy release. As I write this I’ve been up for 24 hours straight. The build release itself has been going for nearly 12 hours, a lot longer than I thought it would go. Hopefully we won’t have to go through nights like this again. Time for bed.
Marketing / Bonus Revenue
We’ve added an option for pro teams to earn extra revenue. Initially this was supposed to be something where the team invested in something like Lawyers/Medical, however, it became apparent that eventually all teams would just wind up at the maximum level anyway. I decided to go in a different direction.
For each game your pro team plays there is a 5% chance (by default) that you will earn extra revenue. By default the extra revenue will be 10% – 100% of the normal revenue that would have been earned for that game. All settings are manageable by the COM. Setting the chance to 0% will disable the functionality.
All finance pages have been updated to show the extra Marketing revenue.
The Team Home page has been slightly redesigned. The layout was intended for PC browsers as you’ll very likely see some overlapping on mobile browsers. The page will now feature the last 5 game results (instead of just the last game), next 5 upcoming games and the roster/line checker for the Pro and Farm team in their own sections.
Sim Engine & DB Optimizations
I spent most of the day looking at the SIM Engine performance and added a few indices to our tables to speed things up. Overall for very large leagues or ones that simmed quite a bit, the engine ran very slow, sometimes taking as long as 50 seconds to sim just a single game. That will change back to the more normal speed / average of between 1-3 seconds per game (sometimes a little more depending on server usage).
Additionally I added other indices to help prevent duplicate stat inserts. I’m not sure exactly why the duplicates are happening yet, however, adding a unique index for specific fields in each table will basically prevent the duplicates from getting inserted. When this build is released I plan on wiping all league’s aggregate Player and Goalie stats and rebuild them before UHS is brought back online to remove the duplicated stats.
Bug Fixes & Miscellaneous Changes
– Fixed an issue where errors were being logged in the database if a team did not have a coach assigned to a team. User would never see these errors.
– Fixed an issue where teams no longer owned coaches after the build deployment. Hotfix: Jan.1.2017.
– Fixed an issue where users were not able to reset their password. Hotfix: Jan.2.2017.
– AutoGMs will no longer appear in the UHS IM. This GREATLY improves the loadtimes for pages. Hotfix: Jan.3.2017.
– Released code to better handle Live vs. QA leagues. Hotfix: Jan.3.2017.
UHS Build 10515 – January 2017
Happy New Year! This build was intended to be only for adding Age Rerates into the system, however, I got ambitious and decided to add Farm Coaches as well. The addition of Farm Coaches added a LOT more functionality and customization to the system than I thought was going to be needed. I was really hoping to get this in before the turn of the year but such is life.
We are introducing a new rerate system that is based on Age. The goal is to add a rerate system that is very much based on the real world instead of the rerate system UHS has traditionally used. With the new system, younger players will typically rerate up, peak at around age 26 and start to decline around age 29 and on.
Coaches for the TEAM the player is on will grant bonuses or penalties based on the Coach’s Development (young players) and Experience (older players) skills. Additionally, bonuses will be granted to younger to mid-aged players if they are on the farm or junior team for development.
Player Training is still an option for GMs that want to focus on a particular player as it will no longer be possible to micro-manage a player’s rerate via games played.
All players are still required to have played in ten regular season games otherwise they will suffer a rerate penalty. It will still be possible for them to rerate up, they’ll just have less of a chance to do so.
By default, all NEW leagues will use the Age Rerate method. All existing leagues will continue to use the traditional Stats Rerate method.
More detailed information on the rerate percentages and modifiers can be found on the UHS Wiki.
Farm Coaches are here!
The Manage Coach page has been updated to show you both your Pro and Farm coach. For leagues where Skills are Hidden, we will now show you the coach’s game modifier (+2, -1, etc) for each of their skills instead of the description (Excellent, Poor, etc). The action buttons for each coach will now take you to a new page with further information on the desired action before you actually commit to it.
GMs coach options are:
– Fire: Fire the coach. There will be an option to promote the Farm coach to the Pro team if you desire.
– Renew: Renew the coach’s contract.
– Promote: Promote your farm coach to the pro team.
– Perm: Respond to the coach’s permission request to speak to other teams.
Coach Profiles have been updated to add Permission texts as well as whether the coach is holding out and/or Disgruntled with the team. The scouting / skills section has been moved to appear directly underneath the Coach’s vitals instead of way over on the right side of the page.
GMs have the option to request permission to speak with another team’s FARM coach. If permission is granted, any team may make an offer to that Farm Coach as long as it is to take a PRO TEAM coaching position. Permission must be granted within 72 hours (by default) or else the coach will automatically be given permission. Should the team decide to not grant permission, they run the risk the coach will no longer sign with them and possibly become disgruntled, negatively affecting players during farm games.
Offers made to Farm Coaches cannot be retracted at all. Once made, the offer will be acted upon in time (as set by the COM). Additionally, offers made must exceed the Farm Coach’s current offer. Any offer made automatically comes with a 25% penalty, so offers will need to be financially adjusted to compensate.
Coach “Free Agency” pages are now gone for GMs. Instead, all options to manage a coach will be found in the Personnel page under Manage Coaches. COMs will still have a modified version of the Coach Free Agency page, however, information on number of offers and expiration dates have been added to help the COM troubleshoot any potential issues.
Passing / Skating Determinations
Previously the Passing/Skating starting chance was at 50% (before modifications) for the home team, however, this has now been bumped up to 55%. The extra 5% was actually supposed to be there but never got changed. It’s intended to simulate ‘home ice advantage’.
We have added an option to toggle the Draft for Standard UHS leagues (Relegation leagues already have this option disabled). If Drafts are disabled, all players will be added to free agency, including Junior players.
Bug Fixes & Miscellaneous Changes
– On Public Sites, the team’s Coach will now appear at the top of the Personnel page.
– Fixed an issue where a Coach’s Pct would not consider Ties if they had no wins.
– Fixed an issue where home coaches losing a game would always be credited with a shootoutwin when simmed in live game mode.
– Fixed an issue where some AutoGM teams would not send players down to their farm team. Hotfix: Sep.15 2016.
– Fixed an issue where debug information was being printed out on the GM Latest Trades screen. Hotfix: Sep.15 2016.
– Applied a change to Live Game update jobs so that they can overlap without duplicating statistics. Hotfix: Sep.23 2016.
– Added code to prevent AutoGMs from buying out players that are on waivers. Hotfix: Oct.1 2016.
– Fixed an issue where newly created leagues were not able to use the Media Article system properly. Hotfix: Nov.10 2016.
– Fixed an issue where only the first five picks were available for trading during a league’s inaugural season. Hotfix: Nov.10 2016.
– Fixed an issue where duplicate teams were allowed to be selected for the entry draft order. Added extra messaging in the list to highlight draft order positions that are not set. Hotfix:Nov.13 2016.
– Added code to adjust AutoGM decision making for waiver claims. Hoping this will stop some of the Claim / Place on Waivers cycles that have been happening. Hotfix: Nov.22.2016.
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.
– 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