1-31-2023

From WoonRO Wiki
Jump to navigation Jump to search

General Changes

  • Added Hong Kong proxy
  • Removed the bad SG proxy
  • Up until February 18, all costumes purchased using the cash shop have been reduced by 50%

Item Edits:

  • Card granted drop rate increased to 20x from 12x
    • From this point on, flat rate increases will not be accepted, but custom rates on specific cards / items will
  • Teddy bear hood view sprite fixed
  • Removed trade restrictions on Glorious Ring

NPC Edits:

  • Added @bgshop and @woeshop
  • Fixed seasonal content warper not taking 1 mil zeny
    • It was just checking and not taking any money. Those that got in for free will have to pay now
  • Costume maker cost reduced to 2.5 mil Zeny and added an alternative 100 gold coins option
  • Fixed a possible bug in secret valentines NPC
  • Updated the GM list in game
  • Job master will only give adventurer items on the first class change

BG Edits:

  • Conquest reduced from 6 minutes per break to 4 minutes
  • Added warp flags to conquest
    • Flag 1 is always available on conquest start
    • Flags 2+ are unlocked by breaking barricades
    • Warp locations are not final, they can change if they are giving too much of an advantage to attackers

Stability edits:

  • Hidden drops:
    • We have a feature thats called hidden drops. And all it is, is a 1% change to get enriched elu or ori by killing any mvp. However, the way this works is a serious concern since there were 44 mvps list, and there were 2 items. That means that any time any monster was killed, this script would run 88 checks. This isn't an issue normally, but when you have events like DS where dozens of monsters can fall all at once, it may cause issues when overlapping with other scripts as well as all the other monster kills at that moment. The bigger the server the more of a concern this is. The server could easily be forced to do thousands of checks per second for no reason. Some quick math and the server strain becomes obvious.
  • Fix:
    • Those MvPs listed in the hidden drops have just had Enriched elu and ori added to their drop list at a 1% chance. As for you and your chance to get these items, it remains exactly the same. The only difference is that whodrops and mobinfo commands now show those drops. It's not really "hidden" anymore, but it is literally removing thousands of checks per second.
  • MvP Ranks:
    • Once again, no one bothered to code a proper check. Every time any monster was killed, it would compare the monster id to a list of 44 MvPs. And then run the rest of the script. Not as bad as the previous one.
  • Fix:
    • The very first thing the script does now is detect if the monster is an MvP, if not it ends. No additional checks or anything.

Individually these scripts are not an issue. But... there are more culprits that I have to fix up, it just takes time to find them and fix them. A big one is the random hunt NPC, which will take a nice chunk of time to modify. So I'll leave that for next time, since they wont overlap with the above scripts anymore they shouldn't be that big of an issue anymore. But some of the mobs from random hunt npc are in DS, which means those 10 mobs that just got killed all at once, if someone had the quest for bow guardian for example, each of those checks just got multiplied by every party member. A single storm gust in DS could force the server to do 20,000-100,000 checks instantly if the conditions are right. ROTD also uses the same function. So god forbid those mobs you just killed in DS were also part of ROTD. As stated individually these scripts are irrelevant, and our server runs on 32Gigs of RAM, so normally it's no issue. But when the conditions are just right, these overlapping scripts can become issues. This is the result of years of development by various developers and not much care going into optimizing the server, the scripts are optimized when looking at them solo, but not as a whole system.

Development going forward:

  • I will always try to work on the top 2 voted suggestions if possible. Sometimes this is not possible due to data gathering or creating new systems for said suggestions.
  • Bug reports get worked on next and once I roughly know how long it will take me to fix them, I schedule a server update giving my self plenty of time to take care of bugs and have leftover time.
  • Once the bug fixes are done I move onto implementing suggestions that have a lot of votes but are simple to implement.
  • Then I will focus on optimizing 1 script each update on the bigger scale rather than just each script individually.
  • Lastly I will work on any GM requested content or edits I want to make my life easier.
  • Sometimes I do delegate tasks to other people that are simple, so you may see things get done and wonder why I used my time on it.
    • I very well may not have if it's something someone else could do.