KTRose Bug list and Todo List

New forum to discuss KTRose code

Moderators: osRose dev team, ospRose dev team, osiRose dev team, Moderators

KTRose Bug list and Todo List

Postby XxXshidoXxX on Mon May 27, 2013 5:47 pm

''First we make bug list,then code it''
-White-Ra,great philosopher of the 21th century.


Here is the actual KTRose bug list,this way server hosts can easily follow the actual state and devs can pick something they'd like to fix without spending time :

Bug List :

-One shot a monster with a skill makes your character turn around (sometimes ) for too long and death animation is not always shown (Probably something to do with the new addition of the deathTimer)

-Cart passenger (Does not work at all) (PY : probably boolean RIDE value out of place in the ride request code )


-Server crashes now and then for no apparent reasons (Might be related to clans butt nothing is sure)

-HP sync will eventually be wrong after a long fight (You'll see yourself with 1 HP client side when you have like 500 server side,or the exact opposite you'll see 300 hp client side when you'll be already dead server side (resulting on your character dying client side without knowing why ) )

Funfact : You will have more HP server side when fighting monster that have a good atk speed (jelly beans...) and you'll have less HP server side than client side when fighting a monster with slow atk speed (mother choropy,wolfs...)
So i guess it probably has something to do with monster atk speed calculation.

(osirose had this issue too,we nearly suicide ourself figuring it out)

-Regen while sitting is absolutely bugged,i can't even state what is wrong,everything is,nothing works.


Todo list :

-Fix the bugs stated before

-Finish setting up LIST_NPC.STB so that the monsters correctly match the combat functions. Might need to modify weapons too.

-Timings - finish off and add lookup tables

-Tower Def - finish up. Add new crystals, NPCs AIP/QSD/CON

-Set up Keako's shop in adventure plain so he can sell KTrose stuff


Feel free to contribute to the bug list,or put any lead/clues you might have here.
Together we'll fix it all don't worry !

Image
My collection ( Tools, clients sources...)
https://mega.nz/#F!AdcFnQDL!sKp3O9tWGGdWvLEj_EYfwA
osrose mobile project
viewtopic.php?f=34&t=5787
OsRose Mobile development + Titan Rose redesign
https://github.com/shid0x
XxXshidoXxX
osiRose dev
osiRose dev
 
Posts: 445
Joined: Mon Aug 27, 2007 11:44 am

Re: KTRose Bug list and Todo List

Postby PurpleYouko on Tue May 28, 2013 2:58 pm

here are a couple more things that I know are wrong.

Carts: When using any of the carts that were imported from JRose we have speed issues. It's basically when using any wheels or engine that makes the move speed greater than the maximum normal move speed (don't remember exact numbers). To yourself you seem to be going Reeeaaallly fast but everybody else sees you tootling along at walking speed. very annoying.

Passengers. You can't pick up a passenger in your cart properly. they jump in just fine and you drive away and they are still there in the back of your cart. from their point of view though they just stay where they are when you drive off. Eventually when you get out of visibility range they will disappear from your back seat.
I'm pretty sure this is just down to the misapplication of the "stance" of the rider so shouldn't be too hard to pin down.

The annoying as hell bug that causes the server to go into an infinite loop and lock up occasionally when quite a few players are online. Doesn't crash completely so the auto-restarter never kicks in. It just freezes. I suspect it to be related to clans in some way but I can't be certain. Testing this isn't something that seems to be possible while you are the only player online.


What's wrong with my little Keako? She seems to work OK for me.
The only problem really is in resetting your original union affiliation after you leave her shop.
solutions for this include
1) Add an area trigger than runs some QSD code to reset after leaving.
2) Put her inside a custome shop house like the union sellers in Evo then trigger the reset on exit.
3) any other ideas that anyone comes up with
Need to lookup information on NARose items, skills, quests?
Now featuring a newly completed skill tree for all classes
Formatting fixed for different resolutions
Image

