Skip to content

📡 네트워크 동기화 및 페이로드 (Minecraft 26.3)

📌 저장소 소스 면책 조항: 본 위키의 문서는 CurseForge 및 Modrinth의 공개 릴리스 빌드보다 앞선 최신 미출시 커밋이나 개발 기능을 포함할 수 있는 저장소의 현재 소스 코드 상태를 반영합니다.

1. Official Infobox

ParameterTechnical Details
Subsystem NameNetwork Synchronization Protocol
Payload ClassStewLimitSyncPayload.java
Payload Identifierstew-stacker:sync_limit
Protocol PhasePlay (clientbound S2C)
Codec ImplementationStreamCodec<RegistryFriendlyByteBuf, StewLimitSyncPayload>
Client ReceiverStewStackerFabricClient.java
Server Dispatch EventsServerPlayConnectionEvents.JOIN, DynamicGameRuleManager listener
Menu SynchronizationbroadcastFullState() on containerMenu and inventoryMenu

2. Step-by-Step Player Workflow & Synchronization Lifecycle

  1. Initial Player Connection (Handshake): When a player connects to the dedicated server, ServerPlayConnectionEvents.JOIN triggers. The server queries current active limits from StewStackerManager and sends a StewLimitSyncPayload to the connecting client.

  2. Client-Side State Storage: Upon packet receipt on the client, StewStackerFabricClient queues a task on the Minecraft client render thread (context.client().execute(...)) to update StewStackerManager.setClientLimit(stewLimit).

  3. In-Game Administrator Mutation: An administrator executes /gamerule stew-stacker-addon:stew_limit 32. DynamicGameRuleManager detects the change and invokes StewStackerManager.setLimit(...).

  4. Full Multi-Client Broadcast & Menu Refresh: The server loops through all online players (server.getPlayerList().getPlayers()), dispatches StewLimitSyncPayload, and invokes broadcastFullState() on container and inventory menus.


3. Mathematical Formulas & Network Bandwidth

$$B = \text{VarIntBytes}(S_{\text{limit}})$$

For default settings ($S = 16$): $$B = 1\text{ byte}$$

Even at the maximum safe limit ($39{,}768{,}215$): $$B = 4\text{ bytes}$$


4. Visual ASCII Diagrams & Packet Lifecycle

   [ Client ]                                               [ Dedicated Server ]
       |                                                             |
       |----------------- C2S Login / Handshake -------------------->|
       |                                                             |
       |                                              ServerPlayConnectionEvents.JOIN
       |                                                             |
       |                                              Query StewStackerManager
       |                                                sLimit=16
       |                                                             |
       |<--- S2C StewLimitSyncPayload(16) ---------------------------|
       |
   Receive Packet
   context.client().execute()
   StewStackerManager.setClientLimit(16)
       |
   Client GUI & Tooltips Synchronized

5. 전역 및 외부 내비게이션

Official documentation & web portal for Dasik Igaijinn mods.