HerculesWS / Hercules

Hercules is a collaborative software development project revolving around the creation of a robust massively multiplayer online role playing game (MMORPG) server package. Written in C, the program is very versatile and provides NPCs, warps and modifications. The project is jointly managed by a group of volunteers located around the world as well as a tremendous community providing QA and support. Hercules is a continuation of the original Athena project.
http://herc.ws
GNU General Public License v3.0
900 stars 758 forks source link

Body Relocation + Sit = Cell Bug #844

Open kyeme opened 9 years ago

kyeme commented 9 years ago

Original Topic by Zirius: http://herc.ws/board/tracker/issue-8489-body-relocation-sit-cell-bug/?gopid=24396#entry24396

I am using pre-RE

There seems to be 3 bugs arising from this, and all of them seems to be affecting on how the client perceive where the players's position are.

  1. The caster's final position after using body relocate + sit is not getting updated to the client of the caster, but is getting updated to the others.
    • The reason why the player in the video keep asking that he is getting detected by my Ruwach even though he is NOT where I am using the Ruwach
  2. The caster's final position after using body relocate + sit is not getting updated to the other players, but is getting updated to the caster.
  3. The reason why the caster knows where should I use Ruwach instead of where I thought I have him in my screen
  4. The final position of the caster who use body relocate + site is not getting updated to the caster and to the other players.
  5. The reason why (at the last part) when he casted asura on me, we both said "he jumped/flew", so we both perceive that he is not actually beside me.

The video can be downloaded here: https://www.mediafir...1tuj13diu0xrh4m

This bug seems to be well known on most private servers since a player from other private server told this to me. LOL. They are calling it "cell bug".

Video: https://youtu.be/BihyM5pOSwI

anacondaq commented 9 years ago

xD i was report about this shit in 2012, or even in 2011, nobody listen to me... :DDD interesting, how many other critical bugs you will find reported by me at last 4 years? (this is not adressed to topic starter)

kyeme commented 8 years ago

Up~ :D

kyeme commented 8 years ago

