Welcome, Guest. Please login or register.
Did you miss your activation email?
September 29, 2024, 12:26:10 am *

Login with username, password and session length
Pages: 1 2 [3] 4 5 6
Print
Author Topic: Instance System Update  (Read 43363 times)
hateborne
Legend
*******
Posts: 2282


Don't nerf me bro!


View Profile
« Reply #30 on: February 06, 2015, 10:02:57 am »

Having not created this, I'm amused to see how unhappy people are with the inability spam instances. I realized it was an issue, but didn't realize how many instances each person was actually juggling.

On a positive note, it makes the 65k cap MUCH harder to break daily, which was causing instances to not work or let people in. (Not that any of you will acknowledge anything but the inability to skip respawn times)


-Hate
Logged

I'm so sorry Hunter, I tried...
Dinadas
Sr. Member
****
Posts: 301


View Profile
« Reply #31 on: February 06, 2015, 10:11:33 am »

Having not created this, I'm amused to see how unhappy people are with the inability spam instances. I realized it was an issue, but didn't realize how many instances each person was actually juggling.

On a positive note, it makes the 65k cap MUCH harder to break daily, which was causing instances to not work or let people in. (Not that any of you will acknowledge anything but the inability to skip respawn times)


-Hate

There are just specific instances where not being able to create instances quickly is a major handicap.  EoN and SoT come to mind.
Logged
Peign
Guest
« Reply #32 on: February 06, 2015, 10:22:48 am »

Having not created this, I'm amused to see how unhappy people are with the inability spam instances. I realized it was an issue, but didn't realize how many instances each person was actually juggling.

On a positive note, it makes the 65k cap MUCH harder to break daily, which was causing instances to not work or let people in. (Not that any of you will acknowledge anything but the inability to skip respawn times)


-Hate

Please elaborate.   To my knowledge there was no way to spam instances when delete was not available.     You get 3 instances of a zone per way point holder.     If you need to farm for X, what is wrong with creating 3 instances of the zone where X can be found.     You can repop every 10 min.    People either pay the Plat price or donate for this ability.         

The grind is tedious once you have done it 24-30x.   

Logged
Peign
Guest
« Reply #33 on: February 06, 2015, 10:51:46 am »

If the 65k counter is an issue, perhaps a cleanup script could be implemented that resets the counter nightly, weekly or whatever makes sense.
Logged
balidet
Master
******
Posts: 810



View Profile
« Reply #34 on: February 06, 2015, 10:53:08 am »

I am not a smart man...

remove delete

repop would reset the instance timer(log in with 1 hour left in t7? repop it and have all the time in the world...)

remove the Global cooldown cause that shit is bad...

all is well in the world....
Logged

Dinadas
Sr. Member
****
Posts: 301


View Profile
« Reply #35 on: February 06, 2015, 10:58:15 am »

I am not a smart man...

remove delete

repop would reset the instance timer(log in with 1 hour left in t7? repop it and have all the time in the world...)

remove the Global cooldown cause that shit is bad...

all is well in the world....

All reasonable suggestions.
Logged
Sarthin
Administrator
Legend
*****
Posts: 1033

Common sense is not so common


View Profile
« Reply #36 on: February 06, 2015, 11:52:30 am »

I like the instance changes, and now I see we can create them without insta zoning in, which is also sweet.

One thing that's bugging me a bit though is that the repop timer is now linked for a characters raid/guild. I'm not sure if this is intended, but I don't see a problem keeping it like before, where the repop timer was individual for each instance.

And as suggested earlier in thread, no timer for creating the instances in the first place. Whenever I log on, and want to farm a new zone, it's a bit tedious having to wait to create a raid instance after creating a guild instance. It's not a big deal, just quality of service imo.
« Last Edit: February 06, 2015, 12:20:44 pm by Sarthin » Logged

Akkadius
Administrator
Legend
*****
Posts: 2016



View Profile
« Reply #37 on: February 06, 2015, 01:17:49 pm »

If the 65k counter is an issue, perhaps a cleanup script could be implemented that resets the counter nightly, weekly or whatever makes sense.

I'm going to say it 'once' here, for many to read.

When I made the initial post about this late in the morning I had spent 10 straight hours without lifting my ass off the couch to push through this update and get things done.

The issue isn't necessarily 65k as a reason for this system at all, but it is an issue and it can't really be avoided and personally its not a big deal to reset this counter, so really its a non issue.

Once again, I have no opposition to a healthy solution to do something different with cool-down timers, to me its a very quick change if I do anything.

