• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Debug Oldclient 8.6 (using base nekiro 1.5)

gustavok2

Member
Joined
Nov 22, 2013
Messages
27
Reaction score
5
Hello Everybody! Could you help me with yours experiences?

I'm facing an issue with the old Tibia 8.6 client. I don't know if you've encountered something similar, but what happens is that after a certain number of spawns that the player kills, the old client crashes (debugs). This also happens when I'm logged in as a GM and creating monsters on the map — after a certain amount, it can no longer create more monsters and crashes.

This bug only occurs on the old client; it does not happen with clients like OTCV8.Do you have any tips on how to deal with this?
Monsters stop appearing visually to the player, after that it causes debugging

Thanks for yours helper'

I use nekiro tfs 1.5 downgrade 8.6

ll send you a video so you can see it.

PACKET: 180 26 25 0 84 104 101 114 101 32 105 115 32 110 111 116 32 101 110 111 117 103 104 32 114 111 111 109 46 131 209 126 67 126 7 3 PACKET: 109 209 126 67 126 7 3 209 126 68 126 7 103 163 17 0 255 163 17 33 14 0 255 163 17 0 255 167 17 98 0 54 146 0 64 100 0 30 0 0 0 0 0 0 255 215 152 0 0 0 0 0 255 166 17 0 255 176 17 0 255 163 17 0 255 174 17 0 255 178 17 0 255 174 17 34 18 0 255 172 17 25 18 109 14 0 255 175 17 25 18 0 255 163 17 30 18 0 255 249 17 0 255 245 17 0 255 246 17 0 255 248 17 0 255 46 18 126 255

1747693550361.webp1747693934851.webp1747694505546.webp1747693950427.webp
 
Solution
This also happens when I'm logged in as a GM and creating monsters on the map — after a certain amount, it can no longer create more monsters and crashes.
Only limit I may think of is 250 'known' creatures in Tibia Client cache. In OTC it's unlimited - it may still show error in OTC Terminal, if server sends some packets in wrong order, but for sure it won't crash.

In Nekiro it's 10.76+ client code downgraded from 1300 limit to 250 limit of Tibia 8.6, but it still uses new algorithm:
8.6 algorithm from 8.6 times looks like this:
One big difference I see is...
This also happens when I'm logged in as a GM and creating monsters on the map — after a certain amount, it can no longer create more monsters and crashes.
Only limit I may think of is 250 'known' creatures in Tibia Client cache. In OTC it's unlimited - it may still show error in OTC Terminal, if server sends some packets in wrong order, but for sure it won't crash.

In Nekiro it's 10.76+ client code downgraded from 1300 limit to 250 limit of Tibia 8.6, but it still uses new algorithm:
8.6 algorithm from 8.6 times looks like this:
One big difference I see is:
which pushes "known creatures" to front of "known creatures list", which makes them harder to remove from cache.

It should be easy to reproduce with MC and 2 GMs. First login first GM, spawn around 100 monsters, go somewhere ~30 tiles away, then login second GM (who can't see monsters spawned by first GM!) and start spawning monsters around, so both GMs see new spawned monsters. First client should crash 100 monsters before second client crash.
 
Solution
Only limit I may think of is 250 'known' creatures in Tibia Client cache. In OTC it's unlimited - it may still show error in OTC Terminal, if server sends some packets in wrong order, but for sure it won't crash.

In Nekiro it's 10.76+ client code downgraded from 1300 limit to 250 limit of Tibia 8.6, but it still uses new algorithm:
8.6 algorithm from 8.6 times looks like this:
One big difference I see is:
which pushes "known creatures" to front of "known creatures list", which makes them harder to remove from cache.

It should be easy to reproduce with MC and 2 GMs. First login first GM, spawn around 100 monsters, go somewhere ~30 tiles away, then login second GM (who can't see monsters spawned by first GM!) and start spawning monsters around, so both GMs see new spawned monsters. First client should crash 100 monsters before second client crash.
@Gesior.pl you are amazing! amazing! amazing!
It’s exactly as you said — I ran the tests following your instructions, and the issue happens exactly like you described.
After applying the fixes to the source, the problem was completely solved.
Thank you so much, master @Gesior.pl!
 
@Gesior.pl
I have a debugging issue with my old 8.6 client only when I use CAST to watch another player's stream.
If the streaming player is on floors higher than 8, it works fine.
If the streaming player is on floors lower than 7, it crashes.

Can you give me a hint, haha?

i use TFS 1.5 Nekiro.


1747749011967.webp
 
Last edited:
After applying the fixes to the source, the problem was completely solved.
Can you share you fixes or some hints what to fix for others with same problem?
when I use CAST to watch another player's stream.
It would be the best, if you post this question and answers to my 3 questions listed below as new thread on Support board. So someone, who will search for cast system problems on Nekiro will find your thread.

1. What cast system did you install? Got link to it?
There were multiple cast systems for TFS 1.x, which were never merged into official TFS, because they had problems with cast viewers debugs, even on protocol for which they were made (10.76 / 10.98).
If the streaming player is on floors higher than 8, it works fine.
If the streaming player is on floors lower than 7, it crashes.
2. Does it crash, when you login into cast that is on given floor?
3. Does it crash, when you login into cast that is on other floor (higher than 8) and then casting player walks to invalid floor (lower than 7)?
 
Can you share you fixes or some hints what to fix for others with same problem?

It would be the best, if you post this question and answers to my 3 questions listed below as new thread on Support board. So someone, who will search for cast system problems on Nekiro will find your thread.

1. What cast system did you install? Got link to it?
There were multiple cast systems for TFS 1.x, which were never merged into official TFS, because they had problems with cast viewers debugs, even on protocol for which they were made (10.76 / 10.98).

2. Does it crash, when you login into cast that is on given floor?
3. Does it crash, when you login into cast that is on other floor (higher than 8) and then casting player walks to invalid floor (lower than 7)?
I replied to you in my post.
 
Can you share you fixes or some hints what to fix for others with same problem?
Sure, I can. The fix I made was exactly what you guided me to do.

I fix it after update my protocolgame.ccp
Code:
void ProtocolGame::checkCreatureAsKnown(uint32_t id, bool& known, uint32_t& removedKnown)
{
    auto result = knownCreatureSet.insert(id);
    if (!result.second) {
        known = true;
        return;
    }

    known = false;

    if (knownCreatureSet.size() > 250) {
        // Look for a creature to remove
        for (auto it = knownCreatureSet.begin(), end = knownCreatureSet.end(); it != end; ++it) {
            Creature* creature = g_game.getCreatureByID(*it);
            if (!canSee(creature)) {
                removedKnown = *it;
                knownCreatureSet.erase(it);
                return;
            }
        }

        // Bad situation. Let's just remove anyone.
        auto it = knownCreatureSet.begin();
        if (*it == id) {
            ++it;
        }

        removedKnown = *it;
        knownCreatureSet.erase(it);
    } else {
        removedKnown = 0;
    }
}
 
Gésio.pl você tem whatszap mano preciso de uma ajuda sua se tiver como
Post automatically merged:

Gustavok você tem whatszap mano tenho uma boa proposta pra você me passa seu whatszap
 
Back
Top