• 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!

TFS 1.X+ dbug on cliente 10

What TFS are you using? 1.4? 1.5?
What client? 10.98?
Is it some kind of server '10 + 12 client'?

Client crashed on 'chat channel message', because it had 'chat message mode' 52 (in OTS it's called 'speak class').

There is no 'message mode 52' in Tibia (valid types listed below). There are 2 possible reasons:
1. There is some C++/Lua script that sends channel message with type set to 52. I've checked TFS and otservbr, there is no verification in C++ that type you set in Lua is valid type for message. Tested TFS code: C++ Shell (http://cpp.sh/7kb3g) (C++ does not verify enum values passed as argument)
2. Your network code in protocolgame.cpp is bugged, which is almost not possible in any popular engine (TFS/otservbr). Only in some 'downgraded protocol' releases, which often forget to use valid message bytes/types for their downgraded protocol (ex. 8.6)

VALID TYPES

TFS 1.4 10.98 speak classes:
C++:
enum SpeakClasses : uint8_t {
   TALKTYPE_SAY = 1,
   TALKTYPE_WHISPER = 2,
   TALKTYPE_YELL = 3,
   TALKTYPE_PRIVATE_FROM = 4,
   TALKTYPE_PRIVATE_TO = 5,
   TALKTYPE_CHANNEL_Y = 7,
   TALKTYPE_CHANNEL_O = 8,
   TALKTYPE_PRIVATE_NP = 10,
   TALKTYPE_PRIVATE_PN = 12,
   TALKTYPE_BROADCAST = 13,
   TALKTYPE_CHANNEL_R1 = 14, //red - #c text
   TALKTYPE_PRIVATE_RED_FROM = 15, //@name@text
   TALKTYPE_PRIVATE_RED_TO = 16, //@name@text
   TALKTYPE_MONSTER_SAY = 36,
   TALKTYPE_MONSTER_YELL = 37,
otservbr canary 12+ speak classes:
C++:
TALKTYPE_SAY = 1,
TALKTYPE_WHISPER = 2,
TALKTYPE_YELL = 3,
TALKTYPE_PRIVATE_FROM = 4,
TALKTYPE_PRIVATE_TO = 5,
TALKTYPE_CHANNEL_MANAGER = 6,
TALKTYPE_CHANNEL_Y = 7,
TALKTYPE_CHANNEL_O = 8,
TALKTYPE_SPELL_USE = 9,
TALKTYPE_PRIVATE_NP = 10,
TALKTYPE_NPC_UNKOWN = 11, /* no effect (?)*/
TALKTYPE_PRIVATE_PN = 12,
TALKTYPE_BROADCAST = 13,
TALKTYPE_CHANNEL_R1 = 14, //red - #c text
TALKTYPE_PRIVATE_RED_FROM = 15, //@name@text
TALKTYPE_PRIVATE_RED_TO = 16, //@name@text
TALKTYPE_MONSTER_SAY = 36,
TALKTYPE_MONSTER_YELL = 37,
 
What TFS are you using? 1.4? 1.5?
What client? 10.98?
Is it some kind of server '10 + 12 client'?

Client crashed on 'chat channel message', because it had 'chat message mode' 52 (in OTS it's called 'speak class').

There is no 'message mode 52' in Tibia (valid types listed below). There are 2 possible reasons:
1. There is some C++/Lua script that sends channel message with type set to 52. I've checked TFS and otservbr, there is no verification in C++ that type you set in Lua is valid type for message. Tested TFS code: C++ Shell (http://cpp.sh/7kb3g) (C++ does not verify enum values passed as argument)
2. Your network code in protocolgame.cpp is bugged, which is almost not possible in any popular engine (TFS/otservbr). Only in some 'downgraded protocol' releases, which often forget to use valid message bytes/types for their downgraded protocol (ex. 8.6)

VALID TYPES

TFS 1.4 10.98 speak classes:
C++:
enum SpeakClasses : uint8_t {
   TALKTYPE_SAY = 1,
   TALKTYPE_WHISPER = 2,
   TALKTYPE_YELL = 3,
   TALKTYPE_PRIVATE_FROM = 4,
   TALKTYPE_PRIVATE_TO = 5,
   TALKTYPE_CHANNEL_Y = 7,
   TALKTYPE_CHANNEL_O = 8,
   TALKTYPE_PRIVATE_NP = 10,
   TALKTYPE_PRIVATE_PN = 12,
   TALKTYPE_BROADCAST = 13,
   TALKTYPE_CHANNEL_R1 = 14, //red - #c text
   TALKTYPE_PRIVATE_RED_FROM = 15, //@name@text
   TALKTYPE_PRIVATE_RED_TO = 16, //@name@text
   TALKTYPE_MONSTER_SAY = 36,
   TALKTYPE_MONSTER_YELL = 37,
otservbr canary 12+ speak classes:
C++:
TALKTYPE_SAY = 1,
TALKTYPE_WHISPER = 2,
TALKTYPE_YELL = 3,
TALKTYPE_PRIVATE_FROM = 4,
TALKTYPE_PRIVATE_TO = 5,
TALKTYPE_CHANNEL_MANAGER = 6,
TALKTYPE_CHANNEL_Y = 7,
TALKTYPE_CHANNEL_O = 8,
TALKTYPE_SPELL_USE = 9,
TALKTYPE_PRIVATE_NP = 10,
TALKTYPE_NPC_UNKOWN = 11, /* no effect (?)*/
TALKTYPE_PRIVATE_PN = 12,
TALKTYPE_BROADCAST = 13,
TALKTYPE_CHANNEL_R1 = 14, //red - #c text
TALKTYPE_PRIVATE_RED_FROM = 15, //@name@text
TALKTYPE_PRIVATE_RED_TO = 16, //@name@text
TALKTYPE_MONSTER_SAY = 36,
TALKTYPE_MONSTER_YELL = 37,
using cliente 10 + cliente 12
tfs 1.3 otservbr
 
Back
Top