"A Gazelle is nothing but a giraffe plotted logarithmicaly"
User avatar
PurpleYouko
Rose Guru
Rose Guru
 
Posts: 4733
Joined: Fri Aug 10, 2007 2:05 pm

Re: KTRose Bug list and Todo List

Postby Qix on Tue May 28, 2013 3:16 pm

Sounds like we need a multi-client bypass or a utility that emulates a client for that last bug.
o-o
User avatar
Qix
Smoulie
Smoulie
 
Posts: 34
Joined: Sat May 18, 2013 10:33 pm
Location: Behind you...

Re: KTRose Bug list and Todo List

Postby XxXshidoXxX on Thu May 30, 2013 6:13 pm

I would like some of your opinions on the issue about the HP of the server and the client not being the same while fighting.
To me its a bug in the aspeed value (server moving faster than client or in some case the opposite).

I think we should use a constant that divide the monster stat of the STB to know how much faster an attack would be.

I did some with a mini jelly bean

For Aspeed= 80
Each attack
2,304
2,396
2,355
2,324
2,423
2,343
2,373
2,339
2,398
2,299
2,327
2,72

2,383416667 ---average----

33,56525996 Constant



our constant being 33,56525996 we can use that to divide any monster speed stat from the STB and tell the server when do each attack happen (in the mini jelly bean case they happen each 2,383416667 seconds )

What do ya think ?
My collection ( Tools, clients sources...)
https://mega.nz/#F!AdcFnQDL!sKp3O9tWGGdWvLEj_EYfwA
osrose mobile project
viewtopic.php?f=34&t=5787
OsRose Mobile development + Titan Rose redesign
https://github.com/shid0x
XxXshidoXxX
osiRose dev
osiRose dev
 
Posts: 445
Joined: Mon Aug 27, 2007 11:44 am

Re: KTRose Bug list and Todo List

Postby PurpleYouko on Fri May 31, 2013 1:56 pm

That was the approach that I started to work on a few years back.
problem was that the constant seems to change when you equip different weapon types, regardless of the attack speed listed in the STB.
Within a particular weapon type the constant stays the same for all attack speeds though.

I was planning to repeat the tests with weapons of every type and set up a kind of lookup table of constant modifiers. just never got around to it.
Need to lookup information on NARose items, skills, quests?
Now featuring a newly completed skill tree for all classes
Formatting fixed for different resolutions
Image

"A Gazelle is nothing but a giraffe plotted logarithmicaly"
User avatar
PurpleYouko
Rose Guru
Rose Guru
 
Posts: 4733
Joined: Fri Aug 10, 2007 2:05 pm

Re: KTRose Bug list and Todo List

Postby Qix on Fri May 31, 2013 8:54 pm

Is there a source file I can look at for this bug?
o-o
User avatar
Qix
Smoulie
Smoulie
 
Posts: 34
Joined: Sat May 18, 2013 10:33 pm
Location: Behind you...

Re: KTRose Bug list and Todo List

Postby XxXshidoXxX on Fri May 31, 2013 8:55 pm

But you're talking about the player attack also ?

I'm just talking about putting this method on use to the monster attack only since it would fix the HP-bug.

See i try to view the problem in a player way,if they logg in on your server they will not really be annoyed about their atack not being sync with the server (since they will not notice it client side) but they will be annoyed when their char dies and they still had 300HP left.

That's why i think we could implant it for monsters only for now and fix the player aspeed later.

Also if you still have those code about the lookup i could complete them by timing the different weapons,it would take time and i don't have many but at least someone would be working on it.
My collection ( Tools, clients sources...)
https://mega.nz/#F!AdcFnQDL!sKp3O9tWGGdWvLEj_EYfwA
osrose mobile project
viewtopic.php?f=34&t=5787
OsRose Mobile development + Titan Rose redesign
https://github.com/shid0x
XxXshidoXxX
osiRose dev
osiRose dev
 
