summaryrefslogtreecommitdiff
path: root/doc/inter_server_packet.txt
blob: 4e6dabf8390736a940bbb96eedd0b94ce125d862 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
S map鯖=>inter鯖
R inter鯖=>map鯖

パケット長リスト
R 3800-388f
	-1,-1,27, 0,  0, 0, 0, 0,  0, 0, 0, 0,  0, 0,  0, 0,
	-1, 7, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0,  0, 0,  0, 0,
	35,-1,11,15, 34,29, 7,-1,  0, 0, 0, 0,  0, 0,  0, 0,
	10,-1,15, 0, 79,17, 7,-1,  0,-1,-1,-1, 14,67,186,-1,
	 0, 0, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0,  0, 0,  0, 0,
	 0, 0, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0,  0, 0,  0, 0,
	 0, 0, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0,  0, 0,  0, 0,
	 0, 0, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0,  0, 0,  0, 0,
	11,-1, 7, 3,  0, 0, 0, 0,  0, 0, 0, 0,  0, 0,  0, 0,
S 3000-308f
	-1,-1, 7, 0,  0, 0, 0, 0,  0, 0, 0, 0,  0, 0,  0, 0,
	 6,-1, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0,  0, 0,  0, 0,
	72, 6,52,14, 10,29, 6,-1, 34, 0, 0, 0,  0, 0,  0, 0,
	-1, 6,-1, 0, 55,17, 6,-1, 14,-1,-1,-1, 14,19,186,-1,
	 0, 0, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0,  0, 0,  0, 0,
	 0, 0, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0,  0, 0,  0, 0,
	 0, 0, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0,  0, 0,  0, 0,
	 0, 0, 0, 0,  0, 0, 0, 0,  0, 0, 0, 0,  0, 0,  0, 0,
	48,14,-1, 6,  0, 0, 0, 0,  0, 0, 0, 0,  0, 0,  0, 0,



S 3000 <len>.w <message>.?B
	GMメッセージ送信要求
R 3800 <len>.w <message>.?B
	GMメッセージ
S 3001 <len>.w <src-nick>.24B <dst-nick>.24B <message>.?B
	Wis送信要求
R 3801 <len>.w <wis-id>.l <src-nick>.24B <dst-nick>.24B <message>.?B
	Wisデータ受信
	wis-id=inter鯖内部のWis-id:map鯖では3002で送信するためだけに使う
S 3002 <wis-id>.l <flag>.B
	このmap鯖でのWisの送信結果
	flag=0 送信完了(このmap鯖にいたので、送信した)
	flag=1 送信失敗(このmap鯖にはそんな人いません)
	flag=2 送信終了(このmap鯖にいるが、ignoreされている)
R 3802 <src-nick>.24B <flag>.B
	全map鯖でのWis送信結果
	flag=0 送信完了
	flag=1 送信失敗(どのmap鯖にもそんな人いません)
	flag=2 送信失敗(ignoreされた)
S 3010 <account_id>.l
	倉庫データ要求
R 3810 <len>.w <account_id>.l <storage>.?B
	倉庫データ受信
S 3011 <len>.w <account_id>.l <storage>.?B
	倉庫データ送信&保存要求
R 3811 <account_id>.l <flag>.b
	倉庫データ保存終了
	flag=0 成功(現在の仕様では必ず0なので、返信を待たなくてもいい)

S 3020 <account_id>.l <party_name>.24B <nick_name>.24B <map_name>.16B <level>.w
	パーティ作成要求
R 3820 <account_id>.l <fail>.B <party_id>.l <party_name>.24B 
	パーティ成功可否(自分のマップ鯖のみ)
	fail=00 パーティ作成成功
	fail=01 失敗(party_id,pary_nameはゴミ)
S 3021 <party_id>.l
	パーティ情報要求
R 3821 <len>.w <struct party>.?B
	(struct partyの最初4バイトはparty_id)
	len=8 パーティは存在しない(受信したら該当キャラを未所属に変更する)
	len>8 パーティ情報(受信したらクライアントに送ること)
	(要求してきたマップ鯖へ)
S 3022 <party_id>.l <account_id>.l <nick>.24B <map_name>.16B <level>.w
	パーティ追加要求
R 3822 <party_id>.l <account_id>.l <fail>.B
	パーティ追加通知(要求してきたマップ鯖へ)
	fail=00で成功、fail=01で失敗
	(成功時はこの直後に全鯖にパーティ情報が送られる)
S 3023 <party_id>.l <account_id>.l <exp>.w <item>.w
	パーティ設定変更要求
R 3823 <party_id>.l <account_id>.l <exp>.w <item>.w <fail>.B
	パーティ設定変更通知(成功の場合全マップ鯖へ通知)
	fail=0x00 パーティ設定変更完了
	fail=0x01 expの変更失敗
	fail=0x10 itemの変更失敗
S 3024 <party_id>.l <account_id>.l
	パーティ脱退要求
R 3824 <party_id>.l <account_id>.l <nick>.24B
	パーティ脱退通知(全マップ鯖へ)
S 3025 <party_id>.l <account_id>.l <map_name>.16B <online>.B <level>.w
	パーティマップ更新/オンライン要求
R 3825 <party_id>.l <account_id>.l <map_name>.16B <online>.B <level>.w
	パーティマップ更新通知(全マップ鯖へ)
S 3026 <party_id>.l
	パーティ解散要求(送られることはないと思われる)
R 3026 <party_id>.l <fail>.B
	パーティ解散
	fail=00 パーティは解散された(今のところ必ず00)
	(map鯖内の不要データ削除のためだけに使われる)
S 3027 <len>.w <party_id>.l <account_id>.l <message>.?B
	パーティ内発言要求
