Luanti 5.10.0-dev
 
Loading...
Searching...
No Matches
networkprotocol.h
Go to the documentation of this file.
1// Luanti
2// SPDX-License-Identifier: LGPL-2.1-or-later
3// Copyright (C) 2010-2013 celeron55, Perttu Ahola <celeron55@gmail.com>
4
5#pragma once
6
7#include "irrTypes.h"
8using namespace irr;
9
10extern const u16 LATEST_PROTOCOL_VERSION;
11
12// Server's supported network protocol range
13constexpr u16 SERVER_PROTOCOL_VERSION_MIN = 37;
14
15// Client's supported network protocol range
16constexpr u16 CLIENT_PROTOCOL_VERSION_MIN = 37;
17
18extern const u16 FORMSPEC_API_VERSION;
19
20#define TEXTURENAME_ALLOWED_CHARS "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_.-"
21
22typedef u16 session_t;
23
25{
27 /*
28 Sent after TOSERVER_INIT.
29
30 u8 deployed serialization version
31 u16 unused (network compression, never implemeneted)
32 u16 deployed protocol version
33 u32 supported auth methods
34 std::string unused (used to be username)
35 */
37 /*
38 Message from server to accept auth.
39
40 v3s16 player's position + v3f(0,BS/2,0) floatToInt'd
41 u64 map seed
42 f1000 recommended send interval
43 u32 : supported auth methods for sudo mode
44 (where the user can change their password)
45 */
47 /*
48 Sent to client to show it is in sudo mode now.
49 */
51 /*
52 Signals client that sudo mode auth failed.
53 */
55 /*
56 u8 reason
57 std::string custom reason (if needed, otherwise "")
58 u8 (bool) reconnect
59 */
60
63 /*
64 v3s16 position
65 serialized mapnode
66 u8 keep_metadata // Added in protocol version 22
67 */
69
71 /*
72 [0] u16 command
73 [2] serialized inventory
74 */
75
77 /*
78 u16 time (0-23999)
79 f1000 time_speed
80 */
81
83 /*
84 u32 CSMRestrictionFlags byteflag
85 */
86
88 /*
89 v3f added_vel
90 */
91
93 /*
94 std::string raw_hash
95 std::string filename
96 u32 callback_token
97 bool should_be_cached
98 */
99
101 /*
102 u8 version
103 u8 message_type
104 u16 sendername length
105 wstring sendername
106 u16 length
107 wstring message
108 */
109
111 /*
112 u16 count of removed objects
113 for all removed objects {
114 u16 id
115 }
116 u16 count of added objects
117 for all added objects {
118 u16 id
119 u8 type
120 u32 initialization data length
121 string initialization data
122 }
123 */
124
126 /*
127 for all objects
128 {
129 u16 id
130 u16 message length
131 string message
132 }
133 */
134
136 /*
137 u8 hp
138 */
139
141 /*
142 v3f1000 player position
143 f1000 player pitch
144 f1000 player yaw
145 */
146
148 /*
149 u16 reason_length
150 wstring reason
151 */
152
154 /*
155 Sends an FOV override/multiplier to client.
156
157 f32 fov
158 bool is_multiplier
159 f32 transition_time
160 */
161
163 /*
164 u8 bool unused
165 v3f1000 unused
166 */
167
169 /*
170 u16 total number of texture bunches
171 u16 index of this bunch
172 u32 number of files in this bunch
173 for each file {
174 u16 length of name
175 string name
176 u32 length of data
177 data
178 }
179 u16 length of remote media server url (if applicable)
180 string url
181 */
182
184 /*
185 u32 length of the next item
186 serialized NodeDefManager
187 */
188
190 /*
191 u32 number of files
192 for each texture {
193 u16 length of name
194 string name
195 u16 length of sha1_digest
196 string sha1_digest
197 }
198 */
199
201 /*
202 u32 length of next item
203 serialized ItemDefManager
204 */
205
207 /*
208 s32 server_id
209 u16 len
210 u8[len] sound name
211 f32 gain
212 u8 type (SoundLocation: 0=local, 1=positional, 2=object)
213 v3f pos_nodes (in BS-space)
214 u16 object_id
215 u8 loop (bool)
216 f32 fade
217 f32 pitch
218 u8 ephemeral (bool)
219 f32 start_time (in seconds)
220 */
221
223 /*
224 s32 sound_id
225 */
226
228 /*
229 u16 number of privileges
230 for each privilege
231 u16 len
232 u8[len] privilege
233 */
234
236 /*
237 u32 len
238 u8[len] formspec
239 */
240
242 /*
243 [0] u16 command
244 u16 len
245 u8[len] name
246 [2] serialized inventory
247 */
248
250 /*
251 [0] u16 command
252 u32 len
253 u8[len] formspec
254 u16 len
255 u8[len] formname
256 */
257
259 /*
260 f1000 movement_acceleration_default
261 f1000 movement_acceleration_air
262 f1000 movement_acceleration_fast
263 f1000 movement_speed_walk
264 f1000 movement_speed_crouch
265 f1000 movement_speed_fast
266 f1000 movement_speed_climb
267 f1000 movement_speed_jump
268 f1000 movement_liquid_fluidity
269 f1000 movement_liquid_fluidity_smooth
270 f1000 movement_liquid_sink
271 f1000 movement_gravity
272 */
273
275 /*
276 using range<T> = RangedParameter<T> {
277 T min, max
278 f32 bias
279 }
280 using tween<T> = TweenedParameter<T> {
281 u8 style
282 u16 reps
283 f32 beginning
284 T start, end
285 }
286
287 v3f pos
288 v3f velocity
289 v3f acceleration
290 f32 expirationtime
291 f32 size
292 u8 bool collisiondetection
293
294 u32 len
295 u8[len] texture
296
297 u8 bool vertical
298 u8 bool collision_removal
299
300 TileAnimation animation
301
302 u8 glow
303 u8 bool object_collision
304
305 u16 node_param0
306 u8 node_param2
307 u8 node_tile
308
309 v3f drag
310 range<v3f> jitter
311 range<f32> bounce
312
313 texture {
314 u8 flags (ParticleTextureFlags)
315 -- bit 0: animated
316 -- next bits: blend mode (BlendMode)
317 tween<f32> alpha
318 tween<v2f> scale
319 }
320 */
321
323 /*
324 using range<T> = RangedParameter<T> {
325 T min, max
326 f32 bias
327 }
328 using tween<T> = TweenedParameter<T> {
329 u8 style
330 u16 reps
331 f32 beginning
332 T start, end
333 }
334
335 u16 amount
336 f32 spawntime
337 if PROTOCOL_VERSION >= 42 {
338 tween<range<T>> pos, vel, acc, exptime, size
339 } else {
340 v3f minpos
341 v3f maxpos
342 v3f minvel
343 v3f maxvel
344 v3f minacc
345 v3f maxacc
346 f32 minexptime
347 f32 maxexptime
348 f32 minsize
349 f32 maxsize
350 }
351 u8 bool collisiondetection
352
353 u32 len
354 u8[len] texture
355
356 u32 spawner_id
357 u8 bool vertical
358 u8 bool collision_removal
359 u32 attached_id
360
361 TileAnimation animation
362
363 u8 glow
364 u8 bool object_collision
365
366 u16 node_param0
367 u8 node_param2
368 u8 node_tile
369
370 if PROTOCOL_VERSION < 42 {
371 f32 pos_start_bias
372 f32 vel_start_bias
373 f32 acc_start_bias
374 f32 exptime_start_bias
375 f32 size_start_bias
376
377 range<v3f> pos_end
378 -- i.e v3f pos_end_min
379 -- v3f pos_end_max
380 -- f32 pos_end_bias
381 range<v3f> vel_end
382 range<v3f> acc_end
383 range<f32> exptime_end
384 range<f32> size_end
385 }
386
387 texture {
388 u8 flags (ParticleTextureFlags)
389 -- bit 0: animated
390 -- next bits: blend mode (BlendMode)
391 tween<f32> alpha
392 tween<v2f> scale
393
394 if (flags.animated)
395 TileAnimation animation
396 }
397
398 tween<range<v3f>> drag
399 -- i.e. v3f drag_start_min
400 -- v3f drag_start_max
401 -- f32 drag_start_bias
402 -- v3f drag_end_min
403 -- v3f drag_end_max
404 -- f32 drag_end_bias
405 tween<range<v3f>> jitter
406 tween<range<f32>> bounce
407
408 u8 attraction_kind
409 none = 0
410 point = 1
411 line = 2
412 plane = 3
413
414 if attraction_kind > none {
415 tween<range<f32>> attract_strength
416 tween<v3f> attractor_origin
417 u16 attractor_origin_attachment_object_id
418 u8 spawner_flags
419 bit 1: attractor_kill (particles dies on contact)
420 if attraction_mode > point {
421 tween<v3f> attractor_direction
422 u16 attractor_direction_attachment_object_id
423 }
424 }
425
426 tween<range<v3f>> radius
427
428 u16 texpool_size
429 texpool_size.times {
430 u8 flags (ParticleTextureFlags)
431 -- bit 0: animated
432 -- next bits: blend mode (BlendMode)
433 tween<f32> alpha
434 tween<v2f> scale
435
436 u32 len
437 u8[len] texture
438
439 if (flags.animated)
440 TileAnimation animation
441 }
442
443 */
444
446 /*
447 u32 id
448 u8 type
449 v2f1000 pos
450 u16 len
451 u8[len] name
452 v2f1000 scale
453 u16 len2
454 u8[len2] text
455 u32 number
456 u32 item
457 u32 dir
458 v2f1000 align
459 v2f1000 offset
460 v3f1000 world_pos
461 v2s32 size
462 s16 z_index
463 u16 len3
464 u8[len3] text2
465 */
466
468 /*
469 u32 id
470 */
471
473 /*
474 u32 id
475 u8 stat
476 [v2f1000 data |
477 u32 len
478 u8[len] data |
479 u32 data]
480 */
481
483 /*
484 u32 flags
485 u32 mask
486 */
487
489 /*
490 u16 param
491 u16 len
492 u8[len] value
493 */
494
496 /*
497 u16 breath
498 */
499
501 /*
502 Protocol 38:
503 u8[4] base_color (ARGB)
504 u8 len
505 u8[len] type
506 u16 count
507 foreach count:
508 u8 len
509 u8[len] param
510 u8 clouds (boolean)
511
512 Protocol 39:
513 u8[4] bgcolor (ARGB)
514 std::string type
515 int texture_count
516 std::string[6] param
517 bool clouds
518 bool bgcolor_fog
519 u8[4] day_sky (ARGB)
520 u8[4] day_horizon (ARGB)
521 u8[4] dawn_sky (ARGB)
522 u8[4] dawn_horizon (ARGB)
523 u8[4] night_sky (ARGB)
524 u8[4] night_horizon (ARGB)
525 u8[4] indoors (ARGB)
526 u8[4] fog_sun_tint (ARGB)
527 u8[4] fog_moon_tint (ARGB)
528 std::string fog_tint_type
529 float body_orbit_tilt
530 */
531
533 /*
534 u8 do_override (boolean)
535 u16 day-night ratio 0...65535
536 */
537
539 /*
540 v2s32 stand/idle
541 v2s32 walk
542 v2s32 dig
543 v2s32 walk+dig
544 f1000 frame_speed
545 */
546
548 /*
549 v3f1000 first
550 v3f1000 third
551 v3f1000 third_front
552 */
553
555 /*
556 u32 id
557 */
558
560 /*
561 f1000 density
562 u8[4] color_diffuse (ARGB)
563 u8[4] color_ambient (ARGB)
564 f1000 height
565 f1000 thickness
566 v2f1000 speed
567 */
568
570 /*
571 s32 sound_id
572 float step
573 float gain
574 */
576 /*
577 u8 type
578 u16 number of players
579 for each player
580 u16 len
581 u8[len] player name
582 */
583
585 /*
586 u16 channel name length
587 std::string channel name
588 u16 channel name sender
589 std::string channel name
590 u16 message length
591 std::string message
592 */
593
595 /*
596 u8 signal id
597 u16 channel name length
598 std::string channel name
599 */
600
602 /*
603 serialized and compressed node metadata
604 */
605
607 /*
608 bool visible
609 std::string texture
610 std::string tonemap
611 std::string sunrise
612 f32 scale
613 */
614
616 /*
617 bool visible
618 std::string texture
619 std::string tonemap
620 f32 scale
621 */
622
624 /*
625 bool visible
626 u32 count
627 u8[4] starcolor (ARGB)
628 f32 scale
629 f32 day_opacity
630 */
631
633 /*
634 v3f added_pos
635 */
636
638 /*
639 Belonging to AUTH_MECHANISM_SRP.
640
641 std::string bytes_s
642 std::string bytes_B
643 */
644
646 /*
647 u16 len
648 u8[len] formspec
649 */
650
652 /*
653 u16 count // modes
654 u16 mode // wanted current mode index after change
655 for each mode
656 u16 type
657 std::string label
658 u16 size
659 std::string extra
660 */
661
663 /*
664 f32 shadow_intensity
665 f32 saturation
666 exposure parameters
667 f32 luminance_min
668 f32 luminance_max
669 f32 exposure_correction
670 f32 speed_dark_bright
671 f32 speed_bright_dark
672 f32 center_weight_power
673 */
674
676};
677
679{
681 /*
682 Sent first after connected.
683
684 u8 serialization version (=SER_FMT_VER_HIGHEST_READ)
685 u16 unused (supported network compression modes, never implemeneted)
686 u16 minimum supported network protocol version
687 u16 maximum supported network protocol version
688 std::string player name
689 */
690
692 /*
693 Sent as an ACK for TOCLIENT_AUTH_ACCEPT.
694 After this, the server can send data.
695 */
696
698 /*
699 u16 channel name length
700 std::string channel name
701 */
702
704 /*
705 u16 channel name length
706 std::string channel name
707 */
708
710 /*
711 u16 channel name length
712 std::string channel name
713 u16 message length
714 std::string message
715 */
716
718 /*
719 [0] u16 command
720 [2] v3s32 position*100
721 [2+12] v3s32 speed*100
722 [2+12+12] s32 pitch*100
723 [2+12+12+4] s32 yaw*100
724 [2+12+12+4+4] u32 keyPressed
725 [2+12+12+4+4+4] u8 fov*80
726 [2+12+12+4+4+4+1] u8 ceil(wanted_range / MAP_BLOCKSIZE)
727 [2+12+12+4+4+4+1+1] u8 camera_inverted (bool)
728 [2+12+12+4+4+4+1+1+1] f32 movement_speed
729 [2+12+12+4+4+4+1+1+1+4] f32 movement_direction
730
731 */
732
734 /*
735 [0] u16 command
736 [2] u8 count
737 [3] v3s16 pos_0
738 [3+6] v3s16 pos_1
739 ...
740 */
741
743 /*
744 [0] u16 command
745 [2] u8 count
746 [3] v3s16 pos_0
747 [3+6] v3s16 pos_1
748 ...
749 */
750
752 /*
753 See InventoryAction in inventorymanager.h
754 */
755
757 /*
758 u16 length
759 wstring message
760 */
761
763 /*
764 u8 amount
765 */
766
768 /*
769 Sent to change selected item.
770
771 [0] u16 TOSERVER_PLAYERITEM
772 [2] u16 item
773 */
774
776
778 /*
779 [0] u16 command
780 [2] u8 action
781 [3] u16 item
782 [5] u32 length of the next item
783 [9] serialized PointedThing
784 actions:
785 0: start digging (from undersurface) or use
786 1: stop digging (all parameters ignored)
787 2: digging completed
788 3: place block or item (to abovesurface)
789 4: use item
790 */
791
793 /*
794 u16 len
795 s32[len] sound_id
796 */
797
799 /*
800 v3s16 p
801 u16 len
802 u8[len] form name (reserved for future use)
803 u16 number of fields
804 for each field:
805 u16 len
806 u8[len] field name
807 u32 len
808 u8[len] field value
809 */
810
812 /*
813 u16 len
814 u8[len] form name (reserved for future use)
815 u16 number of fields
816 for each field:
817 u16 len
818 u8[len] field name
819 u32 len
820 u8[len] field value
821 */
822
824 /*
825 u16 number of files requested
826 for each file {
827 u16 length of name
828 string name
829 }
830 */
831
833 /*
834 u8 number of callback tokens
835 for each:
836 u32 token
837 */
838
840 /*
841 u8 major
842 u8 minor
843 u8 patch
844 u8 reserved
845 u16 len
846 u8[len] full_version_string
847 */
848
850 /*
851 Belonging to AUTH_MECHANISM_FIRST_SRP.
852
853 std::string srp salt
854 std::string srp verification key
855 u8 is_empty (=1 if password is empty, 0 otherwise)
856 */
857
859 /*
860 Belonging to AUTH_MECHANISM_SRP,
861 depending on current_login_based_on.
862
863 std::string bytes_A
864 u8 current_login_based_on : on which version of the password's
865 hash this login is based on (0 legacy hash,
866 or 1 directly the password)
867 */
868
870 /*
871 Belonging to AUTH_MECHANISM_SRP.
872
873 std::string bytes_M
874 */
875
877 /*
878 v2s16 render_target_size
879 f32 gui_scaling
880 f32 hud_scaling
881 v2f32 max_fs_info
882 */
883
885};
886
888{
889 // reserved
891
892 // SRP based on the legacy hash
894
895 // SRP based on the srp verification key
897
898 // Establishes a srp verification key, for first login and password changing
900};
901
918
925
927 CSM_RF_NONE = 0x00000000,
928 // Until server-sent CSM and verifying of builtin are complete,
929 // 'CSM_RF_LOAD_CLIENT_MODS' also disables loading 'builtin'.
930 // When those are complete, this should return to only being a restriction on the
931 // loading of client mods.
932 CSM_RF_LOAD_CLIENT_MODS = 0x00000001, // Don't load client-provided mods or 'builtin'
933 CSM_RF_CHAT_MESSAGES = 0x00000002, // Disable chat message sending from CSM
934 CSM_RF_READ_ITEMDEFS = 0x00000004, // Disable itemdef lookups
935 CSM_RF_READ_NODEDEFS = 0x00000008, // Disable nodedef lookups
936 CSM_RF_LOOKUP_NODES = 0x00000010, // Limit node lookups
937 CSM_RF_READ_PLAYERINFO = 0x00000020, // Disable player info lookups
938 CSM_RF_ALL = 0xFFFFFFFF,
939};
940
942{
943 INTERACT_START_DIGGING, // 0: start digging (from undersurface) or use
944 INTERACT_STOP_DIGGING, // 1: stop digging (all parameters ignored)
945 INTERACT_DIGGING_COMPLETED, // 2: digging completed
946 INTERACT_PLACE, // 3: place block or item (to abovesurface)
947 INTERACT_USE, // 4: use item
948 INTERACT_ACTIVATE // 5: rightclick air ("activate")
Definition clientmap.h:30
const u16 LATEST_PROTOCOL_VERSION
Definition networkprotocol.cpp:64
ToServerCommand
Definition networkprotocol.h:679
@ TOSERVER_RESPAWN_LEGACY
Definition networkprotocol.h:775
@ TOSERVER_MODCHANNEL_LEAVE
Definition networkprotocol.h:703
@ TOSERVER_PLAYERITEM
Definition networkprotocol.h:767
@ TOSERVER_MODCHANNEL_MSG
Definition networkprotocol.h:709
@ TOSERVER_DELETEDBLOCKS
Definition networkprotocol.h:742
@ TOSERVER_GOTBLOCKS
Definition networkprotocol.h:733
@ TOSERVER_HAVE_MEDIA
Definition networkprotocol.h:832
@ TOSERVER_NODEMETA_FIELDS
Definition networkprotocol.h:798
@ TOSERVER_PLAYERPOS
Definition networkprotocol.h:717
@ TOSERVER_CLIENT_READY
Definition networkprotocol.h:839
@ TOSERVER_REQUEST_MEDIA
Definition networkprotocol.h:823
@ TOSERVER_SRP_BYTES_M
Definition networkprotocol.h:869
@ TOSERVER_INTERACT
Definition networkprotocol.h:777
@ TOSERVER_FIRST_SRP
Definition networkprotocol.h:849
@ TOSERVER_INIT
Definition networkprotocol.h:680
@ TOSERVER_REMOVED_SOUNDS
Definition networkprotocol.h:792
@ TOSERVER_DAMAGE
Definition networkprotocol.h:762
@ TOSERVER_NUM_MSG_TYPES
Definition networkprotocol.h:884
@ TOSERVER_UPDATE_CLIENT_INFO
Definition networkprotocol.h:876
@ TOSERVER_SRP_BYTES_A
Definition networkprotocol.h:858
@ TOSERVER_CHAT_MESSAGE
Definition networkprotocol.h:756
@ TOSERVER_MODCHANNEL_JOIN
Definition networkprotocol.h:697
@ TOSERVER_INIT2
Definition networkprotocol.h:691
@ TOSERVER_INVENTORY_ACTION
Definition networkprotocol.h:751
@ TOSERVER_INVENTORY_FIELDS
Definition networkprotocol.h:811
AccessDeniedCode
Definition networkprotocol.h:902
@ SERVER_ACCESSDENIED_SERVER_FAIL
Definition networkprotocol.h:912
@ SERVER_ACCESSDENIED_MAX
Definition networkprotocol.h:916
@ SERVER_ACCESSDENIED_CUSTOM_STRING
Definition networkprotocol.h:913
@ SERVER_ACCESSDENIED_CRASH
Definition networkprotocol.h:915
@ SERVER_ACCESSDENIED_ALREADY_CONNECTED
Definition networkprotocol.h:911
@ SERVER_ACCESSDENIED_TOO_MANY_USERS
Definition networkprotocol.h:909
@ SERVER_ACCESSDENIED_SHUTDOWN
Definition networkprotocol.h:914
@ SERVER_ACCESSDENIED_WRONG_PASSWORD
Definition networkprotocol.h:903
@ SERVER_ACCESSDENIED_SINGLEPLAYER
Definition networkprotocol.h:905
@ SERVER_ACCESSDENIED_UNEXPECTED_DATA
Definition networkprotocol.h:904
@ SERVER_ACCESSDENIED_WRONG_VERSION
Definition networkprotocol.h:906
@ SERVER_ACCESSDENIED_WRONG_CHARS_IN_NAME
Definition networkprotocol.h:907
@ SERVER_ACCESSDENIED_EMPTY_PASSWORD
Definition networkprotocol.h:910
@ SERVER_ACCESSDENIED_WRONG_NAME
Definition networkprotocol.h:908
CSMRestrictionFlags
Definition networkprotocol.h:926
@ CSM_RF_LOAD_CLIENT_MODS
Definition networkprotocol.h:932
@ CSM_RF_LOOKUP_NODES
Definition networkprotocol.h:936
@ CSM_RF_ALL
Definition networkprotocol.h:938
@ CSM_RF_CHAT_MESSAGES
Definition networkprotocol.h:933
@ CSM_RF_NONE
Definition networkprotocol.h:927
@ CSM_RF_READ_NODEDEFS
Definition networkprotocol.h:935
@ CSM_RF_READ_ITEMDEFS
Definition networkprotocol.h:934
@ CSM_RF_READ_PLAYERINFO
Definition networkprotocol.h:937
InteractAction
Definition networkprotocol.h:942
@ INTERACT_START_DIGGING
Definition networkprotocol.h:943
@ INTERACT_USE
Definition networkprotocol.h:947
@ INTERACT_DIGGING_COMPLETED
Definition networkprotocol.h:945
@ INTERACT_PLACE
Definition networkprotocol.h:946
@ INTERACT_ACTIVATE
Definition networkprotocol.h:948
@ INTERACT_STOP_DIGGING
Definition networkprotocol.h:944
AuthMechanism
Definition networkprotocol.h:888
@ AUTH_MECHANISM_SRP
Definition networkprotocol.h:896
@ AUTH_MECHANISM_NONE
Definition networkprotocol.h:890
@ AUTH_MECHANISM_LEGACY_PASSWORD
Definition networkprotocol.h:893
@ AUTH_MECHANISM_FIRST_SRP
Definition networkprotocol.h:899
constexpr u16 CLIENT_PROTOCOL_VERSION_MIN
Definition networkprotocol.h:16
constexpr u16 SERVER_PROTOCOL_VERSION_MIN
Definition networkprotocol.h:13
ToClientCommand
Definition networkprotocol.h:25
@ TOCLIENT_LOCAL_PLAYER_ANIMATIONS
Definition networkprotocol.h:538
@ TOCLIENT_FOV
Definition networkprotocol.h:153
@ TOCLIENT_ACCESS_DENIED_LEGACY
Definition networkprotocol.h:147
@ TOCLIENT_ACCEPT_SUDO_MODE
Definition networkprotocol.h:46
@ TOCLIENT_ACTIVE_OBJECT_REMOVE_ADD
Definition networkprotocol.h:110
@ TOCLIENT_ITEMDEF
Definition networkprotocol.h:200
@ TOCLIENT_CHAT_MESSAGE
Definition networkprotocol.h:100
@ TOCLIENT_ADD_PARTICLESPAWNER
Definition networkprotocol.h:322
@ TOCLIENT_ACTIVE_OBJECT_MESSAGES
Definition networkprotocol.h:125
@ TOCLIENT_MODCHANNEL_SIGNAL
Definition networkprotocol.h:594
@ TOCLIENT_SET_MOON
Definition networkprotocol.h:615
@ TOCLIENT_ACCESS_DENIED
Definition networkprotocol.h:54
@ TOCLIENT_SPAWN_PARTICLE
Definition networkprotocol.h:274
@ TOCLIENT_PRIVILEGES
Definition networkprotocol.h:227
@ TOCLIENT_HUD_SET_PARAM
Definition networkprotocol.h:488
@ TOCLIENT_DEATHSCREEN_LEGACY
Definition networkprotocol.h:162
@ TOCLIENT_CSM_RESTRICTION_FLAGS
Definition networkprotocol.h:82
@ TOCLIENT_SET_LIGHTING
Definition networkprotocol.h:662
@ TOCLIENT_MOVE_PLAYER_REL
Definition networkprotocol.h:632
@ TOCLIENT_STOP_SOUND
Definition networkprotocol.h:222
@ TOCLIENT_NODEMETA_CHANGED
Definition networkprotocol.h:601
@ TOCLIENT_DENY_SUDO_MODE
Definition networkprotocol.h:50
@ TOCLIENT_PLAY_SOUND
Definition networkprotocol.h:206
@ TOCLIENT_SET_STARS
Definition networkprotocol.h:623
@ TOCLIENT_SET_SKY
Definition networkprotocol.h:500
@ TOCLIENT_MINIMAP_MODES
Definition networkprotocol.h:651
@ TOCLIENT_REMOVENODE
Definition networkprotocol.h:68
@ TOCLIENT_HP
Definition networkprotocol.h:135
@ TOCLIENT_MEDIA_PUSH
Definition networkprotocol.h:92
@ TOCLIENT_SRP_BYTES_S_B
Definition networkprotocol.h:637
@ TOCLIENT_DETACHED_INVENTORY
Definition networkprotocol.h:241
@ TOCLIENT_HELLO
Definition networkprotocol.h:26
@ TOCLIENT_AUTH_ACCEPT
Definition networkprotocol.h:36
@ TOCLIENT_MOVEMENT
Definition networkprotocol.h:258
@ TOCLIENT_CLOUD_PARAMS
Definition networkprotocol.h:559
@ TOCLIENT_HUDADD
Definition networkprotocol.h:445
@ TOCLIENT_FADE_SOUND
Definition networkprotocol.h:569
@ TOCLIENT_NUM_MSG_TYPES
Definition networkprotocol.h:675
@ TOCLIENT_DELETE_PARTICLESPAWNER
Definition networkprotocol.h:554
@ TOCLIENT_HUDRM
Definition networkprotocol.h:467
@ TOCLIENT_MEDIA
Definition networkprotocol.h:168
@ TOCLIENT_MOVE_PLAYER
Definition networkprotocol.h:140
@ TOCLIENT_SET_SUN
Definition networkprotocol.h:606
@ TOCLIENT_SHOW_FORMSPEC
Definition networkprotocol.h:249
@ TOCLIENT_ADDNODE
Definition networkprotocol.h:62
@ TOCLIENT_TIME_OF_DAY
Definition networkprotocol.h:76
@ TOCLIENT_BREATH
Definition networkprotocol.h:495
@ TOCLIENT_BLOCKDATA
Definition networkprotocol.h:61
@ TOCLIENT_FORMSPEC_PREPEND
Definition networkprotocol.h:645
@ TOCLIENT_OVERRIDE_DAY_NIGHT_RATIO
Definition networkprotocol.h:532
@ TOCLIENT_MODCHANNEL_MSG
Definition networkprotocol.h:584
@ TOCLIENT_NODEDEF
Definition networkprotocol.h:183
@ TOCLIENT_PLAYER_SPEED
Definition networkprotocol.h:87
@ TOCLIENT_HUDCHANGE
Definition networkprotocol.h:472
@ TOCLIENT_EYE_OFFSET
Definition networkprotocol.h:547
@ TOCLIENT_HUD_SET_FLAGS
Definition networkprotocol.h:482
@ TOCLIENT_ANNOUNCE_MEDIA
Definition networkprotocol.h:189
@ TOCLIENT_INVENTORY
Definition networkprotocol.h:70
@ TOCLIENT_UPDATE_PLAYER_LIST
Definition networkprotocol.h:575
@ TOCLIENT_INVENTORY_FORMSPEC
Definition networkprotocol.h:235
u16 session_t
Definition networkprotocol.h:22
PlayerListModifer
Definition networkprotocol.h:920
@ PLAYER_LIST_INIT
Definition networkprotocol.h:921
@ PLAYER_LIST_REMOVE
Definition networkprotocol.h:923
@ PLAYER_LIST_ADD
Definition networkprotocol.h:922
const u16 FORMSPEC_API_VERSION
Definition networkprotocol.cpp:67