Posts: 445
Joined: Mon Aug 27, 2007 11:44 am

Re: KTRose Bug list and Todo List

Postby PurpleYouko on Mon Jun 03, 2013 2:13 pm

We do have the capability of sending player HP from the server to the client to force it to sync up.
  1. BEGINPACKET( pak, 0x7ec );
  2.     ADDWORD( pak, hpamount );
  3.     ADDWORD( pak, mpamount );
  4.     thisclient->client->SendPacket( &pak );

This doesn't work in osirose or osprose but in the KTRose client i had Maxxon modify my trose.exe so that it does work.
The answer might be to send this packet a bunch of times during any fight. It's a very small packet so it won't take a lot of bandwidth or processing time.

possibly add a new function Synchpmp(CPlayer* thisclient) into CCharacter class that just calls this simple code to resync everything then call it after every monster attack calculation.
Doing so kind of breaks my rule on fixing code rather than putting band aids on it but it will get the job done in the short term till we can find a more elegant fix. :D

Check PakGMHeal in GMCommand.cpp for a nice history of all the weird stuff I tried to get the heal command to work :lol:
Need to lookup information on NARose items, skills, quests?
Now featuring a newly completed skill tree for all classes
Formatting fixed for different resolutions
Image

"A Gazelle is nothing but a giraffe plotted logarithmicaly"
User avatar
PurpleYouko
Rose Guru
Rose Guru
 
Posts: 4733
Joined: Fri Aug 10, 2007 2:05 pm

Re: KTRose Bug list and Todo List

Postby XxXshidoXxX on Tue Jun 04, 2013 8:46 pm

But if i do that the player will see his HP go down but the monster will still not be sync with his counterpart client side.

Meaning the player will be seeing his HP go down while the monster is in the ''reload'' phase.
Am i wrong ?
My collection ( Tools, clients sources...)
https://mega.nz/#F!AdcFnQDL!sKp3O9tWGGdWvLEj_EYfwA
osrose mobile project
viewtopic.php?f=34&t=5787
OsRose Mobile development + Titan Rose redesign
https://github.com/shid0x
XxXshidoXxX
osiRose dev
osiRose dev
 
Posts: 445
Joined: Mon Aug 27, 2007 11:44 am

Re: KTRose Bug list and Todo List

Postby PurpleYouko on Wed Jun 05, 2013 4:42 pm

Well the way it works (in theory) is that once combat is initialized the server and client both perform the same timing calculation so that combat should be synchronized attack for attack. In practice one or other lags behind.
All damage calculations are 100% server sided though. The client doesn't perform any of those. It just applies damage that the server sends it on the next animated attack after the arrival of the damage packet.
That's the reason that you see one of these two things.

1) sometimes the apparent damage will be double what the server sends. This means that the server has sent two or more packets between any two attack animation
2) Client displays a miss where server shows a hit. The damage packet arrives too late for the attack animation.

The real problem here is that the client applies regeneration and damage mitigation without waiting for an input from the server so during a long battle the HP and MP values on server and client get further and further out of sync.

If a sync packet is sent immediately after each attack damage packet then the tiny differences will be corrected before they can build up into a large discrepancy. there will possibly be some very tiny jumps shown at the client but so small that they will be hardly noticeable. maybe two or 3 HP / MP or so.

Of course this is just my theory. It has yet to be tested. ;)
Need to lookup information on NARose items, skills, quests?
Now featuring a newly completed skill tree for all classes
Formatting fixed for different resolutions
Image

"A Gazelle is nothing but a giraffe plotted logarithmicaly"
User avatar
PurpleYouko
Rose Guru
Rose Guru
 
Posts: 4733
Joined: Fri Aug 10, 2007 2:05 pm

Next

Return to KTRose Release

Who is online

Users browsing this forum: No registered users and 1 guest

cron