R 3827 <len>.w <party_id>.l <account_id>.l <message>.?B
	パーティ内発言通知(全マップ鯖へ)
S 3028 <party_id>.l <account_id>.l <nick>.24B
	別パーティに所属していないかチェック<party_id>は本来の所属


S 3030 <len>.w <account_id>.l <guild_name>.24B <struct guild_member>.?B
	ギルド作成要求
R 3830 <account_id>.l <guild_id>.l
	ギルド作成可否(guild_id=0で失敗)
S 3031 <guild_id>.l
	ギルド情報要求
R 3831 <len>.w <struct guild>.?B
	ギルド情報
	len=8 ギルドは存在しない
	len>8 ギルド情報
S 3032 <len>.w <guild_id>.l <struct guild_member>.?B
	ギルドメンバ追加要求
R 3832 <guild_id>.l <account_id>.l <charactor_id>.l <fail>.B
	ギルド追加メンバ通知
	fail=0で成功,1で失敗
S 3034 <guild_id>.l <account_id>.l <charactor_id>.l <flag>.B <mes>.40B
	ギルド脱退/追放要求
	flag=0 脱退 / 1 追放
R 3834 <guild_id>.l <account_id>.l <charactor_id>.l <flag>.B <mes>.40B <nick>.24B
	ギルド脱退/追放通知
S 3035 <guild_id>.l <account_id>.l <charactor_id>.l <online>.B <lv>.w <class>.w
	ギルドメンバ情報更新要求
R 3835 <guild_id>.l <account_id>.l <charactor_id>.l <online>.B <lv>.w <class>.w
	ギルドメンバ情報更新通知
S 3036 <guild_id>.l
	ギルド解散要求
R 3836 <guild_id>.l <fail>.B
	ギルド解散通知
	flag=00 解散成功 / 01 失敗
S 3037 <len>.w <guild_id>.l <account_id>.l <message>.?B
	ギルド発言要求
R 3837 <len>.w <guild_id>.l <account_id>.l <message>.?B
	ギルド発言通知
S 3038 <guild_id>.l <account_id>.l <charactor_id>.l
	別ギルドに所属していないかチェック
S 3039 <len>.w <guild_id>.l <type>.w <data>.?B
	各種基本情報更新要求
R 3839 <len>.w <guild_id>.l <type>.w <data>.?B
	各種基本情報更新通知
S 303A <len>.w <guild_id>.l <account_id>.l <char_id>.l <type>.w <data>.?B
	各種ギルドメンバ情報更新要求
R 383A <len>.w <guild_id>.l <account_id>.l <char_id>.l <type>.w <data>.?B
	各種ギルドメンバ情報更新通知
S 303B <len>.w <guild_id>.l <position>.l <struct guild_position>.?B
	ギルド役職変更要求
R 383B <len>.w <guild_id>.l <position>.l <struct guild_position>.?B
	ギルド役職変更通知
S 303C <guild_id>.l <skill_num>.l <account_id>.l
	ギルドスキル割り振り
R 383C <guild_id>.l <skill_num>.l <account_id>.l
	ギルドスキル割り振り(skill_num==0で失敗)
S 303D <guild_id1>.l <guild_id2>.l <account_id1>.l <account_id2>.l <flag>.B
	ギルド同盟/敵対要求
	flag=0 同盟 / 1 敵対 / 8 同盟解除 / 9 敵対解除
R 383D <guild_id1>.l <guild_id2>.l <account_id1>.l <account_id2>.l <flag>.B <name1>.24B <name2>.24B
	ギルド同盟/敵対通知
	flag=0 同盟 / 1 敵対
	flag=0x10 同盟失敗 / 0x11 敵対失敗
S 303E <guild_id>.l <message1>.60B <message2>.120B
	ギルド告知設定要求
R 383E <guild_id>.l <message1>.60B <message2>.120B
	ギルド告知設定通知
S 303F <len>.w <guild_id>.l <dummy>.l <emblem_data>.?B
	ギルドエンブレム変更要求 dummyは0固定
R 383F <len>.w <guild_id>.l <dummy>.l <emblem_data>.?B
	ギルドエンブレム変更通知
(以下、ギルド系追加予定)

S 3080 <account_id>.l <char_id>.I <pet_type>.w <pet_lv>.w <pet_egg_id>.w 
	<pet_equip>.w <pet_intimate>.w <pet_hungry>.w <rename_flag>.B <incuvate>.B 
	<pet_name>.24B
	ペット生成要求
R 3880  <account_id>.l <fail>.B <pet_id>.l
	ペット生成成功可否
	fail=00 ペット生成成功
	fail=01 失敗(pet_idはゴミ)
S 3081 <account_id>.l <char_id>.I <pet_id>.l
	ペットデータ要求
R 3881 <len>.w <account_id>.l <fail>.B <struct s_pet>.?B
	ペットデータ受信
	fail=00 ペットデータ転送
	fail=01 ペットのデータがないかもしくはaccount_idかchar_idが合わないので
	失敗(s_petはゴミ)
S 3082 <len>.w <account_id>.l <struct s_pet>.?B
	ペットデータ送信&保存要求
R 3882 <account_id>.l <flag>.b
	ペットデータ保存終了
	flag=0 成功(現在の仕様ではメモリ不足以外には必ず0なので、返信を
		待たなくてもいい)
	flag=1 失敗
S 3083 <pet_id>.l
	ペットデータ削除要求
R 3883 <flag>.b
	ペットデータ削除終了
	flag=0 成功(現在の仕様では既にデータがいない場合以外は必ず0なので、
		返信を待たなくてもいい)
	flag=1 失敗(pet_idに当たるデータがない場合の物ですが既にデータが
		いないと言うことは削除する必要がないことにもなりますので
		意味はありません)