For the wankers who want a reason as to 'Why' this system was necessary I will explain it once here. One, because its my job to make sure shit runs smooth, from a EQEmu community-wide standpoint as well as EZ, whether its appreciated or not. Hate shouldn't have to try and keep focused on the things that impact playing when mechanical oriented shit is malfunctioning. I can tell you first hand trying to manage both worlds will pretty much cripple you from making progress, Hunter knew this, and that is why he would update infrequently and 'deal' with shit in a very band-aid fashion. Not out of neglect, but because he chose to deliver content and things that affect the player experience rather than trying to fix issues all day long every day. Given yes, he had to deal with them, but he knew what his priorities were and I don't blame him one bit. When things blew up, so did my IM box from Hunter.

Sure, in the front view of the players of some, you might go 'Why change it if its not broke'. What you don't see is truly how broke it is and how poor it is on performance and overall server lag, DESPITE being an absolute horrid code nightmare of redundancy and spaghetti-like code that is absolutely terrible to maintain.



Let me share with you some gold, a piece of history with our beloved Hunter. While intuitive and creative, he wasn't the most prestigious with engineering solutions efficiently, but he was always getting better at them.

Here is 'Most' (Not all) of the old instance code that Hunter created, some of you might be able to appreciate this:



(New code is a matter of 700 lines)

A huge chunk of this code is recycled code from what I originally donated to him as code 6 years ago so that he could provide instances to players. Don't believe me? I don't even think these forums go back that far to link you the proof, but I'm sure older players can attest.

Code wise: Yes its not the greatest. But if it truly wasn't causing issues, I'd be less inclined to change it just to change it, but it was absolutely necessary.



Problems:
  • The old instancing system used a Account based credit system developed once again by myself many years ago. It wasn't entirely a problem in the beginning but became more and more prevalent, and I'm going to tell you why it is one of the biggest problems.
  • This is one of the largest issues be far that have also plagued the Expedition system as well because it relies upon a 'flag' tracking system that was developed in the EQEmu server code base a long time ago that many server developers use as a way to track flags to this day.
  • Now, when I picked this up from Hunter's passing, we had 60,000+ of these flags in the database. Having these in the database isn't the problem, performance reading these from the database is not a problem. The problem comes in when when the excess use of 'Global' flags rises in numbers. This got gradually worse and worse overtime, this becomes a scalability problem
  • When a 'character' flag gets set, its only loaded for that character when it enters a zone, so a NPC would know that you were at this stage, and we should react to the player X way. These are not a big deal, only a handful of them get loaded into a zone, a complete non-issue
  • Each time, if you reference the instance code above that I linked, the code quest::setglobal is used, as a type 7 parameter, that is triggering a global flag update. Before this old instance system was removed there were over 12,000 of these 'global' flags. EACH and EVERY time a script event (hail, say, task updates) is triggered, this huge bucket of 12,000 flags get referenced which slows down ALL NPC and client interactions by a matter of .1-.3 seconds, which in the world of a 500-700 player server at times adds up to be ALOT.
  • Ever 'feel' a zone hang when a box army of 6-12 as they all /bcaa enter zone X? Yeah...
  • Remember when expeditions were causing so much lag? Same thing... Not to mention when every time these flags are triggered in code to update they also have to be re-propagated to every zone because they are global and other zones need to be aware.
  • You may notice now that re-popping is actually much faster, this is part in partial to not having to reload the same amount of global flags. A LOT of different actions will be much faster because there is only a matter of 100 global flags in the pool being loaded in any zone now since old instance code is gone, as well as the old account based system which was global based. A LOT of these things are faster because A LOT of actions use qglobals.
  • This is all part in partial to why Hunter put 'spam' code (which is now removed) whenever you say messages repeatedly because spamming hail would process 12,000-30,000 of these flags each and every time and would do micro hangs for .2-.6 seconds of the zone process main thread which can make things look terrible. This was once again a band-aid workaround without addressing the real problem.
  • When expeditions were coded using this same flag system, you could tell anytime task updates occurred or when someone deleted or created an expedition, you would have massive hangs because every single character is firing scripts in the background that all take .2-3 seconds to process. With 18 characters this adds up very quickly 18 (18 * .3 = 5.4 approx seconds of hang). This is for each type of action or update: Creating an expedition, receiving task updates, ZONING (Remember the character drops on zone? I'm sure you do), destroying an expedition and anything else that simultaneously signals all players

So, I could keep going on about why, but to most of you why doesn't matter. But since I had been getting a lot of whiny comments about why it needed to change, there it is 'once'.
« Last Edit: February 06, 2015, 01:40:52 pm by Akkadius » Logged


EZ Server GM
Digz
Full Member
***
Posts: 205



View Profile
« Reply #38 on: February 06, 2015, 02:00:54 pm »

most notable thing for me was how fast commands registered. Porting to an instance is almost instant now whereas before there was generally about a ~1 second delay between entering a command and it actually registering. nice work!
Logged
Premador
Full Member
***
Posts: 207


View Profile
« Reply #39 on: February 06, 2015, 02:22:19 pm »

Quote
I am not a smart man...

remove delete

repop would reset the instance timer(log in with 1 hour left in t7? repop it and have all the time in the world...)

remove the Global cooldown cause that shit is bad...

all is well in the world....

Very good suggestion. Like it.


Akka the changes have been awesome. The server is snappier than ever. I rarely hang.
Logged
Peign
Guest
« Reply #40 on: February 06, 2015, 03:03:32 pm »

My comment regarding the 65k counter was not an instead of instance change but an addition to instance change suggestion.
A periodic script could be run as task/cron job.  It does not sound like it is a big deal though either way.
Logged
Akito1221
Newbie
*
Posts: 20


View Profile
« Reply #41 on: February 06, 2015, 09:15:40 pm »

This seems like a lot of macros to move between instances. Is there anyway to change it from "enter guild toon zone" to "enter guild toon" or "raid join toon zone" to "raid join toon" but only if your in the same zone.
Logged
Chunka
Hero Member
Legend
*****
Posts: 1642


Been gone so long I'm a newbie again!


View Profile
« Reply #42 on: February 06, 2015, 09:32:33 pm »

Not exactly sure why we'd want that.
Logged

"When any government, or any church for that matter, undertakes to say to its subjects, "This you may not read, this you must not see, this you are forbidden to know," the end result is tyranny and oppression, no matter how holy the motives. Mighty little force is needed to control a man whose mind has been hoodwinked; contrariwise, no amount of force can control a free man, a man whose mind is free. No, not the rack, not fission bombs, not anything — you can't conquer a free man; the most you can do is kill him." R.A. Heinlein
Akito1221
Newbie
*
Posts: 20


View Profile
« Reply #43 on: February 06, 2015, 10:04:40 pm »

So you can still have a generic command for your group to enter a guild or raid instance your main toon is making? Or am i missing something and i can have one macro to enter my mains guild/raid instance regardless of what zone were in at that time?
Logged
Sarthin
Administrator
Legend
*****
Posts: 1033

Common sense is not so common


View Profile
« Reply #44 on: February 07, 2015, 06:45:37 am »

I am trying to write a constructive post regarding the recent changes in the instance system. Let me start off by saying that I am very happy with the new changes. Smiley It's running much more smooth, several guild instances is a plus, and I also understand the need to make this change from a coding perspective.

I've only had a few small requests regarding the fine tuning of the new system, as not zoning when you create an instance and repop timers not being linked. They are both small issues in my opinion.

Something I find a bit more tedious and awkward though is getting ported to zone in when switching instances. I don't mind this in most instances, but in TOFS, this causes some frustration. As with us all, we speak our own causes and mine is that I'm trying to UC up 10 characters in TOFS.

Right now, farming for rank 1-25 is _ok_, because you don't have to run for too long with characters each time you switch instance. But when trying to move further up, and especially on floor 4 (getting key) and floor 5 (for lvl 26-50 charms), it's a real pain right now. There is no need to repop even, because I would probably spend as much time getting back up, so the mobs have respawned.

I've already geared up at least ten characters with UC v1 in TOFS about a year ago, and it took quite some time. I can't even imagine how much longer it will take now. I am all for challenges, but to me this just feels awkward and time consuming for no purpose. I am not sure if this was intended or not, and if it was I guess I will have to live with it. Hope you take this as positive feedback and not whining. Grin


TLDR; Please consider letting us switch instances in TOFS, without getting ported back to floor 1 when we do so. Also, thanks for all the hard work you put in, it's really appreatiated.
Logged

Pages: 1 2 [3] 4 5 6
Print
Jump to:  

Recent

Stats

Members
  • Total Members: 6149
  • Latest: Acaelis
Stats
  • Total Posts: 65081
  • Total Topics: 5061
  • Online Today: 138
  • Online Ever: 8678
  • (December 19, 2022, 02:32:09 pm)
Users Online
Users: 0
Guests: 401
Total: 401
TinyPortal v1.0 beta 4 © Bloc