Редкий краш клиента "used decal #183 without a name"

Сообщения
78
Реакции
-1
Предупреждения
30
Помог
1 раз(а)
Ошибка
used decal #183 without a name
ОС
Linux
Amx Mod X
AMX Mod X 1.9.0.5294 (http://www.amxmodx.org)
Authors:
David "BAILOPAN" Anderson, Pavol "PM OnoTo" Marko
Felix "SniperBeamer" Geyer, Jonny "Got His Gun" Bergstrom
Lukasz "SidLuke" Wlasinski, Christian "Basic-Master" Hammacher
Borja "faluco" Ferrer, Scott "DS" Ehlert
Compiled: Dec 3 2021 15:54:56
Built from: https://github.com/alliedmodders/amxmodx/commit/363871a
Build ID: 5294:363871a
Core mode: JIT+ASM32
Билд
Protocol version 48
Exe version 1.1.2.7/Stdio (cstrike)
ReHLDS version: 3.13.0.788-dev
Build date: 07:36:33 Jul 12 2023 (3378)
Build from: https://github.com/dreamstalker/rehlds/commit/f955b07
ReGamedll
ReGameDLL version: 5.26.0.668-dev
Build date: 19:02:48 Dec 31 2023
Build from: https://github.com/s1lentq/ReGameDLL_CS/commit/d3c0ec8
Версия Metamod
Metamod-r v1.3.0.149, API (5:13)
Metamod-r build: 11:31:17 Apr 23 2024
Metamod-r from: https://github.com/theAsmodai/metamod-r/commit/603a257
Список метамодулей
[ 1] Admins Kit              2.1.1       the_hunter           running
[ 2] MySQL 1.9.0.5294 AMX Mod X Dev Team running
[ 3] FakeMeta 1.9.0.5294 AMX Mod X Dev Team running
[ 4] Fun 1.9.0.5294 AMX Mod X Dev Team running
[ 5] Engine 1.9.0.5294 AMX Mod X Dev Team running
[ 6] Ham Sandwich 1.9.0.5294 AMX Mod X Dev Team running
[ 7] CStrike 1.9.0.5294 AMX Mod X Dev Team running
[ 8] ReAPI 5.24.0.300 Asmodai & s1lent running
[ 9] nVault 1.0.0-manu AMX Mod X Dev Team running
[10] GeoIP 1.9.0.5294 AMX Mod X Dev Team running
[11] CSX 1.9.0.5294 AMX Mod X Dev Team running
[12] JSON 1.9.0.5294 AMX Mod X Dev Team running
Список плагинов
___
Автор плагина
___
Версия плагина
___
Исходный код
___
Очень редко случается CRUSH клиента у игрока с MSG окном: used decal #183 without a name ВО ВРЕМЯ ПОДКЛЮЧЕНИЯ К СЕРВЕРУ, решается перезапуском клиентом кс, но иногда и при повторном запуске кс и при попытке подключиться к серверу крашится клиент с такой же ошибкой, При этом на сервере всё ОК.
На форуме есть старая тема https://dev-cs.ru/threads/663/, но закрытая уже, автор той темы проде решил вопрос с данного рода ошибкой, но размыто описал решение (https://dev-cs.ru/threads/663/post-5849).
вместо номера декали
он учитывает номер энтити
соответственно когда получаешь энтити с индексом больше 255
он меняет вид мессаги
и отправляет 46 как HIGH
клиент принимает как 302 уже
На сервере стоит плагин с отправкой MESSAGE_BEGIN для показа декали:
Код:
new decal
decal = engfunc(EngFunc_DecalIndex,"{bproof1") //эта и есть декаль #183

//вызов функции
create_decal(iEnd, decal, ent)

//сам сток функции
stock create_decal(iOrigin[3], decal_index, entity = 0)
{
    if(decal_index && !entity) {
        message_begin(MSG_ALL, SVC_TEMPENTITY)
        write_byte(TE_WORLDDECAL)
        write_coord(iOrigin[0])
        write_coord(iOrigin[1])
        write_coord(iOrigin[2])
        write_byte(decal_index)
        message_end()
    }
    else if(decal_index && !is_user_alive(entity) && pev_valid(entity)) {
        message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
        write_byte(TE_DECAL)
        write_coord(iOrigin[0])
        write_coord(iOrigin[1])
        write_coord(iOrigin[2])
        write_byte(decal_index)
        write_short(entity)
        message_end()
    }
    return 1
}
Попытки искусственно вызвать краш клиента, множеством создание декалей даже в циклах и попытках подключения клиента не увенчались успехом.
Если кто то сталкивался с крашем из за сообщения с декалями, или знает как можно обезопасить функцию создания декали, просьба отписаться. А то тыкать пальцем в небо не хочется хотя и могу добавить дополнительных проверок на валидность Ent и тд. Может надо заменить
Код:
stock create_decal(iOrigin[3], decal_index, entity = 0)

на

stock create_decal(iOrigin[3], const decal_index, entity = 0)
Также есть вот такой патч для Half-Life https://gamer-lab.com/eng/patch_goldsrc/Half-Life_patch_v1.0.1.6_full и в ChangeLoge там написано что пофикшена ошибка Fixed 'Used Decal # without a name problem. Так эта ошибка Сервера ? Клиента ? , Есть какие то соображения ? А то я сетую на утечку памями в клиенте. Как то бывают случаи что кто то ставит логотип свой а я вижу другой логотип, или я ставлю своё ЛОГО (impulse 201) а на стене вижу чужой. А был ещё случай что поиграла я на другом сервере на дасте , где были другие текстуры, захожу на другие сервера с дастом а там везде тектуры стен изменились, даже на своём, перезапускаю клиент и всё ОК.

Спасибо
 
В этой теме было размещено решение! Перейти к решению.
Последнее редактирование:
Сообщения
685
Реакции
581
Предупреждения
8
Помог
9 раз(а)
"reslist decal" скиньте
 
Сообщения
78
Реакции
-1
Предупреждения
30
Помог
1 раз(а)
Vaqtincha,
Код:
] rcon reslist decal

   #  Index : FileName                   

   1. 0     : {siteb        6.11K      00000000 -                         
   2. 1     : {sitea        6.11K      00000000 -                         
   3. 2     : {hrpoint      22.04K     00000000 -                         
   4. 3     : {yblood6      1.12K      00000000 -                         
   5. 4     : {yblood5      2.12K      00000000 -                         
   6. 5     : {yblood4      2.12K      00000000 -                         
   7. 6     : {yblood3      2.12K      0000000 -                         
   8. 7     : {yblood2      2.12K      00000000 -                         
   9. 8     : {yblood1      3.78K      00000000 -                         
  10. 9     : {water3       8.76K      00000000 -                         
  11. 10    : {water2       8.76K      00000000 -                         
  12. 11    : {water1       8.76K      00000000 -                         
  13. 12    : {turn2d       2.79K      00000000 -                         
  14. 13    : {turn2c       279K      00000000 -                         
  15. 14    : {turn2b       2.79K      00000000 -                         
  16. 15    : {turn2a       2.79K      00000000 -                         
  17. 16    : {turn1d       2.79K      00000000 -                         

  18. 17    : {turn1c       2.79K      00000000 -                         
  19. 18    : {turn1b       2.79K      00000000 -                         
  20. 19    : {turn1a       2.79K      00000000 -                         
  21. 20    : {ire2        4.11K      00000000 -                         
  22. 21    : {tire1        4.11K      00000000 -                         
  23. 22    : {target2      6.11K      00000000 -                         
  24. 23    : {target       6.11K      00000000 -                         
  25. 24    : {stripev      6.11K      00000000 -                         
  26. 25    : {stripeh      6.11K      00000000 -                         
  27. 26    : {spit2        2.12K      00000000 -                         
  8. 27    : {spit1        2.12K      00000000 -                         
  29. 28    : {smscorch3    3.78K      00000000 -                         
  30. 29    : {smscorch2    2.12K      00000000 -                         
  31. 30    : {smscorch1    2.12K      00000000 -                         
  32. 31    : {small#s9     1.12K      00000000 -                         
  33. 32    : {small#s8     1.12K      00000000 -                         
  34. 33    : {small#s7     1.12K      00000000 -                       
  35. 34    : {small#s6     1.12K      00000000 -                         

  36. 35    : {small#s5     1.12K      00000000 -                         
  37. 36    : {small#s4     1.12K      00000000 -                         
  38. 37    : {small#s3     1.12K      00000000 -                         
  39. 38    : {small#s2     1.12K      00000000 -                         
  40. 39    : {small#s1     1.12K      00000000 -                         
  41. 40    : {small#s0     1.12K      00000000 -                       
  42. 41    : {shot5        1.12K      00000000 -                         
  43. 42    : {shot4        1.12K      00000000 -                         
  44. 43    : {shot3        1.12K      00000000 -                         
  45. 44    : {shot2        1.12K      00000000 -                         
  46. 45    : {shot1        1.12K      00000000 -                         
  47. 46    : {scorch3      12.75K     00000000 -                         
  48. 47    : {scorch2      12.75K    00000000 -                         
  49. 48    : {scorch1      12.75K     00000000 -                         
  50. 49    : {rust004      1.79K      00000000 -                         
  51. 50    : {rust003      2.12K      00000000 -                         
  52. 51    : {rust002      1.46K      00000000 -                         
  53. 52    : {rust001      4.78K      00000000 -                         

  54. 53    : {rotatescrape 3.45K      00000000 -                         
  55. 54    : {pstripe4    6.11K      00000000 -                         
  56. 55    : {pstripe3     6.11K      00000000 -                         
  57. 56    : {pstripe2     3.45K      00000000 -                         
  58. 57    : {pstripe1     3.45K      00000000 -                         
  59. 58    : {oil2         3.78K      00000000 -                         
  60. 59    : {oil1         3.78K      00000000 -                         
  61. 60    : {moustache    1.12K      00000000 -                         
  62. 61   : {moss004      1.79K      00000000 -                         
  63. 62    : {moss003      2.12K      00000000 -                         
  64. 63    : {moss002      1.46K      00000000 -                         
  65. 64    : {moss001      4.78K      00000000 -                         
  66. 65    : {mommablob    22.04K     00000000 -                         
  67. 66    : {med#s9       2.12K      00000000 -                         
  68. 67    : {med#s8       2.12K      00000000 -                       
  69. 68    : {med#s7       2.12K      00000000 -                         
  70. 69    : {med#s6       2.12K      00000000 -                         
  71. 70    : {med#s5       2.12K      00000000 -                         

  72. 71    : {med#s4       2.12K      00000000 -                         
  73. 72    : {med#s3       2.12K      00000000 -                         
  74. 73    : {med#s2       2.12K      00000000 -                         
  75. 74    : {med#s1       2.12K      00000000 -                       
  76. 75    : {med#s0       2.12K      00000000 -                         
  77. 76    : {marker       6.11K      00000000 -                         
  78. 77    : {littleman    1.12K      00000000 -                         
  79. 78    : {lime004      1.79K      00000000 -                         
  80. 79    : {lime003      2.12K      00000000 -                         
  81. 80    : {lime002      1.46K      00000000 -                         
  82. 81    : {lime001      4.78K      0000000 -                         
  83. 82    : {large#s9     6.77K      00000000 -                         
  84. 83    : {large#s8     6.77K      00000000 -                         
  85. 84    : {large#s7     6.77K      00000000 -                         
  86. 85    : {large#s6     6.77K      00000000 -                         
  87. 86    : {large#s5     6.77K      00000000 -                         
  88. 87    : {large#s4     6.77K      00000000 -                         
  89. 88    : {large#s3     6.77      00000000 -                         

  90. 89    : {large#s2     6.77K      00000000 -                         
  91. 90    : {large#s1     6.77K      00000000 -                         
  92. 91    : {large#s0     6.77K      00000000 -                         
  93. 92    : {large#s-     1.12K      00000000 -                         
  94. 93    : {lambda06     2.12K      00000000 -                         
  95. 94    : {lambda05     2.12K      00000000 -                         
  96. 95    : {lamda04     2.12K      00000000 -                         
  97. 96    : {lambda03     2.12K      00000000 -                         
  98. 97    : {lambda02     2.12K      00000000 -                         
  99. 98    : {lambda01     2.12K      00000000 -                         
 100. 99    : {hand1        1.46K      00000000 -                         
 101. 100   : {graf005      4.78K      00000000 -                         
 102. 101   : {graf004      4.78K      00000000 -                         
 103.102   : {graf003      11.42K     00000000 -                         
 104. 103   : {graf002      6.77K      00000000 -                         
 105. 104   : {graf001      4.78K      00000000 -                         
 106. 105   : {gaussshot1   1.12K      00000000 -                         
 107. 106   : {gargstomp    6.11K      00000000 -                         

 108. 107   : {foot_r       1.46K      00000000 -                         
 109. 108   : {foot_l       1.46K      00000000 -                       
 110. 109   : {fault06      6.11K      00000000 -                         
 111. 110   : {fault05      6.11K      00000000 -                         
 112. 111   : {fault04      6.11K      00000000 -                         
 113. 112   : {fault03      6.11K      00000000 -                         
 114. 113   : {fault02      6.11K      00000000 -                         
 115. 114   : {fault01      6.11K      00000000 -                         
 116. 115   : {explos       1.79K      00000000 -                       
 117. 116   : {drips1       2.79K      00000000 -                         
 118. 117   : {drip4        1.46K      00000000 -                         
 119. 118   : {drip3        1.46K      00000000 -                         
 120. 119   : {drip2        1.79K      00000000 -                         
 121. 120   : {ding9        6.11K      00000000 -                         
 122. 121   : {ding8        6.11K      00000000 -                         
 123. 122   : {ding7        6.11K      0000000 -                         
 124. 123   : {ding6        6.11K      00000000 -                         
 125. 124   : {ding5        6.11K      00000000 -                         

 126. 125   : {ding4        6.11K      00000000 -                         
 127. 126   : {ding3        6.11K      00000000 -                         
 128. 127   : {ding2        11.42K     00000000 -                         
 129. 128   : {ding11       6.77K      00000000 -                         
 130. 129   : {ding10      16.73K     00000000 -                         
 131. 130   : {ding1        11.42K     00000000 -                         
 132. 131   : {dent6        2.12K      00000000 -                         
 133. 132   : {dent5        2.12K      00000000 -                         
 134. 133   : {dent4        2.12K      00000000 -                         
 135. 134   : {dent3        2.12K      00000000 -                         
 136. 135   : {dent2        2.12K      00000000 -                         
 137. 136   :{dent1        2.12K      00000000 -                         
 138. 137   : {crouch       3.45K      00000000 -                         
 139. 138   : {crack4       6.11K      00000000 -                         
 140. 139   : {crack3       6.11K      00000000 -                         
 141. 140   : {crack2       8.76K      00000000 -                         
 142. 141   : {crack1       2.79K      00000000 -                         
 143. 142   : {capsz        1.12K      00000000 -                         
 144. 143   : {capsy        1.12K      00000000 -                         
 145. 144   : {capsx        1.12K      00000000 -                         
 146. 145   : {capsw        1.12K      00000000 -                         
 147. 146   : {capsv        1.12K      00000000 -                         
 148. 147   : {capsu        1.12K      00000000 -                         
 149. 148   : {capst        1.12K      00000000 -                         
 150. 149   : {capss        1.12K      00000000 -                       
 151. 150   : {capsr        1.12K      00000000 -                         
 152. 151   : {capsq        1.12K      00000000 -                         
 153. 152   : {capsp        1.12K      00000000 -                         
 154. 153   : {capso        1.12K      00000000 -                         
 155. 154   : {capsn        1.12K      00000000 -                         
 156. 155   : {capsm        1.12K      00000000 -                         
 157. 156   : {capsl        1.12K      00000000                         
 158. 157   : {capsk        1.12K      00000000 -                         
 159. 158   : {capsj        1.12K      00000000 -                         
 160. 159   : {capsi        1.12K      00000000 -                         
 161. 160   : {capsh        1.12K      00000000 -                         

 180. 179   : {break3       3.78K      00000000 -                         
 181. 180   : {break2       3.78K      00000000 -                         
 182. 181   : {break1       3.78K     00000000 -                         
 183. 182   : {break        3.45K      00000000 -                         
 184. 183   : {bproof1      1.12K      00000000 -                         
 185. 184   : {bloodhand6   2.12K      00000000 -                         
 186. 185   : {bloodhand5   2.12K      00000000 -                         
 187. 186   : {bloodhand4   1.12K      00000000 -                         
 188. 187   : {bloodhand3   6.11K      00000000 -                         
 189. 188   : {bloodhnd2   6.11K      00000000 -                         
 190. 189   : {bloodhand1   1.46K      00000000 -                         
 191. 190   : {blood8       1.12K      00000000 -                         
 192. 191   : {blood7       2.12K      00000000 -                         
 193. 192   : {blood6       3.78K      00000000 -                         
 194. 193   : {blood5       6.11K      00000000 -                         
 195. 194   : {blood4       3.78K      00000000 -                         
 196. 19   : {blood3       3.78K      00000000 -                         
 197. 196   : {blood2       3.78K      00000000 -                         

 198. 197   : {blood1       3.78K      00000000 -                         
 199. 198   : {biohaz       6.11K      00000000 -                         
 200. 199   : {bigshot5     1.12K      00000000 -                         
 201. 200   : {bigshot4     1.12K      00000000 -                         
 202. 201   : {bigshot3     1.12K      00000000 -                       
 203. 202   : {bigshot2     1.12K      00000000 -                         
 204. 203   : {bigshot1     1.12K      00000000 -                         
 205. 204   : {bigblood2    9.09K      00000000 -                         
 206. 205   : {bigblood1    12.75K     00000000 -                         
 207. 206   : {arrow_r      1.46K      00000000 -                         
 208. 207   : {arrow_l      1.46K      00000000 -                         
 209. 208   : {arrow2d      2.79K      00000000 -                       
 210. 209   : {arrow2c      2.79K      00000000 -                         
 211. 210   : {arrow2b      2.79K      00000000 -                         
 212. 211   : {arrow2a      2.79K      00000000 -                         
 213. 212   : {ammo         1.46K      00000000 -                         
 214. 213   : {64#9         3.45K      00000000 -                         
 215. 214   : {64#8         3.45K      00000000 -                         

 216. 215   : {64#7         3.45K      0000000 -                         
 217. 216   : {64#6         3.45K      00000000 -                         
 218. 217   : {64#5         3.45K      00000000 -                         
 219. 218   : {64#4         3.45K      00000000 -                         
 220. 219   : {64#3         3.45K      00000000 -                         
 221. 220   : {64#2         3.45K      00000000 -                         
 222. 221   : {64#1         3.45K      00000000 -                         
 223. 222   : {64#0         345K      00000000 -                         
 224. 223   : {247          6.11K      00000000 -                         
 225. 224   : reflect1      22.04K     00000000 -                         
--------------
225 Total decal's



Сразу наводящий вопрос: может во время "мяса" на сервере (когда много происходит событий и создания декалей) кеш индексов переполняется и поэтому происходит баг ? Сколько там лимит ? не 255 случаем ? Спасибо.

На заметку. На сервере 2 плагина используют #183ю декаль

Эта функция есть в 2х плагинах на сервере: decal = engfunc(EngFunc_DecalIndex,"{bproof1")
 
Сообщения
1,064
Реакции
224
Предупреждения
9
Помог
6 раз(а)

Garey

ninjaCow
Сообщения
443
Реакции
1,097
Помог
11 раз(а)
Ulianochka, MSG_ALL и MSG_BROADCAST могут попасть клиенту в момент подключения к серверу а список ресурсов для прекеша может быть еще не сформирован из за чего и крашит. В "enginemsg" (движковые сообщения) нету проверки на то что игрок полностью подключился, такие есть только для usermsg.
 
Сообщения
78
Реакции
-1
Предупреждения
30
Помог
1 раз(а)
Garey,
Ulianochka, MSG_ALL и MSG_BROADCAST могут попасть клиенту в момент подключения к серверу а список ресурсов для прекеша может быть еще не сформирован из за чего и крашит. В "enginemsg" (движковые сообщения) нету проверки на то что игрок полностью подключился, такие есть только для usermsg.
А есть на что заменить MSG_ALL и MSG_BROADCAST чтобы аналогичный был результат но безопасный ? Может MSG_ONE в цикле по игрокам перебирать с is_user_connected() ?
Спасибо
 

Garey

ninjaCow
Сообщения
443
Реакции
1,097
Помог
11 раз(а)
Сообщения
78
Реакции
-1
Предупреждения
30
Помог
1 раз(а)
Код:
//Destination types for message_begin()
#define MSG_BROADCAST        0    //Сообщение всем игрокам без гарантии доставки
#define MSG_ONE              1    //Сообщение одному игроку с гарантией доставки
#define MSG_ALL              2    //Сообщение с гарантией доставки всем игрокам
#define MSG_INIT             3    //Write to the init string
#define MSG_PVS              4    //Всем игрокам в зоне видимости точки
#define MSG_PAS              5    //Всем игрокам в зоне слышимости
#define MSG_PVS_R            6    //Всем игрокам в зоне видимости точки с гарант. доставки
#define MSG_PAS_R            7    //Всем игрокам в зоне слышимости с гарант. доставки
#define MSG_ONE_UNRELIABLE   8    //Сообщение одному игроку, без гарантии доставки
#define MSG_SPEC             9    //Сообщение всем HLTV proxy

Ниже примеры констант для типов сообщений являются безопасными методами , или MSG_ONE с циклом на валидность игроков безопаснее ? Спасибо
Код:
MSG_PVS    
MSG_PAS    
MSG_PVS_R 
MSG_PAS_R
 
Сообщения
685
Реакции
581
Предупреждения
8
Помог
9 раз(а)
Ulianochka, ответ на вашем вопросе (см. свой спойлер инклуда)
 

Garey

ninjaCow
Сообщения
443
Реакции
1,097
Помог
11 раз(а)
Ulianochka, да в PVS/PAS есть проверка что dest-игрок уже активен, что логично ведь на этапе подключения игрок даже на карте не находится.
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу