View Full Version : [dev1008] Make Fish HP Server-sided, not only client-side.
Raxiaz
04-23-2011, 02:50 AM
In my many years of FFXI I've come to understand that the fish's HP is client-sided information only, where the server has no monitor on it until it's 0%, wherein it can accept the user's input to reel in the fish/item/monster/whatever.
Because of this many bots simply just alter the fish's HP value to 0, without actually fighting the fish. This straight 100% -> 0% should be a huge indicator that a bot is being used. So, SE, to help cut back on abuse, making the HP server-sided is a step in the right direction. All of these bots can, presumably, simply fight the fish after the fix. But I'm sure it will throw many of them off. :)
Thanks for reading.
Freebytes
04-28-2011, 09:23 AM
I really like this suggestion. The implementation may be difficult, but it would dramatically decrease the bots that rely on this exploit.
Nidhogg
04-28-2011, 09:26 AM
Nidhogg likes this post.
Myrrh
04-28-2011, 09:33 AM
But then how will Urat fish? D:
Alukat
04-28-2011, 09:36 AM
i really like the idea. only issue might be ping & lags which can mess up fishing.
Arcon
04-28-2011, 03:12 PM
In my many years of FFXI I've come to understand that the fish's HP is client-sided information only, where the server has no monitor on it until it's 0%, wherein it can accept the user's input to reel in the fish/item/monster/whatever.
Because of this many bots simply just alter the fish's HP value to 0, without actually fighting the fish. This straight 100% -> 0% should be a huge indicator that a bot is being used. So, SE, to help cut back on abuse, making the HP server-sided is a step in the right direction. All of these bots can, presumably, simply fight the fish after the fix. But I'm sure it will throw many of them off. :)
Does it really work that way? I find this a bit hard to believe. I thought the current system already uses server-side information, the client only allows some unchecked interaction, which it corrects if it disagrees with the server (which is why sometimes fish magically come back to life, the client thinks the player caught it, but the server says POIDH and transmits the fish's actual HP), which is why fishers always wait a second at 0%, before reeling the fish in.
I fully agree though, that it should be server sided only. Lag would be an issue, as it is with everything else in this game as well, but the server could make some adjustments, like give the user a flat 0.1s time to react. It would be better than right now, where the server does its own thing and can occasionally result in lost fish, broken lines and broken rods, when the client clearly said the fish was at 0%.
Raxiaz
05-05-2011, 12:46 AM
The server only reads the fish's HP, honestly, when you press the enter button to send the information. If the server was monitoring the fish's HP and saw that it went from a solid 80-100% to 0% in less than 3 seconds, something is up. Many fishing bots will act like they're fighting the fish, but most just have a wait variable of when to reel in. So it acts legit in the wait time, but when it wants to reel in the fish all it does is modify its HP to 0, and reels it in. The server has no idea what just happened either, because it seriously thinks the character was legitimately fighting the fish. It wasn't monitoring the fish's HP.
I know this will not have a permanent fix on fishing bots. But I do know that it throw a lot of them off. SE will probably see a lot of bot fishers if they made this adjustment, if they can make it. I know with the way the game was coded there's a lot that SE wishes they could do, but can't due to the development process.
Byrth
05-05-2011, 01:15 AM
This is how it works and how it has always worked. The client used to also choose what fish/item was on the line.
Malamasala
05-05-2011, 01:25 AM
Are you sure the client chooses that? Makes it sound like you could just send him "khroma ore" as information in that case. Though SE could have some check that it at least was a fish.
Arcon
05-05-2011, 01:32 AM
Are you sure the client chooses that? Makes it sound like you could just send him "khroma ore" as information in that case. Though SE could have some check that it at least was a fish.
He said "used to choose", so I'm guessing it's fixed. I still find this a bit hard to believe though. How come fish sometimes come back from the dead? I can't really explain it with this client-side model. At least I always thought it was calculated server-side, precisely because of this glitch.
Byrth
05-05-2011, 04:34 AM
If you look hard enough on Alla, you should be able to find an old thread of a guy fishing up gold beds. It was on Garuda, and the item has never been obtainable through legitimate means.
http://www.ffxiah.com/screenshots/32989
Fish come back from the dead because SE didn't get an A in coding. If you play with it enough, you will probably realize what has happened.
Raxiaz
05-16-2011, 02:17 PM
Fish come back from the dead because they slowly regain HP when you're not depleting it (stupid, I know). And the client choosing what was on the line is true, at least it used to be. I remember hearing about someone fishing up an Excalibur, but that was years ago.
Byrth
05-16-2011, 07:57 PM
Fish come back from the dead because they slowly regain HP when you're not depleting it (stupid, I know). And the client choosing what was on the line is true, at least it used to be. I remember hearing about someone fishing up an Excalibur, but that was years ago.
And, at least in my experience, they still switch direction preference when they're "dead."
Atomic_Skull
05-17-2011, 10:26 PM
A. Make the fish HP and fighting server side.
B. Don't tell the client what is on the line until after the player pulls it up.
C. Add fishing mobs that are strong enough to kill an unattended character in all areas including towns. The mob level would be based on the number and level of the players in the fisherman's party and would put you in confrontation mode so that you couldn't have a lvl 10 fishbot with a lvl 90 babysitter outside the party.
The only way you could tell which is a fish and which is a mob is by how it fights and how it's stamina depletes, the same way you can tell the difference between a Ryugu Titan and a Titanicus.
Arcon
05-18-2011, 01:39 AM
C. Add fishing mobs that are strong enough to kill an unattended character in all areas including towns. The mob level would be based on the number and level of the players in the fisherman's party and would put you in confrontation mode so that you couldn't have a lvl 10 fishbot with a lvl 90 babysitter outside the party.
Sounds good on paper, but is fighting in cities even possible? Would maybe have to work around it with the confrontation effect up. Would still look weird to see a sea monk chase a character around the Parade Grounds fountain.
Greatguardian
05-18-2011, 01:55 AM
Sounds good on paper, but is fighting in cities even possible? Would maybe have to work around it with the confrontation effect up. Would still look weird to see a sea monk chase a character around the Parade Grounds fountain.
More like it would look Awesome.
Raxiaz
05-18-2011, 03:36 AM
It would look ridiculous IMO. All that seems a little unnecessary in my opinion. And even so most of "C" is too complicated for SE. A & B were good enough IMO. No need to completely destroy fishing for normal players just because of bots. The way the system works now for that is just fine. And most botters aren't going to be fishing in cities/towns, too much activity and it would look conspicuous for a single character to fish in the same spot for hours on end and not say a word to anyone.