Changelogs - Summer&Autumn 2020

Keep track of this topic. All announcements and short-term rules will be written here.
Post Reply
User avatar
+Colibri
Administrator
Posts: 3958
Joined: Sat Feb 25, 2006 4:08 pm
Location: static void Main

Changelogs - Summer&Autumn 2020

Post by +Colibri »

Previous post: Changelogs Winter&Spring 2020

July 7th, 2020
FIX Fixes to the Trivia system (various bugs that were found after using it)

July 15th, 2020
UPGRADE Achievements menu: when buying a veterant title, a confirmation gump comes up, describing that the title can be applied in the Titles menu.
FIX Reconstructed Dev.csproj & Dev.csproj.user (when closing & opening the Visual Studio solution, visual studio didn't remember the files that were already open).
INTERNAL Restructuring some code so that data is easier to access, staff tool for review of trivia events, cleaned up some more loose files in the server folder.

August 1st, 2020
FIX Fixed bug that caused the 6-hour lag on August 1st server that resulted in data corruption and a revert.

August 14th, 2020
UPGRADE Buy item gump on PlayerVendors improved, shows the graphic of the item, as well as a system-generated description (e.g. "decorative item", "shrunken pet"... to be more informative to the buyer, what exactly it is they're buying).
UPGRADE PlayerVendors now show co-owners in their tooltip properties. Added anti-raid feature, it's possible to limit how many items a single player can buy in a set timespan. Bound skillballs can no longer be sold on vendors.
FIX Issue with logging system - invalid data in client packets that caused some log messages to not be recorded and error alerts to fly off the handle (an issue that has been in there for several years, and finally took the time to get to the bottom of it).

September 29th, 2020
FIX A few code changes to make it possible for the Halloween Dungeon to open.
FIX Bug with antiraid feature on vendors.

October 2nd, 2020
FIX RelayerDeed issue with naming items (the confirmation gump didn't display correct names, the resulting weapon could have incorrect name).
ADD Ability to grant newbie status for old account (players who played just a few hours several months ago, and now upon return, can't enter newbie areas anymore).
INTERNAL Improvement to the tool that helps find bugs using backed up world states. Cleaned up some error-logging. Various minor technical fixes/improvements in the code.

October 17th, 2020
FIX Dropping items to corpses - sub-containers are now also restricted (to prevent accidental dropping of items into a corpse)
UPGRADE Enchanted runebook displays owner's name.

October 22nd, 2020
FIX TownHouses bug - when owner ran out of money, in certain situations the house didn't completely reset its state, but the house remained rented with half of the items still in it.
ADD the [account command now has ability to display account age to another player.
- - Changes related to housing - -
CHANGE HouseDecay - added piers to the list of items that get deleted when a house decays.
FIX Ran a global search for addons that aren't properly registered to houses, so that future IDOC events will result in even less tickets about stuff being left behind.
FIX House Positioning system now logs all actions related to houses for easier debugging (placement/moving/resizing/demolition/decay).
FIX Staff-friendlier interface for House Positioning system - allows staff to place houses on invalid locations. Having sufficient funds is not required when staff places/moves/resizes a house, no funds are withdrawn.
UPGRADE House decay refunds mergers. When a house decays, Merger Credits are given to the owner's account, as they would if the house was moved elsewhere or manually demolished.
FIX When placing or moving a house, any items on the floor remained under the house. Items are now moved to house's ban location. If there is already a house at the ban location (happens when merging) the items are placed at player's feet.
FIX In the fees confirmation dialog, there is a button to show information regarding reduced moving fee. It contained information about land reservation, now contains information how reduced moving fee is calculated based on house's previous locations.
FIX/UPGRADE House positioning validation: Yard items are now ignored and no longer cause obstruction. Classic houses require surface for outside stairs.
FIX Some players bought the +1 house slot deed for 500ed through the House Positioning menu when it became available. At the time, we had a special vendor in the ED room which sold them at 400ED. All these players were refunded 100ED/slot.

October 28th, 2020
UPGRADE Houses that are sunk for more than just the foundation, can now be sunken to either foundation, 1 floor, 2 floors or 3 floors.
FIX When logging in, in certain situations, player got error "Invalid facet" (mostly happens because player logged off in a boss instance).
FIX House placement no longer possible in Lost Lands.
FIX Boats can now be placed on the lake in Malas/Magda/Maral.
FIX Gatekeeper (boss instancing entrance) - when the boss was started, it pulled all nearby team members inside. Now only pulls players who aren't hidden, and have been active within the last 30 seconds.
FIX Halloween bosses dropping gold stacks greater than the technical limit of 60k.
UPGRADE Added logging to Gatekeeper (boss instancing) and Corpse stone.
FIX Corpse stone displays correct number of items for a corpse (ignored hair and beard). Doesn't show almost-empty corpses in the list (corpses that only have hair and beard remaining in them).
FIX Miniature Haunted Mirror addon now more properly positioned, so that it's on the wall.
FIX XML Quest books - issue with reward items being non-movable (if multiple items are rewarded in a bag).
CHANGE Holiday Trees can now be placed between November 1st and December 31st. (used to be only during December)
FIX Gatekeeper boss instances - duration of the instance is extended when server restarts (if server is offline for 15 minutes, the end-time is set 15 minutes later).
UPGRADE Internal upgrades - mostly added logging, improvements to the Log Viewer, some technical fixes.

October 29th, 2020
FIX Personal animal spawners - dismissing a spawn didn't reduce your current active spawn count (the number of spawns was only recalculated after server restart)
CHANGE Alchemy "pour to keg" option - it poured to the keg that has been in the backpack the longest. Now pours to the keg that has been most recently added. To select a keg, in which it will be poured, just lift & drop it in your backpack, this only works for top-level kegs (having some kegs in top-level and some in sub-containers, the order is calculated differently).
UPGRADE Gate to the Star room (spawned at the end of each champion spawn) now shows a confirmation dialog, warning the player that it's a one-way gate.
FIX Issue with Ninjitsu spell Death Strike - opponent's steps were not counted, and so the damage was always dealt as if the opponent hasn't moved at all.
FIX Animal taming exploit - when taking specific approach, it was possible to tame a creature in areas where taming is disabled.

October 30th, 2020
UPGRADE Insured and blessed items in sub-containers remain with the ghost (aren't left on the corpse). Insurance now also works with items that are on bonded pets, either equipped or in pet's backpack. More info in this post: http://www.uoex.net/forum/viewtopic.php?p=76863#p76863

November 3rd, 2020
ADD Real-time monitoring of CPU usage (monitor client requests and server-side processes)
FIX Pet res stone exploit - it was possible to resurrect a pet that was far away from the stone.
FIX Enchanted Grove (druid spell) no longer possible to cast it on the champion altar. The Stone Circle spell already has this restrictions, recoded to be more accurate about the distance.
FIX Runebook - was possible to drop runes and rename the runebook if it was locked down outside of a house (e.g. raffle stone).
FIX Levelable weapons experience gump - no longer possible to add "Mage weapon" bonus to weapons that don't have a malus (which actually made the weapon worse). Also added additional confirmation dialog before applying selected points.
FIX HelpSystem tagging items - better handling when tagging addons.
ADD Internal system to monitor server time drift.

November 16th, 2020
FIX Website issue with not displaying images when connected over HTTPS. Now that this is fixed, if you visit the "HTTP version" of the site, it automatically redirects to HTTPS (secure connection)
UPGRADE Password hashing is now done with BCrypt. (more info in the post below)
UPGRADE Weapon type change deed can now also be used on Dreadnought swords (requires to select a sample item which is then deleted, weapon abilities are transfered from the sample).
ADD Auto-archiving of large log files that are more than a few days old.

November 16th, 2020
FIX Weapon type change deed - incorrect text about which abilities will be used. Added Dreadnought Cleaver to the list of special weapons.
FIX Weapon naming issue - weapons didn't show their in-game-defined name.

November 25th, 2020
UPGRADE CollectionRendering (ListGump) decoupling.
ADD Creature-on-perch (Mongbat and dragon that can be placed on a parrot perch). Also, all perched creatures (including parrot) now turn in your direction when you speak to it.

December 3rd, 2020
FIX Carving corpses now possible only to those who have looting rights.
FIX Parrot Perch naming.
UPGRADE AuctionTemplates system recoded to be compatible with CollectionRendering.
UPGRADE/FIX Various core improvements.



December 20th, 2020
ADD Event Reward system for Player-organized events.
ADD Stronger Wooden Box 2020
FIX House sinking - it was possible to sink a house beyond the limits of the map (Z=-128).
UPGRADE Town Center vendors - system that removes inactive vendors now has a raffle. If there are any participants, when a vendor is removed, the chair is filled with a new vendor owned by the winner of the raffle.
UPGRADE HelpSystem ticket browser (staff tool) - nicer display, cleanup of the stuff that has been crammed there in the past.
FIX Town center - vendor spot raffle stone - It was possible to enter the raffle even if you already have a vendor (via 2 different methods). The system now makes a cross-check, and in case any of the raffle participants have a vendor, the bid is cancelled and tokens returned to the player.
FIX Chopping down zoological addons (or any kind of addon with a creature) was not possible with an axe that has any kind of magical attributes on it.
FIX Create food spell and selling the food to vendors. There are now 3 new types of food, called "ethereal food" which can only be created with the Create Food spell. Those 3 types cannot be sold to vendors. Casting the spell a few times will generate random food, but if the spell is casted continuously, only ethereal food will be created. Types of food: Ethereal Cheese Wedge, Ethereal Pizza, Ethereal Pie.
FIX Footprint effects - issue with footprints that you currently aren't using, reactivating on server restart.
FIX Large Smith BODs - bug with ringmail. Every large BOD given by smiths was for ringmail armor, now it's a random of either plate, ringmail or chainmail.
ADD Harpy-on-perch (for sale at the auction)
FIX MyStuff command no longer shows hidden items (there are sometimes hidden items in the backpack, that are used as configuration for quests or similar internal/system functionality).
UPGRADE Item experience gump (weapon leveling). For the "Damage Increase" entry, if the weapon is exceptional, there will be a label displaying "+20" and a button that shows more info about how exceptional weapons add +20 into the Damage Increase calculation.
FIX World Teleporter rent - only the owner can now place the shop teleporter.
FIX Camouflage items (pumpkin disguise kit) no longer allow hiding in places where hiding is disabled.
FIX Karate quest - Orange belt quest - the dialog contained instructions that Hyper-active orcs are "far east", but they are "far west".
FIX A type of house door couldn't be walked through when open (Dark door, part of SE expansion)

December 30th, 2020
FIX Glass table white addon now can no longer be walked through. Note: this only works on addons placed after this fix. So if you want to fix your glass table, chop it down and place it again.
FIX Achievements gump - button to buy a veteran reward changed (common issue with players with outdated clients not seeing the button).
UPGRADE Trivia events - minor technical improvements.
UPGRADE Player-organized event rewards: now support multi-day events, the info is shown on the item's date. (just upgrade of the infrastructure, the menu still needs to be upgraded).
FIX Inactive vendor remover - didn't stop removing inactive vendors if there were already sufficient amount of empty chairs.
FIX Pumpkin disguise kit didn't allow hiding where hiding is permitted.
FIX Auction stone - minor technical fix.
ADD Holiday gift 2020
FIX ItemBlessForDeed can now be used on items that are already blessed (in which case, it shows a warning text that the item is already blessed).
UPGRADE Ethereal mounts now show how many slots they take.
UPGRADE Internal improvement for a much faster [global search (when doing global search of items, each global query resulted in a 5-10 second lag spike).
FIX Parrot-on-perch fixes: since parrots didn't actually listen to speech from players, they couldn't learn the words or turn in the direction of the speaker. Parrots now turn either north/south or east/west, depending on what direction of the perch they are sitting on. Creatures (except for parrot) couldn't level up. Support for placing the parrot on perches that aren't in a house (for display at auctions). When placing a parrot on a perch, the perch must be locked down.
+Colibri, Administrator of UO Excelsior Shard

Don't know what the purpose of your life is? Well then make something up! ;)
(Old Colibrian proverb)
User avatar
+Colibri
Administrator
Posts: 3958
Joined: Sat Feb 25, 2006 4:08 pm
Location: static void Main

Re: Changelogs - Summer&Autumn 2020

Post by +Colibri »

Bump for today's restart and bunch of fixes.
+Colibri, Administrator of UO Excelsior Shard

Don't know what the purpose of your life is? Well then make something up! ;)
(Old Colibrian proverb)
User avatar
+Colibri
Administrator
Posts: 3958
Joined: Sat Feb 25, 2006 4:08 pm
Location: static void Main

Re: Changelogs - Summer&Autumn 2020

Post by +Colibri »

Today's restart features a really cool core mechanic upgrade - insurance. As you know, blessed or insured items remain with you when you resurrect, but only if they are in the top-level of the backpack.

This upgrade fixes this discrepancy. When you die, any blessed or insured item that's in a sub-container will be with you when you resurrect. This could cause a lot of mess in your backpack, so as an additional improvement, the system remembers where everything was originally. When you gather the contents of your corpse, the items will be re-organized into sub-backpacks.

Insurance now also works on bonded pets. Whether the item is equipped on a biopet, or inside the backpack (or sub-container within the backpack), when a pet dies, those items will be on the pet when it's resurrected. If you have enough gold in your bank, item will also be re-insured.

(This upgrade probably makes the Backpack For Blessed Items obsolete).

I don't know how this works on OSI, but it seems to be the standard RunUO functionality. We have had a warning that comes up whenever you insure an item, saying that insurance and blessing only works for top-level items, but still we periodically get tickets (mostly from players who are new to the game) that they lost stuff - "it was insured, so why did I lose it?"


We overall still get lots of bug reports about an items missing, and although I've looked into countless such cases, it almost never turned out to be a bug. Since this code is completely rewritten, although I have throughly tested it, now finally there's a good chance that something might actually go missing. So I'll keep an eye on things in the next few days, and I ask that if you die, please check that it's all there. There might be scenarios that I didn't consider when testing.



No animals were harmed in the making of..... scratch that.
A pack horse, a mule, and a biopet were repeatedly slaughtered in the making of this upgrade.


Eventually I'd like to reveal some the stuff that goes behind the scenes, here's how I approached this upgrade:
1. Read and understand all existing insurance/corpse code, including the few existing improvements and chages we have made over the years.
2. Write the new insurance code, which is now simpler, but still contains all the exsting functionality.
3. Test whether it's working
4. Fix the issue that was found
5. Repeat steps 3 & 4 about a dozen times
6. Save all the files that were affected.
7. Repeat steps 3 & 4 two more times
8. Restart main server with the changes
9. Cross fingers and wait for bugs to be reported.

I remember back in college, a professor told us that when making software, it's only 20% writing code. At the time I didn't really take him seriously, I mean come on... But yeah, there was a lot of testing with this ugprade. Here's the list of scenarios I wrote, so I don't forget to re-test everything after a change.

Code: Select all

/* Testing scenarios must include:
 * 
 * Variety:
 *  - Regular items, Blessed items, Newbied Items, Insured items
 * 
 * Variety: 
 *  - Regular non-container items, Containers. Regular/Blessed/Insured items in sub-containers.
 *  
 * Variety: 
 *  - Movable and non-movable items (both in the backpack, and equipped)
 * 
 * Variety: 
 * - Players, bonded and non-bonded pets with backpacks, biopets with equipment
 * 
 * Variety: 
 * - Also test PvP dungeon override for all items to act as blessed.
 * 
 * Variety: 
 * - Also test regular mobs, to see if loot still drops (but blessed/nonmovable items don't drop)
 * */
Screenshot from the test server:
2020-10-30 testing insurance2.png
2020-10-30 testing insurance2.png (157.26 KiB) Viewed 5093 times
This warning code can now be removed :mrgreen:

Code: Select all

//2008-01-10 
if ( ToggleItemInsurance_Callback_LastWarning < DateTime.Now - TimeSpan.FromHours( 6 ) )
{
	ToggleItemInsurance_Callback_LastWarning = DateTime.Now;
	from.SendMessage("REMEMBER:\nInsurance and blessing works ONLY if the item is in your "+
	"main backpack or a blessed container within. If you put an insured/blessed item "+
	"into a non-blessed container in your backpack, the item will stay on your corpse." );
}
+Colibri, Administrator of UO Excelsior Shard

Don't know what the purpose of your life is? Well then make something up! ;)
(Old Colibrian proverb)
User avatar
Gaara
Legendary Scribe
Posts: 890
Joined: Sun Sep 23, 2012 10:43 pm
Location: Sedona, AZ, USA

Re: Changelogs - Summer&Autumn 2020

Post by Gaara »

That's a nice QOL upgrade, especially the bio stuff is handy! No need to worry about their gear anymore.

Thanks for the insight btw, nice to see a bit behind the curtain :nod:
Image
User avatar
+Colibri
Administrator
Posts: 3958
Joined: Sat Feb 25, 2006 4:08 pm
Location: static void Main

Re: Changelogs - Summer&Autumn 2020

Post by +Colibri »

Bump for today's restart and batch of fixes.
+Colibri, Administrator of UO Excelsior Shard

Don't know what the purpose of your life is? Well then make something up! ;)
(Old Colibrian proverb)
User avatar
+Colibri
Administrator
Posts: 3958
Joined: Sat Feb 25, 2006 4:08 pm
Location: static void Main

Re: Changelogs - Summer&Autumn 2020

Post by +Colibri »

Today the server was restarted for a batch of fixes. Probably the most notable fix is the Smith BODs and ringmail armor. For a while now, every large BOD that blacksmiths gave, was for a set of ringmail armor. But, the randomness has returned.
+Colibri, Administrator of UO Excelsior Shard

Don't know what the purpose of your life is? Well then make something up! ;)
(Old Colibrian proverb)
User avatar
Animol
Elder Scribe
Posts: 166
Joined: Tue Apr 03, 2018 8:38 pm

Re: Changelogs - Summer&Autumn 2020

Post by Animol »

Any chance of creating that LBOD reroll thingy you mentioned in chat a few days ago?
User avatar
+Colibri
Administrator
Posts: 3958
Joined: Sat Feb 25, 2006 4:08 pm
Location: static void Main

Re: Changelogs - Summer&Autumn 2020

Post by +Colibri »

Bump for today's restart, probably last in this year, and the end of this forum thread.

Note: there seems to be a bug with parrots, since all parrots on the server are Level 1. There was probably an issue with the recent upgrade that made them reset to zero. I will try to recover the levels from a backup, so if you have a parrot that's level 1 and you want it back to level 20, just wait until I do a global recovery/restore of the levels. (Unless if you're in a huge hurry to have it at level 20 again).
+Colibri, Administrator of UO Excelsior Shard

Don't know what the purpose of your life is? Well then make something up! ;)
(Old Colibrian proverb)
Post Reply