inter_server_packet.txt 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296
  1. S map鯖=>inter鯖
  2. R inter鯖=>map鯖
  3. パケット長リスト
  4. R 3800-389f
  5. -1,-1,27, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 3800-
  6. -1, 7, 0, 0, 0, 0, 0, 0, -1,11, 0, 0, 0, 0, 0, 0, // 3810-
  7. 35,-1,35,15, 34,29, 7,-1, 0, 0, 0, 0, 0, 0, 0, 0, // 3820-
  8. 10,-1,15, 0, 79,19, 7,-1, 0,-1,-1,-1, 14,67,186,-1, // 3830-
  9. 9, 9,-1, 0, 0, 0, 0, 0, 7,-1,-1,-1, 11,-1, 0, 0, // 3840-
  10. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 3850-
  11. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 3860-
  12. 0, 0, 0, 0, 0, 0, 0, 0, -1, 7, 0, 0, 0, 0, 0, 0, // 3870-
  13. 11,-1, 7, 3, 0, 0, 0, 0, -1, 7, 3, 0, 0, 0, 0, 0, // 3880-
  14. 31,51,51,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 3890-
  15. S 3000-309f
  16. -1,-1, 7, 0, -1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 3000-
  17. 6,-1, 0, 0, 0, 0, 0, 0, 10,-1, 0, 0, 0, 0, 0, 0, // 3010-
  18. 72, 6,52,14, 34,53, 6,-1, 34, 0, 0, 0, 0, 0, 0, 0, // 3020-
  19. -1, 6,-1, 0, 55,19, 6,-1, 14,-1,-1,-1, 18,19,186,-1, // 3030-
  20. 5, 9, 0, 0, 0, 0, 0, 0, 6,-1,10,10, 10, 0, 0, 0, // 3040-
  21. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 3050-
  22. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 3060-
  23. 6, 0, 0, 0, 0, 0, 0, 0, 10,-1, 0, 0, 0, 0, 0, 0, // 3070-
  24. 48,14,-1, 6, 0, 0, 0, 0, -1,12,-1,12, 0, 0, 0, 0, // 3080-
  25. 31,51,51,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 3090-
  26. S 3000 <len>.w <message>.?B
  27. GMメッセージ送信要求
  28. R 3800 <len>.w <message>.?B
  29. GMメッセージ
  30. S 3001 <len>.w <src-nick>.24B <dst-nick>.24B <message>.?B
  31. Wis送信要求
  32. R 3801 <len>.w <wis-id>.l <src-nick>.24B <dst-nick>.24B <message>.?B
  33. Wisデータ受信
  34. wis-id=inter鯖内部のWis-id:map鯖では3002で送信するためだけに使う
  35. S 3002 <wis-id>.l <flag>.B
  36. このmap鯖でのWisの送信結果
  37. flag=0 送信完了(このmap鯖にいたので、送信した)
  38. flag=1 送信失敗(このmap鯖にはそんな人いません)
  39. flag=2 送信終了(このmap鯖にいるが、ignoreされている)
  40. R 3802 <src-nick>.24B <flag>.B
  41. 全map鯖でのWis送信結果
  42. flag=0 送信完了
  43. flag=1 送信失敗(どのmap鯖にもそんな人いません)
  44. flag=2 送信失敗(ignoreされた)
  45. S 3004 <len>.w <account_id>.l { <name>.32B <value>.l }.36B*
  46. アカウント変数データ送信
  47. R 3804 <len>.w <account_id>.l { <name>.32B <value>.l }.36B*
  48. アカウント変数データ通知
  49. S 3005 <account_id>.l
  50. アカウント変数データ要求
  51. S 3010 <account_id>.l
  52. 倉庫データ要求
  53. R 3810 <len>.w <account_id>.l <storage>.?B
  54. 倉庫データ受信
  55. S 3011 <len>.w <account_id>.l <storage>.?B
  56. 倉庫データ送信&保存要求
  57. R 3811 <account_id>.l <flag>.b
  58. 倉庫データ保存終了
  59. flag=0 成功(現在の仕様では必ず0なので、返信を待たなくてもいい)
  60. S 3018 <account_id>.l <guild_id>.l
  61. ギルド倉庫データ要求
  62. R 3818 <len>.w <account_id>.l <guild_id>.l <storage>.?B
  63. ギルド倉庫データ受信
  64. guild_id=0ならギルドが存在しないのでデータ受信失敗
  65. S 3019 <len>.w <account_id>.l<guild_id>.l <storage>.?B
  66. ギルド倉庫データ送信&保存要求
  67. R 3819 <account_id>.l<guild_id>.l <flag>.b
  68. ギルド倉庫データ保存終了
  69. flag=0 成功、flag=1 失敗(失敗の場合ギルドが存在しないことなので、返信を待たなくてもいい)
  70. S 3020 <account_id>.l <party_name>.24B <nick_name>.24B <map_name>.16B <level>.w
  71. パーティ作成要求
  72. R 3820 <account_id>.l <fail>.B <party_id>.l <party_name>.24B
  73. パーティ成功可否(自分のマップ鯖のみ)
  74. fail=00 パーティ作成成功
  75. fail=01 失敗(party_id,pary_nameはゴミ)
  76. S 3021 <party_id>.l
  77. パーティ情報要求
  78. R 3821 <len>.w <struct party>.?B
  79. (struct partyの最初4バイトはparty_id)
  80. len=8 パーティは存在しない(受信したら該当キャラを未所属に変更する)
  81. len>8 パーティ情報(受信したらクライアントに送ること)
  82. (要求してきたマップ鯖へ)
  83. S 3022 <party_id>.l <account_id>.l <nick>.24B <map_name>.16B <level>.w
  84. パーティ追加要求
  85. R 3822 <party_id>.l <account_id>.l <fail>.B <nick>.24B
  86. パーティ追加通知(要求してきたマップ鯖へ)
  87. fail=00で成功、fail=01で失敗
  88. (成功時はこの直後に全鯖にパーティ情報が送られる)
  89. S 3023 <party_id>.l <account_id>.l <exp>.w <item>.w
  90. パーティ設定変更要求
  91. R 3823 <party_id>.l <account_id>.l <exp>.w <item>.w <fail>.B
  92. パーティ設定変更通知(成功の場合全マップ鯖へ通知)
  93. fail=0x00 パーティ設定変更完了
  94. fail=0x01 expの変更失敗
  95. fail=0x10 itemの変更失敗
  96. S 3024 <party_id>.l <account_id>.l <nick>.24B
  97. パーティ脱退要求
  98. R 3824 <party_id>.l <account_id>.l <nick>.24B
  99. パーティ脱退通知(全マップ鯖へ)
  100. S 3025 <party_id>.l <account_id>.l <map_name>.16B <online>.B <level>.w <nick>.24B
  101. パーティマップ更新/オンライン要求
  102. R 3825 <party_id>.l <account_id>.l <map_name>.16B <online>.B <level>.w <nick>.24B
  103. パーティマップ更新通知(全マップ鯖へ)
  104. S 3026 <party_id>.l
  105. パーティ解散要求(送られることはないと思われる)
  106. R 3026 <party_id>.l <fail>.B
  107. パーティ解散
  108. fail=00 パーティは解散された(今のところ必ず00)
  109. (map鯖内の不要データ削除のためだけに使われる)
  110. S 3027 <len>.w <party_id>.l <account_id>.l <message>.?B
  111. パーティ内発言要求
  112. R 3827 <len>.w <party_id>.l <account_id>.l <message>.?B
  113. パーティ内発言通知(全マップ鯖へ)
  114. S 3028 <party_id>.l <account_id>.l <nick>.24B
  115. 別パーティに所属していないかチェック<party_id>は本来の所属
  116. S 3030 <len>.w <account_id>.l <guild_name>.24B <struct guild_member>.?B
  117. ギルド作成要求
  118. R 3830 <account_id>.l <guild_id>.l
  119. ギルド作成可否(guild_id=0で失敗)
  120. S 3031 <guild_id>.l
  121. ギルド情報要求
  122. R 3831 <len>.w <struct guild>.?B
  123. ギルド情報
  124. len=8 ギルドは存在しない
  125. len>8 ギルド情報
  126. S 3032 <len>.w <guild_id>.l <struct guild_member>.?B
  127. ギルドメンバ追加要求
  128. R 3832 <guild_id>.l <account_id>.l <charactor_id>.l <fail>.B
  129. ギルド追加メンバ通知
  130. fail=0で成功,1で失敗
  131. S 3034 <guild_id>.l <account_id>.l <charactor_id>.l <flag>.B <mes>.40B
  132. ギルド脱退/追放要求
  133. flag=0 脱退 / 1 追放
  134. R 3834 <guild_id>.l <account_id>.l <charactor_id>.l <flag>.B <mes>.40B <nick>.24B
  135. ギルド脱退/追放通知
  136. S 3035 <guild_id>.l <account_id>.l <charactor_id>.l <online>.B <lv>.w <class>.w
  137. ギルドメンバ情報更新要求
  138. R 3835 <guild_id>.l <account_id>.l <charactor_id>.l <online>.B <lv>.w <class>.w
  139. ギルドメンバ情報更新通知
  140. S 3036 <guild_id>.l
  141. ギルド解散要求
  142. R 3836 <guild_id>.l <fail>.B
  143. ギルド解散通知
  144. flag=00 解散成功 / 01 失敗
  145. S 3037 <len>.w <guild_id>.l <account_id>.l <message>.?B
  146. ギルド発言要求
  147. R 3837 <len>.w <guild_id>.l <account_id>.l <message>.?B
  148. ギルド発言通知
  149. S 3038 <guild_id>.l <account_id>.l <charactor_id>.l
  150. 別ギルドに所属していないかチェック
  151. S 3039 <len>.w <guild_id>.l <type>.w <data>.?B
  152. 各種基本情報更新要求
  153. R 3839 <len>.w <guild_id>.l <type>.w <data>.?B
  154. 各種基本情報更新通知
  155. S 303A <len>.w <guild_id>.l <account_id>.l <char_id>.l <type>.w <data>.?B
  156. 各種ギルドメンバ情報更新要求
  157. R 383A <len>.w <guild_id>.l <account_id>.l <char_id>.l <type>.w <data>.?B
  158. 各種ギルドメンバ情報更新通知
  159. S 303B <len>.w <guild_id>.l <position>.l <struct guild_position>.?B
  160. ギルド役職変更要求
  161. R 383B <len>.w <guild_id>.l <position>.l <struct guild_position>.?B
  162. ギルド役職変更通知
  163. S 303C <guild_id>.l <skill_num>.l <account_id>.l
  164. ギルドスキル割り振り
  165. R 383C <guild_id>.l <skill_num>.l <account_id>.l <flag>.l
  166. ギルドスキル割り振り(skill_num==0で失敗)
  167. S 303D <guild_id1>.l <guild_id2>.l <account_id1>.l <account_id2>.l <flag>.B
  168. ギルド同盟/敵対要求
  169. flag=0 同盟 / 1 敵対 / 8 同盟解除 / 9 敵対解除
  170. R 383D <guild_id1>.l <guild_id2>.l <account_id1>.l <account_id2>.l <flag>.B <name1>.24B <name2>.24B
  171. ギルド同盟/敵対通知
  172. flag=0 同盟 / 1 敵対
  173. flag=0x10 同盟失敗 / 0x11 敵対失敗
  174. S 303E <guild_id>.l <message1>.60B <message2>.120B
  175. ギルド告知設定要求
  176. R 383E <guild_id>.l <message1>.60B <message2>.120B
  177. ギルド告知設定通知
  178. S 303F <len>.w <guild_id>.l <dummy>.l <emblem_data>.?B
  179. ギルドエンブレム変更要求 dummyは0固定
  180. R 383F <len>.w <guild_id>.l <dummy>.l <emblem_data>.?B
  181. ギルドエンブレム変更通知
  182. S 3040 <castle_id>.w <index>.B
  183. ギルド城データ要求
  184. R 3840 <castle_id>.w <index>.B <value>.l
  185. ギルド城データ要求返信
  186. S 3041 <castle_id>.w <index>.B <value>.l
  187. ギルド城データ変更要求
  188. R 3841 <castle_id>.w <index>.B <value>.l
  189. ギルド城データ変更通知
  190. R 3842 <len>.w { <guild_castle>.?B }.?B
  191. ギルド城データ一括送信
  192. S 3048 <char_id>.l
  193. メールBOX更新要求
  194. R 3848 <account>.l <flag>.B
  195. メールが送れたかどうかの応答
  196. S 3049 <len>.w <struct mail_data>.?B
  197. メール送信
  198. R 3849 <len>.w <store>.l <char_name>.24B { <struct mail_data>.?B }.?B*
  199. メール一覧送信
  200. S 304a <char_id>.l <mail_num>.l
  201. メールの削除要求
  202. R 384a <len>.w <struct mail_data>.?B
  203. 新着メール通知
  204. S 304b <char_id>.l <mail_num>.l
  205. メールの選択受信
  206. R 384b <len>.w <struct mail_data>.?B
  207. 指定されたメールの送信
  208. S 304c <char_id>.l <mail_num>.l
  209. メールに添付されたもの受信
  210. R 384c <account>.l <mail_num>.l <flag>.B
  211. メールの削除通知
  212. R 384d <len>.w <account>.l <zeny>.l <struct item>.?B
  213. 指定されたメールに添付されていた物の情報送信
  214. S 3070 <limit>.l
  215. キャラ鯖の制限人数の変更送信
  216. S 3078 <account_id>.l <char_id>.l
  217. ステータス異常データ要求
  218. R 3878 <len>.w <account_id>.l { <type>.w <val1>.l <val2>.l <val3>.l <val4>.l <tick>.l }.22B*
  219. ステータス異常データ受信
  220. S 3079 <len>.w <account_id>.l <char_id>.l { <type>.w <val1>.l <val2>.l <val3>.l <val4>.l <tick>.l }.22B*
  221. ステータス異常データ保存要求
  222. R 3879 <account_id>.l <flag>.B
  223. ステータス異常データ保存終了
  224. flag=0 成功(現在の仕様では必ず0なので、返信を待たなくてもいい)
  225. S 3080 <account_id>.l <char_id>.I <pet_type>.w <pet_lv>.w <pet_egg_id>.w
  226. <pet_equip>.w <pet_intimate>.w <pet_hungry>.w <rename_flag>.B <incubate>.B
  227. <pet_name>.24B
  228. ペット生成要求
  229. R 3880 <account_id>.l <fail>.B <pet_id>.l
  230. ペット生成成功可否
  231. fail=00 ペット生成成功
  232. fail=01 失敗(pet_idはゴミ)
  233. S 3081 <account_id>.l <char_id>.l <pet_id>.l
  234. ペットデータ要求
  235. R 3881 <len>.w <account_id>.l <fail>.B <struct s_pet>.?B
  236. ペットデータ受信
  237. fail=00 ペットデータ転送
  238. fail=01 ペットのデータがないかもしくはaccount_idかchar_idが合わないので
  239. 失敗(s_petはゴミ)
  240. S 3082 <len>.w <account_id>.l <struct s_pet>.?B
  241. ペットデータ送信&保存要求
  242. R 3882 <account_id>.l <flag>.b
  243. ペットデータ保存終了
  244. flag=0 成功(現在の仕様ではメモリ不足以外には必ず0なので、返信を
  245. 待たなくてもいい)
  246. flag=1 失敗
  247. S 3083 <pet_id>.l
  248. ペットデータ削除要求
  249. R 3883 <flag>.b
  250. ペットデータ削除終了
  251. flag=0 成功(現在の仕様では既にデータがいない場合以外は必ず0なので、
  252. 返信を待たなくてもいい)
  253. flag=1 失敗(pet_idに当たるデータがない場合の物ですが既にデータが
  254. いないと言うことは削除する必要がないことにもなりますので
  255. 意味はありません)
  256. S 3088 <len>.w <account_id>.l <char_id>.l <struct mmo_homunstatus>.?B
  257. ホム生成要求
  258. R 3888 <len>.w <account_id>.l <incubate>.B <struct mmo_homunstatus>.?B
  259. ホムデータ受信
  260. S 3089 <account_id>.l <char_id>.l <homun_id>.w
  261. ホムデータ要求
  262. R 3889 <account_id>.l <flag>.B
  263. ホムデータ保存終了
  264. S 308a <len>.w <account_id>.l <struct mmo_homunstatus>.?B
  265. ホムデータ保存要求
  266. R 388a <flag>.B
  267. ホムデータ削除終了
  268. S 308b <account_id>.l <char_id>.l <homun_id>.w
  269. ホムデータ削除要求
  270. S 3090 <account_id>.l <target_name>.24B <flag>.B
  271. target_nameの位置要求
  272. flag=0 @where
  273. flag=1 @jumpto
  274. R 3890 <account_id>.l <target_name>.24B <flag>.B
  275. target_nameの位置要求
  276. S 3091 <account_id>.l <target_name>.24B <flag>.B <map_name>.16B <x>.w <y>.w
  277. target_nameの位置応答
  278. R 3891 <account_id>.l <target_name>.24B <flag>.B <map_name>.16B <x>.w <y>.w
  279. target_nameの位置応答
  280. S 3092 <account_id>.l <target_name>.24B <map_name>.16B <flag>.B <x>.w <y>.w
  281. target_nameを指定位置に移動要求
  282. flag=0 あなたに逢いたい
  283. flag=1 @recall
  284. R 3892 <account_id>.l <target_name>.24B <map_name>.16B <flag>.B <x>.w <y>.w
  285. target_nameを指定位置に移動通知
  286. S 3093 <len>.w <account_id>.l <message>.?B
  287. account_idにmessageを送信
  288. R 3893 <len>.w <account_id>.l <message>.?B
  289. account_idにmessageを送信