10.5c and the Party Graceperiod exploit and why it must be removed.

"
lepre84 wrote:
"
UnderOmerta wrote:
How about you simply don't zone in until your client has finish loading the area?
This is the best solution because it's the simple one.


I reckon this might create a lot of problems on the reverse side: monsters attacking and hitting your character in the previous instance while you're in the loading screen = you die while loading
Build of the Week 14
The first Righteous Fire/Non-Shavronne's/Shavronne's HC
Shameless self-proclaimed theory-crafting extraordinaire and forum crusader
Wouldn't be too hard since Phase Run has both the collision ignore and aggro dropping function and those could be incorporated into the Grace period?
"
lepre84 wrote:
"
UnderOmerta wrote:
How about you simply don't zone in until your client has finish loading the area?
This is the best solution because it's the simple one.


It only sounds simple. You have no idea how POE is coded. I think if GGG could do this easily, they would.
My Keystone Ideas: http://www.pathofexile.com/forum/view-thread/744282
I doubt the server is aware of when your client has finished displaying a newly loaded area. Otherwise I would assume some form of mid zone "limbo" would already be in place, as it is the cleanest and nicest of all possibilities. Instead we have a grace period, indicating that my first sentence is likely true.
Devolving Wilds
Land
“T, Sacrifice Devolving Wilds: Search your library for a basic land card and reveal it. Then shuffle your library.”
Last edited by CanHasPants#3515 on Apr 10, 2013, 7:59:24 AM
"
lepre84 wrote:
"
UnderOmerta wrote:
How about you simply don't zone in until your client has finish loading the area?
This is the best solution because it's the simple one.
It's simple on the surface, but how hard would it be to encode?
I're reported THREE of my Hardcore Deaths due to loading screen. Nothing happend. After Cybrix dying, ONE day later this shit is fixed. I don't get it GGG.

However, never thought this now could be used as exlpoit but it makes the game lot more fun for me not to be afreid about kicked to default due to loading screen.
Edit: CanHasPants beat me to my main point, so I'll second that.

I agree you should simply not be targetable while you're invulnerable. This fixes the major exploits since characters simply can't interact with monsters until they break invulnerability. I think there should still be a limited grace period but am still undecided whether it should be 5, 10, 20 seconds, etc. assuming it can be made to begin once the player has actually finished loading and is ready to initiate an action.

A couple people have already asked what's so complicated about it from a coding perspective, so I'll try to give my best hypothesis.

It's not likely that the code is difficult to work with. It's certain: like with any complex project, it's probably sprawling in addition to massive (I worked on a fairly modest software project with somewhere in the vicinity of a million lines of code/content over a couple thousand files), it's obviously written in varying qualities and styles depending on the original programmers and subsequent contributors, and it's going to be interacting with itself and with the clients (your computers) in ways that no single person can reasonably hope to keep track of.

Client-server synchronization and verification is probably the trickiest part, as CanHasPants pointed out (how does the server know if you've finished downloading the data for an instance but which, due to your graphics/CPU, hasn't actually rendered on your side yet?). If the system were designed exceptionally cleanly (and trust me, this virtually never happens with something on this scale), it should be a simple solution to keep your character in "limbo" while loading (they already do some form of this I think, as I've noticed slower loaders will reach a zone entrance but not pop up in the next one until after other people). In addition to the challenge of checking that the entire loading process has actually finished for the player (hence the grace period), this might also require some deeper changes to instance creation and loading in general that we're not aware of.
Last edited by cienmontaditos#6137 on Apr 10, 2013, 8:45:32 AM
Why not just give players 1 minute of grace period to rule out any possibility of players getting killed during zoning/loading screens AND place the ethereal status on them so the AI doesn't even know they exist including any minions they have.....zombies/spectres. And NO collision detection either since they are ethereal. Auras also don't work until they remove the grace status.

That fixes the problem and works for everyone.
Sadly this "when character zoned derailed a bit from the thread.

One dev mentioned in CB that one reason the Grace period exists is that players shouldn't enter areas with many monsters around the spawn point.


While instanced loading is possible such as creating a small invisible (de)spawn zone(dirty coding to prevent rewriting loading functions entirely) at each map and adding a packet which will be sent once the client is loaded this doesn't prevent unsafe spawn points.


"
I agree you should simply not be targetable while you're invulnerable.

You also mustn't cause collision checks or be hitable either so you can't block doors for example with invulnerable characters.

Or you enter some TP there is a new A3 monster in A3X which has a Splash attack that triggers curses.


"
I think there should still be a limited grace period but am still undecided whether it should be 5, 10, 20 seconds, etc.

Once it is implemented correctly it may be 2 minutes.

Correctly means:
1. Not receiving damage from any effects.
2. Monsters don't target you anymore.
3.You cannot be cursed or affected by special abilities.
4.You don't trigger quests, drop multipliers or anything player related(Quest boosting via TPs)


My idea how to fix this quiet fast would be instead of an effect granted by the server the server turns the player into a neutral object.
Meaning adding 1 more category to the object structures(copy and paste and add alignmentgroup "playerpassive" or add an alignment flag to the structure of the objects similar to PVP. This could also be used in Act3 so Ribbons and Blackguards are fighting each other) or bandit henchmen helping you in a fight.

Adding a group has the advantage you don't have to change other code such as itemquantity and you have to invest time for a proper groupconversions.
Adding an alignment has the advantage is that it's fairly easy but you have to add alignmentchecks on packethandlers/functions involving players.

Once the player performs an action the player group changes the group to "playeractive" or the alignment towards the player becomes hostile and every effect applies again.


"
However, never thought this now could be used as exlpoit but it makes the game lot more fun for me not to be afreid about kicked to default due to loading screen.

You better believe that. There are known flaws in the grace period, which will end it abruptly.
I would only be in your interest to have a non exploitable version of the Grace period.



"
cienmontaditos wrote:
I agree you should simply not be targetable while you're invulnerable. This fixes the major exploits since characters simply can't interact with monsters until they break invulnerability. I think there should still be a limited grace period but am still undecided whether it should be 5, 10, 20 seconds, etc. assuming it can be made to begin once the player has actually finished loading and is ready to initiate an action.

I would agree with this; however, since we both agree that it is likely not possible to begin the countdown once the zone is displayed, I'm in favor of being ethereal (no detection, no collision, invulnerable, and why not -- no quest rewards either; you're there but you're not) with time set to infinite or until action.

The poster (edit, ninja'd: two posters) above me suggests 1 minute. While 20 seconds is still sometimes not long enough for me, and 1 minute would certainly be enough, there are likely players where even 1 minute might not be enough time. Why just reduce the margin when you can nip the problem in the ass ;)
Devolving Wilds
Land
“T, Sacrifice Devolving Wilds: Search your library for a basic land card and reveal it. Then shuffle your library.”
Last edited by CanHasPants#3515 on Apr 10, 2013, 9:17:12 AM

Report Forum Post

Report Account:

Report Type

Additional Info