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