Any solution or temporary solution please? :[

kyeme commented 8 years ago

Here's my video: https://youtu.be/5o6blCN4TZw

MishimaHaruna commented 8 years ago

What options do we have here? Reject sitting and possibly a few other requests, for a short time after body relocation?

What's the behavior on official servers by the way? They're also affected?

kyeme commented 8 years ago

I can reproduce it on official :[ I agree on 'reject sitting'

kyeme commented 8 years ago

~ Bump ~

anacondaq commented 8 years ago

This is not official befavior. This is bug at official servers too!

kyeme commented 8 years ago

Up

kyeme commented 8 years ago

~ Bump ~

kyeme commented 8 years ago

~ Up ~

arvilmena commented 8 years ago

i agree with MishimaHaruna, something like:

battle.reject_sitting_after_asura_use "bool" battle.reject_sitting_after_asura_use_delay "x"

where x is number of milliseconds for /sit to be available after using asura strike. default to 1 second.

Note that, we cannot completely reject the use of /sit after Body Relocate, because of Sling Shot from Genetics, and the possibility that a Sura used Body relocate just before getting hit by Sling shot.

kyeme commented 8 years ago

@Playtester :kiss:

Playtester commented 8 years ago

Well as said that's official behavior, I can reproduce it on official servers. Can always put a delay for sitting in your server, but I don't do custom implementations sorry.

kyeme commented 8 years ago

@Playtester

I know you want as much as possible to replicate what we have in official. Even though this bug is working in Official still maybe we could make a config that would enable/disable this bug. In that case Players like us who don't want to see such bug will be happy.

Playtester commented 8 years ago

Yeah there are many improvements you can do, I wouldn't mind that. I just don't have time for it.

hemagx commented 8 years ago

yea, let's fix this shit boys.

thanna commented 7 years ago

bump. would love if this problem is fixed or if there is a work around on this.

anacondaq commented 7 years ago

no, they don't care @thanna, don't waste your time by waiting official fix from devs, do some payment for them, or hire anybody which will fix the bug for you. Or you can fix it by yourself by putting extra delays or even blocking sitting on map.

hemagx commented 7 years ago

@anacondaqq Hercules is an free (as in freedom) open-source project, which is released under GNU GPL license and completely donation and commercial material free, also Hercules Developers contribute their work and time for free with no kind of advantage or extra services. which means that their ability to work and give contribution to community is very depending on their own beliefs, free time, and what they would like to do. if you believe they can't fix some issues presented, cause they're not available enough to keep up with the project feel free to contribute, if you find Hercules doesn't suite your needs, then feel free to find other options which suites your needs, whining about a free project is nothing but disrespect to yourself before disrespect to people contribute their work and time for free while expecting nothing in return.

@thanna while there may be an fix already discussed but this is more like an client issue more than server side issue, and honestly the current discussed solution doesn't look totally fine with me at least. however i would let @MishimaHaruna decide if we should add option for sitting delay. iirc, i tried before with @kyeme to try some more reliable fix for the issue but never worked out.

anacondaq commented 7 years ago

@hemagx

"... bla bla bla ...if something you don't like, shutup because we using GPL, and f*** off, we are angels"

No man, sorry, i really tired to listen same bullshit. You can say about it to kids which has no brains, but don't try to cheat me. GPL and OpenSource it's business model where you taking money by developing features for other's, which not exist in emulator or required by Administrators of private servers, which doing game-servers for their players and manage everything for them. I'm not against it, and i really respeect when people can sell their skills, but i don't like when someone trying to pee in my face by saying really trash and lied info for kids and cover their ass like "we are angels here, and we doing everything here just because we are altruists", no, this is not correct at all. There are maybe 1% of all people around Ragnarok Online development community doing something for altruism, but mostly 99% of people doing the job here because of their own motivation needs (money, education, feeling good because of new and complicated experience). Just one example of all your words about "freedom and angel paradise here": http://herc.ws/board/topic/7124-hemagxs-service/ and such examples hell a lot (if you so cool altruist, why not share already made work with people, because it's "freedom / angel paradise here / gnu/glp / opensource"?) Sure you will not, until someone will release it, and until people need it for buying for their own servers. (and one more time, i have nothing against it, but try to get me, i don't like when someone saying that "white is black, and black is white'). Do it, and grab you cash, you deserv it, but don't say anything about things to which you do not belong.

I hope you will not answer for not making drama here, but it's your choise, i can argue each of mine word with facts and proofs, just depends on the situation or human which will join to dialogue i will need some time for preparing. For people who wish to join here and start to say anything against me (bla bla bla you did nothing bla bla bla, gnu gpl / freedom) and my point of view -> welcome, but i guess this is not good place for that, because it's issue tracker.

Why am i so emotional saying all of text above to you here? Because re-read my post above one more time.

I said:

"developers don't care, and don't wait guy for official fix",

and try to argue this string. It's not saying that developers good or bad, or something else, i just said what i said, if you can't understand it, sorry, maybe my english too bad, but most of my friends can understand even my english bad english. And i'm sure, it's problem not because of not enough time, it's problem because of not enough motivation for devs (mostly because of $$$).

You have not even tried to talk with people, because you are don't care about the problem. This bug exist in RO for very long time, i have reported (not by this nickname) several times about the bug, my collegues from different server's did the same thing several times too, a lot of bug-reporters here did it several times too, and all of these reports -> just ignored for years. And that's why i start to write here wall of text, and mostly because you started openly rude, and to mislead and dissemble.

I remember when i first time report about the bug, it was 2011 or 2012 year, and now is 2017 year. So for minimum of 5 years no even any progress or answer about the problem. If someone wish something to do because of altruism, he will ask "hey, i don't have enough info, if you wish to fix it, do 1,2,3 and fixing process will be much faster". But ofcourse nobody will do it. Why to do it, if possible to make private fix via $$$ for that? And where am i wrong? Or you start to blame me and say something just because i said truth? Please don't need.

if you believe they can't fix some issues presented, cause they're not available enough to keep up with the project feel free to contribute

What am i'm doing here at issues at hercules / and rathena for years, is not calling contributing? Or a lot of ignored issue from bug-reporters which spending their own time for receiving feedback from players, confirming it and posting it to right place for fix for people who have knowledge and experience for fixing the problem (which of course will not happen in most cases, until the issue will not affect them(but there some exception, there are still good devs around, or people who do not try to be hypocrite and do their job well)) are all of these people not contributors too? All "bravery" comes to devs only? Or what?

Please back to community from your sky, and try time to time to respect people and community for WHO you are doing what you are doing. Without community rAthena and hercules will be dead in 1 week after the last server owner will left scena. And as you said something above about "freedom / GLP / Opensource", please after 12 years of development, you did't even tried to make ANY documentation for code. And the threshold of the entrance to the development is extremely high. And this is intentional by people with their business model of receiving money for supporting administrators via paid services, because of luck of documentation or any guides -> server owners in most cases will not join to development at all. If you were really altruistic, you will increasing developer base via guides, documentation, education things like real altruists in scripting part did. But for what to But why share the pie with others, isn't it? Because It's part of business model, and you can blame me, but nobody will show me that any developers even tried to get more people to dev team via education new people, and nobody will, because i'm right about business models which covered and hidden by "GPL/OpenSource". And yes, you can say "we are not teacheres bla bla bla", but take a look for scripting or mapping part. And benefits from this place, that a lot of really powerful scripters here around because of such real and true altruists come.

MishimaHaruna commented 7 years ago

Well, this is just a visual glitch, and it also happens on official servers. It's probably possible to work around it, but someone needs to sit, come up with a decent implementation proposal and test it, then submit it. Whether I will is unknown (but unlikely), since there are many other things in my backlog that have higher priority than this (in general, if something involves the client, I tend not to do it, since testing something that I need the client for, is extremely annoying to set up).

Now, in response to the last comments (that really disappointed me by the way), why do you expect people to do things for you (and for free) when you want them to and how you want them to? Want this fixed quickly? Fix it and submit the fix, or pay someone to do so. Or wait for someone to fix it out of their own goodwill, but in that case you can't pressure them to do so. Documentation sucks? I know that much. I wrote some, but my lifetime won't be enough to write all the documentation that you wish we had. Does it bother you? Submit some documentation then.

On a side note, although many people are here for money, or to build a fame they can then sell on the market (who am I to blame them? FIY, people need food to live, there are many people that revolve around the Hercules community and are unemployed), that isn't true for everyone. I never took one dollar here, and I don't want anyone's stinky money. But don't mistake me, I'm not here for sheer altruism either (who would be so stupid? Investing thousands of hours on something for no reason?), I'm here because I want Hercules to work reasonably well (perhaps so that I can use it for myself for example?), and I invest my time on it so that it keeps working well, and to fix the things that don't. Although, out of all the bugs that Hercules has (and it has many, along with years and years of spaghetti code that was added without ever taking a break to do some review or planning), why do you think that YOU get decide which ones take priority?

I'm locking this issue for the time being, since it got completely out of hands. If anyone wants to add anything, feel free to open a pull request, and mention this issue ID.