Skip to content

Commit 5a86bb3

Browse files
authored
Protocol for r/21_u8 NetworkProtocolVersion 800 (#20)
* Protocol for r/21_u8 NetworkProtocolVersion 800 * Removed irrelevant SVGs from PR
1 parent 6c67a70 commit 5a86bb3

File tree

174 files changed

+9314
-1418
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

174 files changed

+9314
-1418
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@
33
We share our Network Protocol with server partners so they can write their own Minecraft servers with their own code. This documentation compiles a series of tree diagrams that define the structure of the packets used by the Protocol, as well as related classes and enums.
44
Protocol is subject to change release over release.
55

6-
Current Release - r/21_u7
6+
Current Release - r/21_u8

additional_docs/AntiCheatServer.properties

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,5 @@
11
# This contains the anti-cheat related dedicated server default properties. Add these to your server.properties file and modify as desired.
22

3-
# Common values for player movement
4-
# Allowed values: "client-auth", "server-auth", "server-auth-with-rewind"
5-
# Changes the server authority on movement:
6-
# "client-auth": Server has no authority and accepts all positions from the client.
7-
# "server-auth": Server takes user input and simulates the Player movement but accepts the Client version if there is disagreement.
8-
# "server-auth-with-rewind": The server will replay local user input and will push it to the Client so it can correct the position if it does not match.
9-
# The clients will rewind time back to the correction time, apply the correction, then replay all the player's inputs since then. This results in smoother and more frequent corrections.
10-
server-authoritative-movement=server-auth-with-rewind
113
# Regardless of discrepancies the server will not send corrections within this many ticks of each-other
124
# After a correction on tick 5 and a delay of 2, the next possible correction would be on tick 8
135
player-rewind-min-correction-delay-ticks=5
@@ -16,7 +8,6 @@ player-rewind-min-correction-delay-ticks=5
168
# two seconds of two-way latency
179
player-rewind-history-size-ticks=40
1810

19-
# Only used with "server-auth-with-rewind".
2011
# This is the tolerance of discrepancies between the Client and Server Player position. This helps prevent sending corrections too frequently
2112
# for non-cheating players in cases where the server and client have different perceptions about when a motion started. For example damage knockback or being pushed by pistons.
2213
# The higher the number, the more tolerant the server will be before asking for a correction. Values beyond 1.0 have increased chances of allowing cheating.

changelog_800_4_8_25.md

Lines changed: 365 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,365 @@
1+
# Minecraft Network Protocol Docs 4/8/25
2+
For r21_u8, Network Protocol Version 800
3+
4+
5+
## New Packets
6+
7+
ClientboundControlSchemeSetPacket:
8+
* Added mControlScheme (enum ControlScheme::Scheme) [ControlScheme::Scheme enum definition in New Enums]
9+
10+
PlayerLocationPacket:
11+
* Added mType (enum PlayerLocationPacket::Type) [PlayerLocationPacket::Type enum definition in New Enums]
12+
* Added conditional write on mType:
13+
* If Type::PLAYER_LOCATION_COORDINATES:
14+
* Added mId (ActorUniqueID)
15+
* Added mPos (Vec3)
16+
* If Type::PLAYER_LOCATION_HIDE:
17+
* Added mId (ActorUniqueID)
18+
19+
20+
## Packet Changes
21+
22+
BiomeDefinitionListPacket:
23+
* Added mBiomeData(std::unordered_map<BiomeStringList::BiomeStringIndex, BiomeDefinitionData>) [BiomeStringList::BiomeStringIndex type definition in New Types] [BiomeDefinitionData type definition in New Types]
24+
* Added mStringList (BiomeStringList) [BiomeStringList type definition in New Types]
25+
26+
27+
## Removed Packets
28+
29+
* CompressedBiomeDefinitionListPacket
30+
* PassengerJump
31+
* PlayerInputPacket
32+
33+
34+
## New Types
35+
36+
BiomeStringList::BiomeStringIndex (uint16_t)
37+
38+
BiomeIdType (uint16_t)
39+
40+
SharedTypes::Comprehensive::CoordinateEvaluationOrder (enum SharedTypes::v1_21_10::CoordinateEvaluationOrder) [SharedTypes::v1_21_10::CoordinateEvaluationOrder enum definition in New Enums]
41+
42+
SharedTypes::Comprehensive::RandomDistributionType (enum SharedTypes::v1_21_10::RandomDistributionType) [SharedTypes::v1_21_10::RandomDistributionType enum definition in New Enums]
43+
44+
BlockRuntimeId (uint32_t)
45+
46+
BiomeDefinitionData:
47+
* Added mId (brstd::optional<BiomeIdType>)
48+
* Added mTemperature (float)
49+
* Added mDownfall (float)
50+
* Added mRedSporeDensity (float)
51+
* Added mBlueSporeDensity (float)
52+
* Added mAshDensity (float)
53+
* Added mWhiteAshDensity (float)
54+
* Added mDepth (float)
55+
* Added mScale (float)
56+
* Added mMapWaterColorARGB (int32_t)
57+
* Added mRain (bool)
58+
* Added mTags (brstd::optional<BiomeTagsData>) [BiomeTagsData type definition below]
59+
* Added mChunkGenData (brstd::optional<BiomeDefinitionChunkGenData>) [BiomeDefinitionChunkGenData type definition below]
60+
61+
BiomeTagsData:
62+
* Added mTags (std::vector\<BiomeStringList::BiomeStringIndex\>)
63+
64+
BiomeDefinitionChunkGenData:
65+
* Added mClimate (brstd::optional<BiomeClimateData>) [BiomeClimateData type definition below]
66+
* Added mConsolidatedFeatures (brstd::optional<BiomeConsolidatedFeaturesData>) [BiomeConsolidatedFeaturesData type definition below]
67+
* Added mMountainParams (brstd::optional<BiomeMountainParamsData>) [BiomeMountainParamsData type definition below]
68+
* Added mSurfaceMaterialAdjustments (brstd::optional<BiomeSurfaceMaterialAdjustmentData>) [BiomeSurfaceMaterialAdjustmentData type definition below]
69+
* Added mSurfaceMaterials (brstd::optional<BiomeSurfaceMaterialData>) [BiomeSurfaceMaterialData type definition below]
70+
* Added mHasSwampSurface (bool)
71+
* Added mHasFrozenOceanSurface (bool)
72+
* Added mHasTheEndSurface (bool)
73+
* Added mMesaSurface (brstd::optional<BiomeMesaSurfaceData>) [BiomeMesaSurfaceData type definition below]
74+
* Added mCappedSurface (brstd::optional<BiomeCappedSurfaceData>) [BiomeCappedSurfaceData type definition below]
75+
* Added mOverworldGenRules (brstd::optional<BiomeOverworldGenRulesData>) [BiomeOverworldGenRulesData type definition below]
76+
* Added mMultinoiseGenRules (brstd::optional<BiomeMultinoiseGenRulesData>) [BiomeMultinoiseGenRulesData type definition below]
77+
* Added mLegacyWorldGenRules (brstd::optional<BiomeLegacyWorldGenRulesData>) [BiomeLegacyWorldGenRulesData type definition below]
78+
* Added mReplaceBiomes (brstd::optional<BiomeReplacementsData>) [BiomeReplacementsData type definition below]
79+
80+
BiomeClimateData:
81+
* Added mTemperature (float)
82+
* Added mDownfall (float)
83+
* Added mRedSporeDensity (float)
84+
* Added mBlueSporeDensity (float)
85+
* Added mAshDensity (float)
86+
* Added mWhiteAshDensity (float)
87+
* Added mSnowAccumulationMin (float)
88+
* Added mSnowAccumulationMax (float)
89+
90+
BiomeConsolidatedFeaturesData:
91+
* Added mFeatures (std::vector<BiomeConsolidatedFeatureData>) [BiomeConsolidatedFeatureData type definition below]
92+
93+
BiomeConsolidatedFeatureData:
94+
* Added mScatter (BiomeScatterParamData) [BiomeScatterParamData type definition below]
95+
* Added mFeature (BiomeStringList::BiomeStringIndex)
96+
* Added mIdentifier (BiomeStringList::BiomeStringIndex)
97+
* Added mPass (BiomeStringList::BiomeStringIndex)
98+
* Added mCanUseInternalFeature (bool)
99+
100+
BiomeScatterParamData:
101+
* Added mCoordinates (std::vector<BiomeCoordinateData>) [BiomeCoordinateData type definition below]
102+
* Added mEvalOrder (SharedTypes::Comprehensive::CoordinateEvaluationOrder)
103+
* Added mChancePercentType (enum ExpressionOp) [ExpressionOp enum definition in New Enums]
104+
* Added mChancePercent (BiomeStringList::BiomeStringIndex)
105+
* Added mChanceNumerator (int32_t)
106+
* Added mChanceDenominator (int32_t)
107+
* Added mIterationsType (enum ExpressionOp)
108+
* Added miterations (BiomeStringList::BiomeStringIndex)
109+
110+
BiomeCoordinateData:
111+
* Added mMinValueType (enum ExpressionOp)
112+
* Added mMinValue (BiomeStringList::BiomeStringIndex)
113+
* Added mMaxValueType (enum ExpressionOp)
114+
* Added mMaxValue (BiomeStringList::BiomeStringIndex)
115+
* Added mGridOffset (uint32_t)
116+
* Added mGridStepSize (uint32_t)
117+
* Added mDistribution (SharedTypes::Comprehensive::RandomDistributionType)
118+
119+
BiomeMountainParamsData:
120+
* Added mSteepBlock (BlockRuntimeId)
121+
* Added mNorthSlopes (bool)
122+
* Added mSouthSlopes (bool)
123+
* Added mWestSlopes (bool)
124+
* Added mEastSlopes (bool)
125+
* Added mTopSlideEnabled (bool)
126+
127+
BiomeSurfaceMaterialAdjustmentData:
128+
* Added mAdjustments (std::vector<BiomeElementData>) [BiomeElementData type definition below]
129+
130+
BiomeElementData:
131+
* Added mNoiseFreqScale (float)
132+
* Added mNoiseLowerBound (float)
133+
* Added mNoiseUpperBound (float)
134+
* Added mHeightMinType (enum ExpressionOp)
135+
* Added mHeightMin (BiomeStringList::BiomeStringIndex)
136+
* Added mHeightMaxType (enum ExpressionOp)
137+
* Added mHeightMax (BiomeStringList::BiomeStringIndex)
138+
* Added mAdjustedMaterials (BiomeSurfaceMaterialData) [BiomeSurfaceMaterialData type definition below]
139+
140+
BiomeSurfaceMaterialData:
141+
* Added mTopBlock (BlockRuntimeId)
142+
* Added mMidBlock (BlockRuntimeId)
143+
* Added mSeaFloorBlock (BlockRuntimeId)
144+
* Added mFoundationBlock (BlockRuntimeId)
145+
* Added mSeaBlock (BlockRuntimeId)
146+
* Added mSeaFloorDepth (int)
147+
148+
BiomeMesaSurfaceData:
149+
* Added mClayMaterial (BlockRuntimeId)
150+
* Added mHardClayMaterial (BlockRuntimeId)
151+
* Added mBrycePillars (BlockRuntimeId)
152+
* Added mHasForest (BlockRuntimeId)
153+
154+
BiomeCappedSurfaceData:
155+
* Added mFloorBlocks (std::vector<BlockRuntimeId>)
156+
* Added mCeilingBlocks (std::vector<BlockRuntimeId>)
157+
* Added mSeaBlock (brstd::optional<BlockRuntimeId>)
158+
* Added mFoundationBlock (brstd::optional<BlockRuntimeId>)
159+
* Added mBeachBlock (brstd::optional<BlockRuntimeId>)
160+
161+
BiomeOverworldGenRulesData:
162+
* Added mHillsTransformations (std::vector<BiomeWeightedData>) [BiomeWeightedData type definition below]
163+
* Added mMutateTransformations (std::vector<BiomeWeightedData>)
164+
* Added mRiverTransformations (std::vector<BiomeWeightedData>)
165+
* Added mShoreTransformations (std::vector<BiomeWeightedData>)
166+
* Added mPreHillsEdge (std::vector<BiomeConditionalTransformationData>) [BiomeConditionalTransformationData type definition below]
167+
* Added mPostShoreEdge (std::vector<BiomeConditionalTransformationData>)
168+
* Added mClimate (std::vector<BiomeWeightedTemperatureData>) [BiomeWeightedTemperatureData type definition below]
169+
170+
BiomeWeightedData:
171+
* Added mBiomeIdentifier (BiomeStringList::BiomeStringIndex)
172+
* Added mWeight (uint32_t)
173+
174+
BiomeConditionalTransformationData:
175+
* Added mTransformsInto (std::vector<BiomeWeightedData>)
176+
* Added mConditionJson (BiomeStringList::BiomeStringIndex)
177+
* Added mMinPassingNeighbors (uint32_t)
178+
179+
BiomeWeightedTemperatureData:
180+
* Added mTemperature (enum BiomeTemperatureCategory) [BiomeTemperatureCategory enum definition in New Enums]
181+
* Added mWeight (uint32_t)
182+
183+
BiomeMultinoiseGenRulesData:
184+
* Added mTemperature (float)
185+
* Added mHumidity (float)
186+
* Added mAltitude (float)
187+
* Added mWeirdness (float)
188+
* Added mWeight (float)
189+
190+
BiomeLegacyWorldGenRulesData:
191+
* Added mLegacyPreHillsEdge (std::vector<BiomeConditionalTransformationData>)
192+
193+
BiomeReplacementsData:
194+
* Added mBiomeReplacements (std::vector<BiomeReplacementData>) [BiomeReplacementData type definition below]
195+
196+
BiomeReplacementData:
197+
* Added mReplacementBiome (BiomeStringList::BiomeStringIndex)
198+
* Added mDimension (BiomeStringList::BiomeStringIndex)
199+
* Added mTargetBiomes (std::vector<BiomeStringList::BiomeStringIndex>)
200+
* Added mAmount (float)
201+
* Added mNoiseFrequencyScale (float)
202+
* Added mReplacementIndex (uint32_t)
203+
204+
BiomeStringList:
205+
* Added mAllStrings (std::unordered_map<std::string, BiomeStringList::BiomeStringIndex>)
206+
* Added mStrings (std::vector<std::string>)
207+
208+
209+
## Other Changes to Types
210+
211+
PlayerListEntry:
212+
* Added mColor (mce::Color)
213+
214+
215+
## New Enums
216+
217+
ControlScheme::Scheme:
218+
* Added LockedPlayerRelativeStrafe (0) []
219+
* Added CameraRelative (1) []
220+
* Added CameraRelativeStrafe (2) []
221+
* Added PlayerRelative (3) []
222+
* Added PlayerRelativeStrafe (4) []
223+
224+
ExpressionOp:
225+
* Added Unknown (-1) []
226+
* Added LeftBrace (0) []
227+
* Added RightBrace (1) []
228+
* Added LeftBracket (2) []
229+
* Added RightBracket (3) []
230+
* Added LeftParenthesis (4) []
231+
* Added RightParenthesis (5) []
232+
* Added Negate (6) []
233+
* Added LogicalNot (7) []
234+
* Added Abs (8) []
235+
* Added Add (9) []
236+
* Added Acos (10) []
237+
* Added Asin (11) []
238+
* Added Atan (12) []
239+
* Added Atan2 (13) []
240+
* Added Ceil (14) []
241+
* Added Clamp (15) []
242+
* Added CopySign (16) []
243+
* Added Cos (17) []
244+
* Added DieRoll (18) []
245+
* Added DieRollInt (19) []
246+
* Added Div (20) []
247+
* Added Exp (21) []
248+
* Added Floor (22) []
249+
* Added HermiteBlend (23) []
250+
* Added Lerp (24) []
251+
* Added LerpRotate (25) []
252+
* Added Ln (26) []
253+
* Added Max (27) []
254+
* Added Min (28) []
255+
* Added MinAngle (29) []
256+
* Added Mod (30) []
257+
* Added Mul (31) []
258+
* Added Pow (32) []
259+
* Added Random (33) []
260+
* Added RandomInt (34) []
261+
* Added Round (35) []
262+
* Added Sin (36) []
263+
* Added Sign (37) []
264+
* Added Sqrt (38) []
265+
* Added Trunc (39) []
266+
* Added QueryFunction (40) []
267+
* Added ArrayVariable (41) []
268+
* Added ContextVariable (42) []
269+
* Added EntityVariable (43) []
270+
* Added TempVariable (44) []
271+
* Added MemberAccessor (45) []
272+
* Added HashedStringHash (46) []
273+
* Added GeometryVariable (47) []
274+
* Added MaterialVariable (48) []
275+
* Added TextureVariable (49) []
276+
* Added LessThan (50) []
277+
* Added LessEqual (51) []
278+
* Added GreaterEqual (52) []
279+
* Added GreaterThan (53) []
280+
* Added LogicalEqual (54) []
281+
* Added LogicalNotEqual (55) []
282+
* Added LogicalOr (56) []
283+
* Added LogicalAnd (57) []
284+
* Added NullCoalescing (58) []
285+
* Added Conditional (59) []
286+
* Added ConditionalElse (60) []
287+
* Added Float (61) []
288+
* Added Pi (62) []
289+
* Added Array (63) []
290+
* Added Geometry (64) []
291+
* Added Material (65) []
292+
* Added Texture (66) []
293+
* Added Loop (67) []
294+
* Added ForEach (68) []
295+
* Added Break (69) []
296+
* Added Continue (70) []
297+
* Added Assignment (71) []
298+
* Added Pointer (72) []
299+
* Added Semicolon (73) []
300+
* Added Return (74) []
301+
* Added Comma (75) []
302+
* Added This (76) []
303+
* Added Internal_NonEvaluatedArray (77) []
304+
* Added Count (78) []
305+
306+
PlayerLocationPacket::Type:
307+
* Added PLAYER_LOCATION_COORDINATES (0) []
308+
* Added PLAYER_LOCATION_HIDE (1) []
309+
310+
SharedTypes::v1_21_10::CoordinateEvaluationOrder:
311+
* Added XYZ (0) []
312+
* Added XZY (1) []
313+
* Added YXZ (2) []
314+
* Added YZX (3) []
315+
* Added ZXY (4) []
316+
* Added ZYX (5) []
317+
318+
SharedTypes::v1_21_10::RandomDistributionType:
319+
* Added SingleValued (0) []
320+
* Added Uniform (1) []
321+
* Added Gaussian (2) []
322+
* Added InverseGaussian (3) []
323+
* Added FixedGrid (4) []
324+
* Added JitteredGrid (5) []
325+
* Added Triangle (6) []
326+
327+
328+
## Enum Changes
329+
ActorDataIDs:
330+
* Added SEAT_THIRD_PERSON_CAMERA_RADIUS (134) []
331+
* Added SEAT_CAMERA_RELAX_DISTANCE_SMOOTHING (135) []
332+
* Displaced Count
333+
334+
ActorFlags:
335+
* Added DOES_SERVER_AUTH_ONLY_DISMOUNT (123) []
336+
* Displaced Count
337+
338+
ActorType:
339+
* Added HappyGhast (147 | Animal) []
340+
341+
AnimatePacket::Action:
342+
* Removed RowRight
343+
* Removed RowLeft
344+
345+
Connection::DisconnectFailReason:
346+
* Added AsyncJoinTaskDenied (118) []
347+
348+
Editor::WorldType:
349+
* Added EditorRealmsUpload (3) []
350+
351+
MinecraftPacketIds:
352+
* Added PassengerJump_Deprecated (20) []
353+
* Added PlayerInput_Deprecated (57) []
354+
* Added CompressedBiomeDefinitionList_DEPRECATED (301) []
355+
* Added PlayerLocation (326) []
356+
* Added ClientboundControlSchemeSetPacket (327) []
357+
* Changed EndId from 326 to 328
358+
* Removed PassengerJump
359+
* Removed PlayerInput
360+
* Removed CompressedBiomeDefinitionList
361+
362+
ServerAuthMovementMode:
363+
* Added LegacyClientAuthoritativeV1_Deprecated (0) []
364+
* Removed LegacyClientAuthoritativeV1
365+

0 commit comments

Comments
 (0)