Luanti 5.16.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 v2f size // if protocol >= 52. Otherwise, v2s32
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 f32 volumetric_light_strength
696 SColor shadow_tint
697 bloom parameters
698 f32 bloom_intensity
699 f32 bloom_strength_factor
700 f32 bloom_radius
701 v3f shadow_direction ({0,0,0} = unset)
702 */
703
705 /*
706 std::string data, zstd-compressed, for each particle:
707 u32 len
708 u8[len] serialized ParticleParameters
709 */
710
712};
713
715{
717 /*
718 Sent first after connected.
719
720 u8 serialization version (=SER_FMT_VER_HIGHEST_READ)
721 u16 unused (supported network compression modes, never implemeneted)
722 u16 minimum supported network protocol version
723 u16 maximum supported network protocol version
724 std::string player name
725 */
726
728 /*
729 Sent as an ACK for TOCLIENT_AUTH_ACCEPT.
730 After this, the server can send data.
731 */
732
734 /*
735 u16 channel name length
736 std::string channel name
737 */
738
740 /*
741 u16 channel name length
742 std::string channel name
743 */
744
746 /*
747 u16 channel name length
748 std::string channel name
749 u16 message length
750 std::string message
751 */
752
754 /*
755 v3s32 position*100
756 v3s32 speed*100
757 s32 pitch*100
758 s32 yaw*100
759 u32 keyPressed
760 u8 fov*80
761 u8 ceil(wanted_range / MAP_BLOCKSIZE)
762 u8 camera_inverted (bool)
763 f32 movement_speed
764 f32 movement_direction
765 */
766
768 /*
769 [0] u16 command
770 [2] u8 count
771 [3] v3s16 pos_0
772 [3+6] v3s16 pos_1
773 ...
774 */
775
777 /*
778 [0] u16 command
779 [2] u8 count
780 [3] v3s16 pos_0
781 [3+6] v3s16 pos_1
782 ...
783 */
784
786 /*
787 See InventoryAction in inventorymanager.h
788 */
789
791 /*
792 u16 length
793 wstring message
794 */
795
797 /*
798 u8 amount
799 */
800
802 /*
803 Sent to change selected item.
804
805 [0] u16 TOSERVER_PLAYERITEM
806 [2] u16 item
807 */
808
810
812 /*
813 [0] u16 command
814 [2] u8 action
815 [3] u16 item
816 [5] u32 length of the next item
817 [9] serialized PointedThing
818 actions:
819 0: start digging (from undersurface) or use
820 1: stop digging (all parameters ignored)
821 2: digging completed
822 3: place block or item (to abovesurface)
823 4: use item
824 */
825
827 /*
828 u16 len
829 s32[len] sound_id
830 */
831
833 /*
834 v3s16 p
835 u16 len
836 u8[len] form name (reserved for future use)
837 u16 number of fields
838 for each field:
839 u16 len
840 u8[len] field name
841 u32 len
842 u8[len] field value
843 */
844
846 /*
847 u16 len
848 u8[len] form name (reserved for future use)
849 u16 number of fields
850 for each field:
851 u16 len
852 u8[len] field name
853 u32 len
854 u8[len] field value
855 */
856
858 /*
859 u16 number of files requested
860 for each file {
861 u16 length of name
862 string name
863 }
864 */
865
867 /*
868 u8 number of callback tokens
869 for each:
870 u32 token
871 */
872
874 /*
875 u8 major
876 u8 minor
877 u8 patch
878 u8 reserved
879 u16 len
880 u8[len] full_version_string
881 */
882
884 /*
885 Belonging to AUTH_MECHANISM_FIRST_SRP.
886
887 std::string srp salt
888 std::string srp verification key
889 u8 is_empty (=1 if password is empty, 0 otherwise)
890 */
891
893 /*
894 Belonging to AUTH_MECHANISM_SRP,
895 depending on current_login_based_on.
896
897 std::string bytes_A
898 u8 current_login_based_on : on which version of the password's
899 hash this login is based on (0 legacy hash,
900 or 1 directly the password)
901 */
902
904 /*
905 Belonging to AUTH_MECHANISM_SRP.
906
907 std::string bytes_M
908 */
909
911 /*
912 v2s16 render_target_size
913 f32 gui_scaling
914 f32 hud_scaling
915 v2f32 max_fs_info
916 */
917
919};
920
922{
923 // reserved
925
926 // SRP based on the legacy hash
928
929 // SRP based on the srp verification key
931
932 // Establishes a srp verification key, for first login and password changing
934};
935
952
959
961 CSM_RF_NONE = 0x00000000,
962 // Until server-sent CSM and verifying of builtin are complete,
963 // 'CSM_RF_LOAD_CLIENT_MODS' also disables loading 'builtin'.
964 // When those are complete, this should return to only being a restriction on the
965 // loading of client mods.
966 CSM_RF_LOAD_CLIENT_MODS = 0x00000001, // Don't load client-provided mods or 'builtin'
967 CSM_RF_CHAT_MESSAGES = 0x00000002, // Disable chat message sending from CSM
968 CSM_RF_READ_ITEMDEFS = 0x00000004, // Disable itemdef lookups
969 CSM_RF_READ_NODEDEFS = 0x00000008, // Disable nodedef lookups
970 CSM_RF_LOOKUP_NODES = 0x00000010, // Limit node lookups
971 CSM_RF_READ_PLAYERINFO = 0x00000020, // Disable player info lookups
972 CSM_RF_ALL = 0xFFFFFFFF,
973};
974
976{
977 INTERACT_START_DIGGING, // 0: start digging (from undersurface) or use
978 INTERACT_STOP_DIGGING, // 1: stop digging (all parameters ignored)
979 INTERACT_DIGGING_COMPLETED, // 2: digging completed
980 INTERACT_PLACE, // 3: place block or item (to abovesurface)
981 INTERACT_USE, // 4: use item
982 INTERACT_ACTIVATE // 5: rightclick air ("activate")
983};
const u16 LATEST_PROTOCOL_VERSION
Definition networkprotocol.cpp:84
const u16 FORMSPEC_API_VERSION
Definition networkprotocol.cpp:87
ToServerCommand
Definition networkprotocol.h:715
@ TOSERVER_RESPAWN_LEGACY
Definition networkprotocol.h:809
@ TOSERVER_MODCHANNEL_LEAVE
Definition networkprotocol.h:739
@ TOSERVER_PLAYERITEM
Definition networkprotocol.h:801
@ TOSERVER_MODCHANNEL_MSG
Definition networkprotocol.h:745
@ TOSERVER_DELETEDBLOCKS
Definition networkprotocol.h:776
@ TOSERVER_GOTBLOCKS
Definition networkprotocol.h:767
@ TOSERVER_HAVE_MEDIA
Definition networkprotocol.h:866
@ TOSERVER_NODEMETA_FIELDS
Definition networkprotocol.h:832
@ TOSERVER_PLAYERPOS
Definition networkprotocol.h:753
@ TOSERVER_CLIENT_READY
Definition networkprotocol.h:873
@ TOSERVER_REQUEST_MEDIA
Definition networkprotocol.h:857
@ TOSERVER_SRP_BYTES_M
Definition networkprotocol.h:903
@ TOSERVER_INTERACT
Definition networkprotocol.h:811
@ TOSERVER_FIRST_SRP
Definition networkprotocol.h:883
@ TOSERVER_INIT
Definition networkprotocol.h:716
@ TOSERVER_REMOVED_SOUNDS
Definition networkprotocol.h:826
@ TOSERVER_DAMAGE
Definition networkprotocol.h:796
@ TOSERVER_NUM_MSG_TYPES
Definition networkprotocol.h:918
@ TOSERVER_UPDATE_CLIENT_INFO
Definition networkprotocol.h:910
@ TOSERVER_SRP_BYTES_A
Definition networkprotocol.h:892
@ TOSERVER_CHAT_MESSAGE
Definition networkprotocol.h:790
@ TOSERVER_MODCHANNEL_JOIN
Definition networkprotocol.h:733
@ TOSERVER_INIT2
Definition networkprotocol.h:727
@ TOSERVER_INVENTORY_ACTION
Definition networkprotocol.h:785
@ TOSERVER_INVENTORY_FIELDS
Definition networkprotocol.h:845
AccessDeniedCode
Definition networkprotocol.h:936
@ SERVER_ACCESSDENIED_SERVER_FAIL
Definition networkprotocol.h:946
@ SERVER_ACCESSDENIED_MAX
Definition networkprotocol.h:950
@ SERVER_ACCESSDENIED_CUSTOM_STRING
Definition networkprotocol.h:947
@ SERVER_ACCESSDENIED_CRASH
Definition networkprotocol.h:949
@ SERVER_ACCESSDENIED_ALREADY_CONNECTED
Definition networkprotocol.h:945
@ SERVER_ACCESSDENIED_TOO_MANY_USERS
Definition networkprotocol.h:943
@ SERVER_ACCESSDENIED_SHUTDOWN
Definition networkprotocol.h:948
@ SERVER_ACCESSDENIED_WRONG_PASSWORD
Definition networkprotocol.h:937
@ SERVER_ACCESSDENIED_SINGLEPLAYER
Definition networkprotocol.h:939
@ SERVER_ACCESSDENIED_UNEXPECTED_DATA
Definition networkprotocol.h:938
@ SERVER_ACCESSDENIED_WRONG_VERSION
Definition networkprotocol.h:940
@ SERVER_ACCESSDENIED_WRONG_CHARS_IN_NAME
Definition networkprotocol.h:941
@ SERVER_ACCESSDENIED_EMPTY_PASSWORD
Definition networkprotocol.h:944
@ SERVER_ACCESSDENIED_WRONG_NAME
Definition networkprotocol.h:942
CSMRestrictionFlags
Definition networkprotocol.h:960
@ CSM_RF_LOAD_CLIENT_MODS
Definition networkprotocol.h:966
@ CSM_RF_LOOKUP_NODES
Definition networkprotocol.h:970
@ CSM_RF_ALL
Definition networkprotocol.h:972
@ CSM_RF_CHAT_MESSAGES
Definition networkprotocol.h:967
@ CSM_RF_NONE
Definition networkprotocol.h:961
@ CSM_RF_READ_NODEDEFS
Definition networkprotocol.h:969
@ CSM_RF_READ_ITEMDEFS
Definition networkprotocol.h:968
@ CSM_RF_READ_PLAYERINFO
Definition networkprotocol.h:971
InteractAction
Definition networkprotocol.h:976
@ INTERACT_START_DIGGING
Definition networkprotocol.h:977
@ INTERACT_USE
Definition networkprotocol.h:981
@ INTERACT_DIGGING_COMPLETED
Definition networkprotocol.h:979
@ INTERACT_PLACE
Definition networkprotocol.h:980
@ INTERACT_ACTIVATE
Definition networkprotocol.h:982
@ INTERACT_STOP_DIGGING
Definition networkprotocol.h:978
AuthMechanism
Definition networkprotocol.h:922
@ AUTH_MECHANISM_SRP
Definition networkprotocol.h:930
@ AUTH_MECHANISM_NONE
Definition networkprotocol.h:924
@ AUTH_MECHANISM_LEGACY_PASSWORD
Definition networkprotocol.h:927
@ AUTH_MECHANISM_FIRST_SRP
Definition networkprotocol.h:933
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:704
@ 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:711
@ 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:954
@ PLAYER_LIST_INIT
Definition networkprotocol.h:955
@ PLAYER_LIST_REMOVE
Definition networkprotocol.h:957
@ PLAYER_LIST_ADD
Definition networkprotocol.h:956