Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
ServerNetworkHandler.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/certificates/identity/PlayerAuthenticationInfo.h"
7#include "mc/client/network/blob_cache/client_blob_cache/TransferBuilder.h"
8#include "mc/common/SubClientId.h"
9#include "mc/comprehensive/ParticleType.h"
10#include "mc/deps/core/minecraft/threading/EnableQueueForMainThread.h"
11#include "mc/deps/core/resource/PackIdVersion.h"
12#include "mc/deps/core/threading/SharedAsync.h"
13#include "mc/deps/core/utility/NonOwnerPointer.h"
14#include "mc/deps/core/utility/ServiceReference.h"
15#include "mc/deps/core/utility/optional_ref.h"
16#include "mc/deps/core/utility/pub_sub/Connector.h"
17#include "mc/deps/core/utility/pub_sub/Publisher.h"
18#include "mc/deps/game_refs/OwnerPtr.h"
19#include "mc/events/event_data/ServerTelemetryData.h"
20#include "mc/network/IncomingPacketFilterResult.h"
21#include "mc/network/MinecraftPacketIds.h"
22#include "mc/network/NetEventCallback.h"
23#include "mc/network/NetworkIdentifier.h"
24#include "mc/network/NetworkIdentifierWithSubId.h"
25#include "mc/network/NetworkServerConfig.h"
26#include "mc/network/OutgoingPacketFilterResult.h"
27#include "mc/network/PacketViolationResponse.h"
28#include "mc/network/ServerNetworkHandlerDependencies.h"
29#include "mc/network/XboxLiveUserObserver.h"
30#include "mc/network/connection/DisconnectFailReason.h"
31#include "mc/network/connection/DisconnectionStage.h"
32#include "mc/platform/MultiplayerServiceObserver.h"
33#include "mc/platform/UUID.h"
34#include "mc/server/DenyList.h"
35#include "mc/server/ServerPlayerLoader.h"
36#include "mc/server/ServerTextEvent.h"
37#include "mc/server/config/server_configuration/ServerConfigurationJoinInfo.h"
38#include "mc/world/level/IPlayerConnectionConnector.h"
39#include "mc/world/level/LevelListener.h"
40
41// auto generated forward declare list
42// clang-format off
43class Abilities;
46class AllowList;
47class AnimatePacket;
49class AppConfigs;
54class BlockPos;
55class BlockSource;
56class BookEditPacket;
57class BossEventPacket;
72class DebugInfoPacket;
74class EditorAllowList;
76class EmoteListPacket;
77class EmotePacket;
78class EntityContext;
79class GameCallbacks;
83class IEduSystems;
84class ILevel;
85class IMinecraftApp;
87class InteractPacket;
90class KeyManager;
91class LabTablePacket;
94class LoginPacket;
104class NpcRequestPacket;
105class Packet;
106class PacketSender;
109class PermissionsFile;
112class Player;
116class PlayerSkinPacket;
129class RespawnPacket;
130class Scheduler;
136class ServerLocator;
138class ServerPlayer;
163class TaskGroup;
165class TextPacket;
168class Vec3;
169struct ActorUniqueID;
170struct AsyncJoinAllow;
171struct AsyncJoinDeny;
172struct DimensionType;
174struct MessToken;
175namespace Automation { class AutomationClient; }
176namespace Bedrock::PubSub::ThreadModel { struct MultiThreaded; }
177namespace Bedrock::Safety { class RedactableString; }
178namespace ClientBlobCache::Server { class ActiveTransfersManager; }
179namespace Json { class Value; }
180namespace ResourcePackPathLifetimeHelpers { class ResourcePackPathCache; }
181namespace Social { class GameConnectionInfo; }
182namespace Social { struct Nonce; }
183namespace Social { struct OnlineId; }
184// clang-format on
185
186class ServerNetworkHandler : public ::Bedrock::Threading::EnableQueueForMainThread,
187 public ::NetEventCallback,
188 public ::LevelListener,
192public:
193 // ServerNetworkHandler inner types declare
194 // clang-format off
195 class Client;
197 // clang-format on
198
199 // ServerNetworkHandler inner types define
200 class Client {
201 public:
202 // Client inner types define
203 enum class LoginState : uchar {
204 AwaitingHandshake = 0,
205 AwaitingPlayerSpawn = 1,
206 PlayerSpawned = 2,
207 };
208
209 public:
210 // member variables
211 // NOLINTBEGIN
212 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ConnectionRequest>> mPrimaryRequest;
213 ::ll::TypedStorage<8, 384, ::PlayerAuthenticationInfo> mPrimaryPlayerInfo;
214 ::ll::TypedStorage<8, 32, ::std::string> mClientInfoPartyId;
215 ::ll::TypedStorage<8, 64, ::std::unordered_map<::SubClientId, ::PlayerAuthenticationInfo>> mSubClientPlayerInfo;
216 ::ll::TypedStorage<1, 1, ::ServerNetworkHandler::Client::LoginState> mLoginState;
217 // NOLINTEND
218
219 public:
220 // prevent constructor by default
221 Client();
222
223 public:
224 // member functions
225 // NOLINTBEGIN
226 MCAPI
227 Client(::std::unique_ptr<::ConnectionRequest> primaryRequest, ::PlayerAuthenticationInfo primaryPlayerInfo);
228
229 MCAPI void addSubClientPlayerInfo(::SubClientId subClientId, ::PlayerAuthenticationInfo playerInfo);
230 // NOLINTEND
231
232 public:
233 // constructor thunks
234 // NOLINTBEGIN
235 MCAPI void*
236 $ctor(::std::unique_ptr<::ConnectionRequest> primaryRequest, ::PlayerAuthenticationInfo primaryPlayerInfo);
237 // NOLINTEND
238 };
239
241 public:
242 // member variables
243 // NOLINTBEGIN
244 ::ll::TypedStorage<8, 248, ::ClientBlobCache::Server::TransferBuilder> mTransferBuilder;
245 // NOLINTEND
246 };
247
248public:
249 // member variables
250 // NOLINTBEGIN
251 ::ll::TypedStorage<
252 8,
253 64,
254 ::std::unordered_map<::NetworkIdentifier, ::std::unique_ptr<::ServerNetworkHandler::Client>>>
255 mClients;
256 ::ll::TypedStorage<8, 8, ::GameCallbacks&> mGameCallbacks;
257 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::ILevel>> mLevel;
258 ::ll::TypedStorage<8, 24, ::ServerPlayerLoader> mPlayerLoader;
259 ::ll::TypedStorage<8, 8, ::ServerNetworkSystem&> mNetwork;
260 ::ll::TypedStorage<8, 8, ::PrivateKeyManager&> mServerKeys;
261 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::ServerAudioContentRegistrationHandler>>>
262 mAudioContentRegistrationHandler;
263 ::ll::TypedStorage<8, 8, ::ServerLocator&> mServerLocator;
264 ::ll::TypedStorage<8, 8, ::gsl::not_null<::PacketSender*>> mPacketSender;
265 ::ll::TypedStorage<8, 8, ::AllowList&> mAllowList;
266 ::ll::TypedStorage<8, 8, ::EditorAllowList&> mEditorAllowList;
267 ::ll::TypedStorage<8, 8, ::PermissionsFile*> mPermissionsFile;
268 ::ll::TypedStorage<8, 104, ::DenyList> mServerDenyList;
269 ::ll::TypedStorage<8, 72, ::NetworkServerConfig> mNetworkServerConfig;
270 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::ScriptPackSettingsCache>> mPackSettingsCache;
271 ::ll::TypedStorage<1, 1, bool> mHasDisplayedPackErrors;
272 ::ll::TypedStorage<8, 176, ::NetworkIdentifier> mMyId;
273 ::ll::TypedStorage<4, 4, int const> mMaxChunkRadius;
274 ::ll::TypedStorage<8, 8, ::MinecraftCommands&> mMinecraftCommands;
275 ::ll::TypedStorage<8, 8, ::IMinecraftApp&> mApp;
276 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::TextFilteringProcessor>> mTextFilteringProcessor;
277 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ClientBlobCache::Server::ActiveTransfersManager>> mClientCacheManager;
278 ::ll::TypedStorage<8, 64, ::std::unordered_map<::NetworkIdentifierWithSubId, ::Json::Value>>
279 mServerStorageForClientsConnectingAttempt;
280 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::Social::Nonce>> mPlayerNonces;
281 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ClassroomModeNetworkHandler>> mCompanionHandler;
282 ::ll::TypedStorage<8, 80, ::std::mutex> mValidatePlayerMutex;
283 ::ll::TypedStorage<1, 1, bool> mAllowIncoming;
284 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::IServerNetworkController>> mServerNetworkController;
285 ::ll::TypedStorage<8, 32, ::std::string> mServerName;
286 ::ll::TypedStorage<4, 4, int> mMaxNumPlayers;
287 ::ll::TypedStorage<8, 64, ::std::unordered_set<::mce::UUID>> mKnownEmotePieceIdLookup;
288 ::ll::TypedStorage<8, 24, ::std::vector<::mce::UUID>> mKnownEmotePieceIds;
289 ::ll::TypedStorage<
290 8,
291 64,
292 ::std::unordered_map<
293 uint64,
294 ::std::unordered_map<::std::string, ::std::shared_ptr<::ResourcePackFileUploadManager>>>>
295 mResourceUploadManagers;
296 ::ll::TypedStorage<8, 16, ::gsl::not_null<::std::shared_ptr<::Bedrock::Threading::SharedAsync<void>>>>
297 mPreviousUpload;
298 ::ll::
299 TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::ResourcePackPathLifetimeHelpers::ResourcePackPathCache>>>
300 mResourcePackPathCache;
301 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::ServerConnectionAuthValidator>>>
302 mConnectionAuthValidator;
303 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::TaskGroup>>> mNetworkTaskGroup;
304 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::AsyncJoinTaskManager>>> mAsyncJoinTaskManager;
305 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::TaskGroup>> mIOTaskGroup;
306 ::ll::TypedStorage<1, 1, bool> mIsTrial;
307 ::ll::TypedStorage<8, 64, ::std::unordered_map<::PackIdVersion, ::std::string>> mPackIdToContentKey;
308 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::GameSpecificNetEventCallback>> mGameSpecificNetEventCallback;
309 ::ll::TypedStorage<
310 8,
311 64,
312 ::std::unordered_map<::NetworkIdentifier, ::std::unique_ptr<::ServerNetworkHandler::TransferBuilderBatcher>>>
313 mTransferBuilderBatcher;
314 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::GameTestNetworkAdapter>> mGameTestAdapter;
315 ::ll::TypedStorage<8, 40, ::ServiceReference<::AppConfigs>> mAppConfigs;
316 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::BiomeDefinitionListPacket const>> mBiomeDefinitionListWithoutCSCG;
317 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::BiomeDefinitionListPacket const>> mBiomeDefinitionListWithCSCG;
318 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::IEduSystems>> mEduSystems;
319 ::ll::TypedStorage<8, 384, ::std::optional<::ServerConfiguration::ServerConfigurationJoinInfo>>
320 mServerConfigurationJoinInfo;
321 ::ll::TypedStorage<8, 128, ::Social::Events::ServerTelemetryData> mServerTelemetryData;
322 ::ll::TypedStorage<8, 256, ::ServerNetworkHandlerDependencies const> mDependencies;
323 ::ll::TypedStorage<
324 8,
325 128,
327 mOnPlayerDisconnected;
328 ::ll::TypedStorage<
329 8,
330 128,
331 ::Bedrock::PubSub::
333 mOnPlayerNetworkDisconnected;
334 ::ll::TypedStorage<
335 8,
336 128,
338 void(::NetworkIdentifierWithSubId const&, ::BlockPos const&, uint, ::DimensionType),
340 0>>
341 mOnPlayerNetworkConnected;
342 // NOLINTEND
343
344public:
345 // prevent constructor by default
346 ServerNetworkHandler& operator=(ServerNetworkHandler const&);
347 ServerNetworkHandler(ServerNetworkHandler const&);
348 ServerNetworkHandler();
349
350public:
351 // virtual functions
352 // NOLINTBEGIN
353 virtual ~ServerNetworkHandler() /*override*/ = default;
354
355 virtual void onValidPacketReceived(
356 ::NetworkIdentifier const& netId,
357 ::MinecraftPacketIds packetId,
358 ::SubClientId senderSubId,
359 ::SubClientId
360 ) /*override*/;
361
362 virtual void onWebsocketRequest(
363 ::std::string const& serverAddress,
364 ::std::string const& payload,
365 ::std::function<void()> errorCallback
366 ) /*override*/;
367
368 virtual ::Bedrock::PubSub::Connector<void(::NetworkIdentifierWithSubId const&)>&
369 getOnPlayerNetworkDisconnectedConnector() /*override*/;
370
371 virtual ::Bedrock::PubSub::Connector<
372 void(::NetworkIdentifierWithSubId const&, ::BlockPos const&, uint, ::DimensionType)>&
373 getOnPlayerNetworkConnectedConnector() /*override*/;
374
375 virtual void onInvalidPlayerJoinedLobby(::mce::UUID const& uuid, ::std::string const& xuid) /*override*/;
376
377 virtual void onPlayerJoinedLobby(::Social::OnlineId const& player, ::Social::Nonce const& nonce) /*override*/;
378
379 virtual void onPlayerLeftLobby(::Social::OnlineId const&) /*override*/;
380
381 virtual void onXboxUserBlocked(::std::string const& xuid) /*override*/;
382
383 virtual void onXboxUserUnblocked(::std::string const& xuid) /*override*/;
384
385 virtual void onPlayerReady(::Player& player) /*override*/;
386
387 virtual void handlePacketViolation(
388 ::std::shared_ptr<::IPacketSecurityController> const& packetSecurityController,
389 ::std::error_code const& errorCode,
390 ::PacketViolationResponse const response,
391 ::MinecraftPacketIds const packetId,
392 ::std::string&& context,
393 ::NetworkIdentifier const& netId,
394 ::SubClientId const clientSubId,
395 ::SubClientId const senderSubId,
396 uint const packetSize
397 ) /*override*/;
398
399 virtual void sendPacketViolationWarningPacket(
400 ::std::error_code const& errorCode,
401 ::PacketViolationResponse violationResponse,
402 ::MinecraftPacketIds violatingPacketId,
403 ::std::string const& context,
404 ::NetworkIdentifier const& netId,
405 ::SubClientId clientSubId
406 ) /*override*/;
407
408 virtual void sendServerLegacyParticle(::ParticleType name, ::Vec3 const& pos, ::Vec3 const&, int data) /*override*/;
409
410 virtual void
411 onTransferRequest(::NetworkIdentifier const& id, ::Social::GameConnectionInfo const& destination) /*override*/;
412
413 virtual void onDisconnect(
414 ::NetworkIdentifier const& id,
415 ::Connection::DisconnectFailReason const discoReason,
416 ::Connection::DisconnectionStage const disconnectStage,
417 ::std::string const& messageFromServer,
418 ::std::string const& messageBodyOverride,
419 bool skipMessage,
420 ::std::string const& telemetryOverride
421 ) /*override*/;
422
423 virtual ::IncomingPacketFilterResult allowIncomingPacketId(
424 ::NetworkIdentifierWithSubId const& sender,
425 ::MinecraftPacketIds packetId,
426 uint64 packetSize
427 ) /*override*/;
428
429 virtual ::OutgoingPacketFilterResult
430 allowOutgoingPacket(::std::vector<::NetworkIdentifierWithSubId> const& ids, ::Packet const& packet) /*override*/;
431
432 virtual void handle(::NetworkIdentifier const& source, ::ActorEventPacket const& packet) /*override*/;
433
434 virtual void handle(::NetworkIdentifier const& source, ::ActorPickRequestPacket const& packet) /*override*/;
435
436 virtual void handle(::NetworkIdentifier const& source, ::AnimatePacket const& packet) /*override*/;
437
438 virtual void
439 handle(::NetworkIdentifier const& source, ::std::shared_ptr<::BlockActorDataPacket> packet) /*override*/;
440
441 virtual void handle(::NetworkIdentifier const& source, ::BlockPickRequestPacket const& packet) /*override*/;
442
443 virtual void handle(::NetworkIdentifier const& source, ::LecternUpdatePacket const& packet) /*override*/;
444
445 virtual void handle(::NetworkIdentifier const& source, ::BookEditPacket const& packet) /*override*/;
446
447 virtual void handle(::NetworkIdentifier const& source, ::BossEventPacket const& packet) /*override*/;
448
449 virtual void handle(::NetworkIdentifier const& source, ::ClientCameraAimAssistPacket const& packet) /*override*/;
450
451 virtual void handle(::NetworkIdentifier const& source, ::ClientCacheStatusPacket const& packet) /*override*/;
452
453 virtual void handle(::NetworkIdentifier const& source, ::ClientCacheBlobStatusPacket const& packet) /*override*/;
454
455 virtual void
456 handle(::NetworkIdentifier const& source, ::ClientMovementPredictionSyncPacket const& packet) /*override*/;
457
458 virtual void handle(::NetworkIdentifier const& source, ::ClientToServerHandshakePacket const& packet) /*override*/;
459
460 virtual void handle(::NetworkIdentifier const& source, ::CommandBlockUpdatePacket const& packet) /*override*/;
461
462 virtual void handle(::NetworkIdentifier const& source, ::CommandRequestPacket const& packet) /*override*/;
463
464 virtual void handle(::NetworkIdentifier const& source, ::CompletedUsingItemPacket const& packet) /*override*/;
465
466 virtual void
467 handle(::NetworkIdentifier const& source, ::ServerboundCursorItemDragPacket const& packet) /*override*/;
468
469 virtual void handle(::NetworkIdentifier const& source, ::ContainerClosePacket const& packet) /*override*/;
470
471 virtual void handle(::NetworkIdentifier const& source, ::DebugInfoPacket const& packet) /*override*/;
472
473 virtual void handle(::NetworkIdentifier const& source, ::CreatePhotoPacket const& packet) /*override*/;
474
475 virtual void handle(::NetworkIdentifier const& source, ::DisconnectPacket const& packet) /*override*/;
476
477 virtual void handle(::NetworkIdentifier const& source, ::EmoteListPacket const& packet) /*override*/;
478
479 virtual void handle(::NetworkIdentifier const& source, ::EmotePacket const& packet) /*override*/;
480
481 virtual void handle(::NetworkIdentifier const& source, ::InteractPacket const& packet) /*override*/;
482
483 virtual void
484 handle(::NetworkIdentifier const& source, ::std::shared_ptr<::InventoryTransactionPacket> packet) /*override*/;
485
486 virtual void handle(::NetworkIdentifier const& source, ::ItemStackRequestPacket const& packet) /*override*/;
487
488 virtual void handle(::NetworkIdentifier const& source, ::LabTablePacket const& packet) /*override*/;
489
490 virtual void handle(::NetworkIdentifier const& source, ::LevelSoundEventPacket const& packet) /*override*/;
491
492 virtual void handle(::NetworkIdentifier const& source, ::std::shared_ptr<::LoginPacket> packet) /*override*/;
493
494 virtual void handle(::NetworkIdentifier const& source, ::PartyChangedPacket const& packet) /*override*/;
495
496 virtual void handle(::NetworkIdentifier const& source, ::MapCreateLockedCopyPacket const& packet) /*override*/;
497
498 virtual void handle(::NetworkIdentifier const& source, ::MapInfoRequestPacket const& packet) /*override*/;
499
500 virtual void handle(::NetworkIdentifier const& source, ::std::shared_ptr<::MobEquipmentPacket> packet) /*override*/;
501
502 virtual void handle(::NetworkIdentifier const& source, ::ModalFormResponsePacket const& packet) /*override*/;
503
504 virtual void handle(::NetworkIdentifier const& source, ::NetworkStackLatencyPacket const& packet) /*override*/;
505
506 virtual void handle(::NetworkIdentifier const& source, ::NpcRequestPacket const& packet) /*override*/;
507
508 virtual void handle(::NetworkIdentifier const& source, ::PhotoTransferPacket const& packet) /*override*/;
509
510 virtual void handle(::NetworkIdentifier const& source, ::PlayerActionPacket const& packet) /*override*/;
511
512 virtual void handle(::NetworkIdentifier const& source, ::PlayerAuthInputPacket const& packet) /*override*/;
513
514 virtual void handle(::NetworkIdentifier const& source, ::PlayerHotbarPacket const& packet) /*override*/;
515
516 virtual void handle(::NetworkIdentifier const& source, ::PlayerSkinPacket const& packet) /*override*/;
517
518 virtual void
519 handle(::NetworkIdentifier const& source, ::PlayerToggleCrafterSlotRequestPacket const& packet) /*override*/;
520
521 virtual void
522 handle(::NetworkIdentifier const& source, ::PositionTrackingDBClientRequestPacket const& packet) /*override*/;
523
524 virtual void handle(::NetworkIdentifier const& source, ::PurchaseReceiptPacket const& packet) /*override*/;
525
526 virtual void handle(
527 ::NetworkIdentifier const& source,
528 ::std::shared_ptr<::ServerboundRegisterAudioContentPacket> packet
529 ) /*override*/;
530
531 virtual void handle(::NetworkIdentifier const& source, ::RequestChunkRadiusPacket const& packet) /*override*/;
532
533 virtual void handle(::NetworkIdentifier const& source, ::ResourcePackChunkRequestPacket const& packet) /*override*/;
534
535 virtual void handle(::NetworkIdentifier const&, ::ResourcePacksReadyForValidationPacket const&) /*override*/;
536
537 virtual void handle(::NetworkIdentifier const& source, ::RespawnPacket const& packet) /*override*/;
538
539 virtual void handle(::NetworkIdentifier const& source, ::SetDefaultGameTypePacket const& packet) /*override*/;
540
541 virtual void handle(::NetworkIdentifier const& source, ::SetDifficultyPacket const& packet) /*override*/;
542
543 virtual void
544 handle(::NetworkIdentifier const& source, ::SetLocalPlayerAsInitializedPacket const& packet) /*override*/;
545
546 virtual void handle(::NetworkIdentifier const& source, ::SetPlayerGameTypePacket const& packet) /*override*/;
547
548 virtual void handle(::NetworkIdentifier const& source, ::UpdatePlayerGameTypePacket const& packet) /*override*/;
549
550 virtual void handle(::NetworkIdentifier const& source, ::ScriptMessagePacket const& packet) /*override*/;
551
552 virtual void
553 handle(::NetworkIdentifier const& source, ::PartyDestinationCookieResponsePacket const& packet) /*override*/;
554
555 virtual void handle(::NetworkIdentifier const& source, ::ShowCreditsPacket const& packet) /*override*/;
556
557 virtual void handle(::NetworkIdentifier const& source, ::SimpleEventPacket const& packet) /*override*/;
558
559 virtual void handle(::NetworkIdentifier const& source, ::SpawnExperienceOrbPacket const& packet) /*override*/;
560
561 virtual void handle(::NetworkIdentifier const& source, ::StructureBlockUpdatePacket const& packet) /*override*/;
562
563 virtual void
564 handle(::NetworkIdentifier const& source, ::StructureTemplateDataRequestPacket const& packet) /*override*/;
565
566 virtual void
567 handle(::NetworkIdentifier const& source, ::std::shared_ptr<::SubClientLoginPacket> packet) /*override*/;
568
569 virtual void handle(::NetworkIdentifier const& source, ::TextPacket const& packet) /*override*/;
570
571 virtual void handle(::NetworkIdentifier const& source, ::MultiplayerSettingsPacket const& packet) /*override*/;
572
573 virtual void handle(::NetworkIdentifier const& source, ::SettingsCommandPacket const& packet) /*override*/;
574
575 virtual void handle(::NetworkIdentifier const& source, ::AnvilDamagePacket const& packet) /*override*/;
576
577 virtual void handle(::NetworkIdentifier const& source, ::SubChunkRequestPacket const& packet) /*override*/;
578
579 virtual void handle(::NetworkIdentifier const& source, ::CodeBuilderSourcePacket const& packet) /*override*/;
580
581 virtual void handle(::NetworkIdentifier const&, ::ChangeMobPropertyPacket const& packet) /*override*/;
582
583 virtual void handle(::NetworkIdentifier const& source, ::RequestAbilityPacket const& packet) /*override*/;
584
585 virtual void handle(::NetworkIdentifier const& source, ::RequestNetworkSettingsPacket const& packet) /*override*/;
586
587 virtual void handle(::NetworkIdentifier const& source, ::RequestPermissionsPacket const& packet) /*override*/;
588
589 virtual void handle(::NetworkIdentifier const& source, ::EditorNetworkPacket const& packet) /*override*/;
590
591 virtual void handle(::NetworkIdentifier const& source, ::GameTestRequestPacket const& packet) /*override*/;
592
593 virtual void
594 handle(::NetworkIdentifier const& source, ::SetPlayerInventoryOptionsPacket const& packet) /*override*/;
595
596 virtual void handle(::NetworkIdentifier const& source, ::SetPlayerFurnaceOptionsPacket const& packet) /*override*/;
597
598 virtual void handle(::NetworkIdentifier const& source, ::ServerboundLoadingScreenPacket const& packet) /*override*/;
599
600 virtual void handle(::NetworkIdentifier const& source, ::ServerboundDiagnosticsPacket const& packet) /*override*/;
601
602 virtual void handle(::NetworkIdentifier const& source, ::UpdateClientOptionsPacket const& packet) /*override*/;
603
604 virtual void
605 handle(::NetworkIdentifier const& source, ::ServerboundPackSettingChangePacket const& packet) /*override*/;
606
607 virtual void handle(::NetworkIdentifier const& source, ::ServerboundDataStorePacket const& packet) /*override*/;
608
609 virtual void
610 handle(::NetworkIdentifier const& source, ::ServerboundDataDrivenScreenClosedPacket const& packet) /*override*/;
611
612 virtual void
613 handle(::NetworkIdentifier const& source, ::ServerboundStonecutterSetRecipePacket const& packet) /*override*/;
614
615 virtual void
616 handle(::NetworkIdentifier const& source, ::ServerboundMatchmakingCancelPacket const& packet) /*override*/;
617
618 virtual void sendSubClientLoginMessageLocal(
619 ::NetworkIdentifier const& source,
620 ::SubClientConnectionRequest const& connectionRequest,
621 ::PlayerAuthenticationInfo const& playerInfo,
622 ::SubClientId subid
623 );
624
625 virtual void onTick() /*override*/;
626
627 virtual ::GameSpecificNetEventCallback* getGameSpecificNetEventCallback() /*override*/;
628
629 virtual void onConnect(::NetworkIdentifier const& id) /*override*/;
630
631 virtual void completeHandshake(::NetworkIdentifier const& source);
632
633 virtual ::std::optional<::PlayerAuthenticationInfo>
634 _validateLoginPacket(::NetworkIdentifier const& source, ::LoginPacket const& packet);
635
636 virtual void _onClientAsyncAuthorized(
637 ::NetworkIdentifier const& source,
638 ::ConnectionRequest const& request,
639 ::PlayerAuthenticationInfo const& playerInfo,
640 ::std::optional<::MessToken> const& hostMessToken
641 );
642
643 virtual ::ServerPlayer* _getServerPlayer(::NetworkIdentifier const& source, ::SubClientId subId);
644 // NOLINTEND
645
646public:
647 // member functions
648 // NOLINTBEGIN
649 MCAPI ServerNetworkHandler(
650 ::GameCallbacks& gameCallbacks,
652 ::std::optional<::ServerConfiguration::ServerConfigurationJoinInfo> const& serverJoinInfo,
653 ::Social::Events::ServerTelemetryData const& serveTelemetryData,
654 ::ServerNetworkSystem& network,
655 ::PrivateKeyManager& serverKeys,
656 ::Bedrock::NotNullNonOwnerPtr<::MinecraftServiceKeyManager> minecraftServiceKeys,
657 ::ServerLocator& serverLocator,
658 ::PacketSender& packetSender,
659 ::AllowList& allowList,
660 ::EditorAllowList& editorAllowList,
661 ::PermissionsFile* permissionsFile,
662 ::KeyManager const& hostPublicKey,
663 int maxChunkRadius,
664 int maxNumPlayers,
665 ::MinecraftCommands& commandHandler,
666 ::IMinecraftApp& app,
667 ::std::unordered_map<::PackIdVersion, ::std::string> const& packIdToContentKey,
668 ::Scheduler& scheduler,
672 ::NetworkServerConfig networkServerConfig,
673 ::std::shared_ptr<::ScriptPackSettingsCache> packSettingsCache,
675 );
676
677 MCAPI ::std::string _extractFirstConnectionData(::NetworkIdentifierWithSubId const& source);
678
679 MCAPI int _getActiveAndInProgressPlayerCount(::mce::UUID excludePlayer) const;
680
681 MCAPI ::std::optional<::MessToken> _getJoinerMessToken(::std::string const& eduTokenChain);
682
683 MCAPI ::ResourcePackFileUploadManager&
684 _getResourcePackFileUploadManager(::NetworkIdentifier const& source, ::std::string const& resourceName);
685
687 ::std::variant<
688 ::std::reference_wrapper<::ConnectionRequest const>,
689 ::std::reference_wrapper<::SubClientConnectionRequest const>> const& connectionRequest,
690 ::PlayerAuthenticationInfo const& playerInfo,
691 ::NetworkIdentifier const& source,
692 ::SubClientId subClientId,
693 ::std::optional<::MessToken> messToken,
694 ::nonstd::expected<::AsyncJoinAllow, ::AsyncJoinDeny> finalVerdict
695 );
696
697 MCAPI bool _isPrimaryOrSecondaryPlayerInServer(::mce::UUID const& playerId) const;
698
699 MCAPI void _onClientAuthenticated(::NetworkIdentifier const& source, ::PlayerAuthenticationInfo const& playerInfo);
700
701 MCAPI void _onPlayerLeft(::ServerPlayer* player, bool skipMessage);
702
703 MCAPI void _onSubClientAuthenticated(
704 ::NetworkIdentifier const& source,
705 ::std::shared_ptr<::SubClientLoginPacket> packet,
706 ::PlayerAuthenticationInfo const& playerInfo
707 );
708
709 MCAPI void _processValidatedLoginPacket(
710 ::NetworkIdentifier const& source,
711 ::std::shared_ptr<::LoginPacket> packet,
712 ::PlayerAuthenticationInfo const& playerInfo,
713 ::std::optional<::MessToken> const& hostMessToken
714 );
715
716 MCNAPI void _sendAdditionalLevelData(::ServerPlayer& newPlayer, ::NetworkIdentifier const& source);
717
718 MCAPI void _sendLevelData(::ServerPlayer& newPlayer, ::NetworkIdentifier const& source);
719
720 MCAPI bool _updatePermissions(
721 ::ServerPlayer const& requester,
722 ::RequestPermissionsPacket const& packet,
723 ::Abilities& abilities,
724 ::PermissionsHandler& permissions,
725 ::Player* player
726 );
727
728 MCAPI ::ServerPlayer*
729 _validatePrimaryPlayerForSubClient(::NetworkIdentifier const& source, ::SubClientId subClientId);
730
731 MCAPI void addToDenyList(::mce::UUID const& uuid, ::std::string const& xuid);
732
733 MCAPI void allowIncomingConnections(::std::string const& serverName, bool shouldAnnounce);
734
735 MCAPI ::OwnerPtr<::EntityContext> createNewPlayer(
736 ::NetworkIdentifier const& source,
737 ::ConnectionRequest const& connectionRequest,
738 ::PlayerAuthenticationInfo const& playerInfo
739 );
740
741 MCAPI ::OwnerPtr<::EntityContext> createSimulatedPlayer(
742 ::std::string const& name,
743 ::std::string const& xuid,
744 ::std::optional<::ActorUniqueID> idOverride
745 );
746
747 MCAPI void disconnectClient(
748 ::NetworkIdentifier const& id,
749 ::SubClientId const subId,
750 ::Connection::DisconnectFailReason const disconnectReason
751 );
752
753 MCAPI void disconnectClientWithMessage(
754 ::NetworkIdentifier const& id,
755 ::SubClientId subId,
756 ::Connection::DisconnectFailReason discoReason,
757 ::std::string const& message,
758 ::std::optional<::std::string> filteredMessage
759 );
760
761 MCAPI void
762 disconnectPrimaryClient(::NetworkIdentifier const& id, ::Connection::DisconnectFailReason disconnectReason);
763
764 MCAPI void
765 engineCancelResponseHelper(::NetworkIdentifier const& source, ::ResourcePackClientResponsePacket const& packet);
766
767 MCAPI void engineDownloadingFinishedResponseHelper(
768 ::NetworkIdentifier const& source,
770 );
771
772 MCAPI void engineDownloadingResponseHelper(
773 ::NetworkIdentifier const& source,
775 );
776
777 MCAPI ::PlayerAuthenticationInfo fetchPlayerAuthenticationInfo(::NetworkIdentifier const& source);
778
779#ifdef LL_PLAT_C
780 MCNAPI ::std::string getServerName() const;
781#endif
782
783 MCAPI void onReady_ClientGeneration(::Player& newPlayer, ::NetworkIdentifier const& source);
784
785 MCAPI void onStartShutdown();
786
787 MCAPI void removeFromDenyList(::mce::UUID const& uuid, ::std::string const& xuid);
788
789 MCAPI void sendLoginMessageLocal(
790 ::NetworkIdentifier const& source,
791 ::ConnectionRequest const& connectionRequest,
792 ::ServerPlayer& player
793 );
794
795#ifdef LL_PLAT_S
796 MCNAPI void setAutomationClient(::Bedrock::NonOwnerPointer<::Automation::AutomationClient> client);
797#endif
798
799#ifdef LL_PLAT_C
800 MCNAPI void setEduSystems(::Bedrock::NonOwnerPointer<::IEduSystems> eduSystems);
801#endif
802
803 MCAPI bool tryToLoadPlayer(
804 ::ServerPlayer& player,
805 ::ConnectionRequest const& connectionRequest,
806 ::PlayerAuthenticationInfo const& playerInfo
807 );
808
809 MCAPI void updateServerAnnouncement();
810 // NOLINTEND
811
812public:
813 // static functions
814 // NOLINTBEGIN
815 MCAPI static void _decideIfSkinIsTrusted(::SerializedSkinRef& skin);
816
817 MCAPI static bool _isServerTextEnabled(::ServerTextEvent const& textEvent);
818
819 MCAPI static void _updateCommandBlock(
820 ::BlockSource& region,
821 ::CommandBlockUpdatePacket const& packet,
822 ::Bedrock::Safety::RedactableString const* redactedName
823 );
824 // NOLINTEND
825
826public:
827 // constructor thunks
828 // NOLINTBEGIN
829 MCAPI void* $ctor(
830 ::GameCallbacks& gameCallbacks,
832 ::std::optional<::ServerConfiguration::ServerConfigurationJoinInfo> const& serverJoinInfo,
833 ::Social::Events::ServerTelemetryData const& serveTelemetryData,
834 ::ServerNetworkSystem& network,
835 ::PrivateKeyManager& serverKeys,
836 ::Bedrock::NotNullNonOwnerPtr<::MinecraftServiceKeyManager> minecraftServiceKeys,
837 ::ServerLocator& serverLocator,
838 ::PacketSender& packetSender,
839 ::AllowList& allowList,
840 ::EditorAllowList& editorAllowList,
841 ::PermissionsFile* permissionsFile,
842 ::KeyManager const& hostPublicKey,
843 int maxChunkRadius,
844 int maxNumPlayers,
845 ::MinecraftCommands& commandHandler,
846 ::IMinecraftApp& app,
847 ::std::unordered_map<::PackIdVersion, ::std::string> const& packIdToContentKey,
848 ::Scheduler& scheduler,
852 ::NetworkServerConfig networkServerConfig,
853 ::std::shared_ptr<::ScriptPackSettingsCache> packSettingsCache,
855 );
856 // NOLINTEND
857
858public:
859 // virtual function thunks
860 // NOLINTBEGIN
861 MCAPI void $onValidPacketReceived(
862 ::NetworkIdentifier const& netId,
863 ::MinecraftPacketIds packetId,
864 ::SubClientId senderSubId,
865 ::SubClientId
866 );
867
868 MCAPI void $onWebsocketRequest(
869 ::std::string const& serverAddress,
870 ::std::string const& payload,
871 ::std::function<void()> errorCallback
872 );
873
874 MCAPI ::Bedrock::PubSub::Connector<void(::NetworkIdentifierWithSubId const&)>&
875 $getOnPlayerNetworkDisconnectedConnector();
876
877 MCAPI ::Bedrock::PubSub::Connector<
878 void(::NetworkIdentifierWithSubId const&, ::BlockPos const&, uint, ::DimensionType)>&
879 $getOnPlayerNetworkConnectedConnector();
880
881 MCAPI void $onInvalidPlayerJoinedLobby(::mce::UUID const& uuid, ::std::string const& xuid);
882
883 MCAPI void $onPlayerJoinedLobby(::Social::OnlineId const& player, ::Social::Nonce const& nonce);
884
885 MCFOLD void $onPlayerLeftLobby(::Social::OnlineId const&);
886
887 MCAPI void $onXboxUserBlocked(::std::string const& xuid);
888
889 MCAPI void $onXboxUserUnblocked(::std::string const& xuid);
890
891 MCFOLD void $onPlayerReady(::Player& player);
892
893 MCAPI void $handlePacketViolation(
894 ::std::shared_ptr<::IPacketSecurityController> const& packetSecurityController,
895 ::std::error_code const& errorCode,
896 ::PacketViolationResponse const response,
897 ::MinecraftPacketIds const packetId,
898 ::std::string&& context,
899 ::NetworkIdentifier const& netId,
900 ::SubClientId const clientSubId,
901 ::SubClientId const senderSubId,
902 uint const packetSize
903 );
904
905 MCAPI void $sendPacketViolationWarningPacket(
906 ::std::error_code const& errorCode,
907 ::PacketViolationResponse violationResponse,
908 ::MinecraftPacketIds violatingPacketId,
909 ::std::string const& context,
910 ::NetworkIdentifier const& netId,
911 ::SubClientId clientSubId
912 );
913
914 MCAPI void $sendServerLegacyParticle(::ParticleType name, ::Vec3 const& pos, ::Vec3 const&, int data);
915
916 MCAPI void $onTransferRequest(::NetworkIdentifier const& id, ::Social::GameConnectionInfo const& destination);
917
918 MCAPI void $onDisconnect(
919 ::NetworkIdentifier const& id,
920 ::Connection::DisconnectFailReason const discoReason,
921 ::Connection::DisconnectionStage const disconnectStage,
922 ::std::string const& messageFromServer,
923 ::std::string const& messageBodyOverride,
924 bool skipMessage,
925 ::std::string const& telemetryOverride
926 );
927
928 MCAPI ::IncomingPacketFilterResult $allowIncomingPacketId(
929 ::NetworkIdentifierWithSubId const& sender,
930 ::MinecraftPacketIds packetId,
931 uint64 packetSize
932 );
933
934 MCAPI ::OutgoingPacketFilterResult
935 $allowOutgoingPacket(::std::vector<::NetworkIdentifierWithSubId> const& ids, ::Packet const& packet);
936
937 MCAPI void $handle(::NetworkIdentifier const& source, ::ActorEventPacket const& packet);
938
939 MCAPI void $handle(::NetworkIdentifier const& source, ::ActorPickRequestPacket const& packet);
940
941 MCAPI void $handle(::NetworkIdentifier const& source, ::AnimatePacket const& packet);
942
943 MCAPI void $handle(::NetworkIdentifier const& source, ::std::shared_ptr<::BlockActorDataPacket> packet);
944
945 MCAPI void $handle(::NetworkIdentifier const& source, ::BlockPickRequestPacket const& packet);
946
947 MCAPI void $handle(::NetworkIdentifier const& source, ::LecternUpdatePacket const& packet);
948
949 MCAPI void $handle(::NetworkIdentifier const& source, ::BookEditPacket const& packet);
950
951 MCAPI void $handle(::NetworkIdentifier const& source, ::BossEventPacket const& packet);
952
953 MCAPI void $handle(::NetworkIdentifier const& source, ::ClientCameraAimAssistPacket const& packet);
954
955 MCAPI void $handle(::NetworkIdentifier const& source, ::ClientCacheStatusPacket const& packet);
956
957 MCAPI void $handle(::NetworkIdentifier const& source, ::ClientCacheBlobStatusPacket const& packet);
958
959 MCAPI void $handle(::NetworkIdentifier const& source, ::ClientMovementPredictionSyncPacket const& packet);
960
961 MCAPI void $handle(::NetworkIdentifier const& source, ::ClientToServerHandshakePacket const& packet);
962
963 MCAPI void $handle(::NetworkIdentifier const& source, ::CommandBlockUpdatePacket const& packet);
964
965 MCAPI void $handle(::NetworkIdentifier const& source, ::CommandRequestPacket const& packet);
966
967 MCFOLD void $handle(::NetworkIdentifier const& source, ::CompletedUsingItemPacket const& packet);
968
969 MCNAPI void $handle(::NetworkIdentifier const& source, ::ServerboundCursorItemDragPacket const& packet);
970
971 MCAPI void $handle(::NetworkIdentifier const& source, ::ContainerClosePacket const& packet);
972
973 MCFOLD void $handle(::NetworkIdentifier const& source, ::DebugInfoPacket const& packet);
974
975 MCFOLD void $handle(::NetworkIdentifier const& source, ::CreatePhotoPacket const& packet);
976
977 MCAPI void $handle(::NetworkIdentifier const& source, ::DisconnectPacket const& packet);
978
979 MCAPI void $handle(::NetworkIdentifier const& source, ::EmoteListPacket const& packet);
980
981 MCAPI void $handle(::NetworkIdentifier const& source, ::EmotePacket const& packet);
982
983 MCAPI void $handle(::NetworkIdentifier const& source, ::InteractPacket const& packet);
984
985 MCAPI void $handle(::NetworkIdentifier const& source, ::std::shared_ptr<::InventoryTransactionPacket> packet);
986
987 MCAPI void $handle(::NetworkIdentifier const& source, ::ItemStackRequestPacket const& packet);
988
989 MCAPI void $handle(::NetworkIdentifier const& source, ::LabTablePacket const& packet);
990
991 MCAPI void $handle(::NetworkIdentifier const& source, ::LevelSoundEventPacket const& packet);
992
993 MCAPI void $handle(::NetworkIdentifier const& source, ::std::shared_ptr<::LoginPacket> packet);
994
995 MCAPI void $handle(::NetworkIdentifier const& source, ::PartyChangedPacket const& packet);
996
997 MCAPI void $handle(::NetworkIdentifier const& source, ::MapCreateLockedCopyPacket const& packet);
998
999 MCAPI void $handle(::NetworkIdentifier const& source, ::MapInfoRequestPacket const& packet);
1000
1001 MCAPI void $handle(::NetworkIdentifier const& source, ::std::shared_ptr<::MobEquipmentPacket> packet);
1002
1003 MCAPI void $handle(::NetworkIdentifier const& source, ::ModalFormResponsePacket const& packet);
1004
1005 MCAPI void $handle(::NetworkIdentifier const& source, ::NetworkStackLatencyPacket const& packet);
1006
1007 MCAPI void $handle(::NetworkIdentifier const& source, ::NpcRequestPacket const& packet);
1008
1009 MCFOLD void $handle(::NetworkIdentifier const& source, ::PhotoTransferPacket const& packet);
1010
1011 MCAPI void $handle(::NetworkIdentifier const& source, ::PlayerActionPacket const& packet);
1012
1013 MCAPI void $handle(::NetworkIdentifier const& source, ::PlayerAuthInputPacket const& packet);
1014
1015 MCAPI void $handle(::NetworkIdentifier const& source, ::PlayerHotbarPacket const& packet);
1016
1017 MCAPI void $handle(::NetworkIdentifier const& source, ::PlayerSkinPacket const& packet);
1018
1019 MCAPI void $handle(::NetworkIdentifier const& source, ::PlayerToggleCrafterSlotRequestPacket const& packet);
1020
1021 MCAPI void $handle(::NetworkIdentifier const& source, ::PositionTrackingDBClientRequestPacket const& packet);
1022
1023 MCFOLD void $handle(::NetworkIdentifier const& source, ::PurchaseReceiptPacket const& packet);
1024
1025 MCNAPI void
1026 $handle(::NetworkIdentifier const& source, ::std::shared_ptr<::ServerboundRegisterAudioContentPacket> packet);
1027
1028 MCAPI void $handle(::NetworkIdentifier const& source, ::RequestChunkRadiusPacket const& packet);
1029
1030 MCAPI void $handle(::NetworkIdentifier const& source, ::ResourcePackChunkRequestPacket const& packet);
1031
1032 MCAPI void $handle(::NetworkIdentifier const&, ::ResourcePacksReadyForValidationPacket const&);
1033
1034 MCAPI void $handle(::NetworkIdentifier const& source, ::RespawnPacket const& packet);
1035
1036 MCAPI void $handle(::NetworkIdentifier const& source, ::SetDefaultGameTypePacket const& packet);
1037
1038 MCAPI void $handle(::NetworkIdentifier const& source, ::SetDifficultyPacket const& packet);
1039
1040 MCAPI void $handle(::NetworkIdentifier const& source, ::SetLocalPlayerAsInitializedPacket const& packet);
1041
1042 MCAPI void $handle(::NetworkIdentifier const& source, ::SetPlayerGameTypePacket const& packet);
1043
1044 MCAPI void $handle(::NetworkIdentifier const& source, ::UpdatePlayerGameTypePacket const& packet);
1045
1046 MCAPI void $handle(::NetworkIdentifier const& source, ::ScriptMessagePacket const& packet);
1047
1048 MCAPI void $handle(::NetworkIdentifier const& source, ::PartyDestinationCookieResponsePacket const& packet);
1049
1050 MCAPI void $handle(::NetworkIdentifier const& source, ::ShowCreditsPacket const& packet);
1051
1052 MCAPI void $handle(::NetworkIdentifier const& source, ::SimpleEventPacket const& packet);
1053
1054 MCAPI void $handle(::NetworkIdentifier const& source, ::SpawnExperienceOrbPacket const& packet);
1055
1056 MCAPI void $handle(::NetworkIdentifier const& source, ::StructureBlockUpdatePacket const& packet);
1057
1058 MCAPI void $handle(::NetworkIdentifier const& source, ::StructureTemplateDataRequestPacket const& packet);
1059
1060 MCAPI void $handle(::NetworkIdentifier const& source, ::std::shared_ptr<::SubClientLoginPacket> packet);
1061
1062 MCAPI void $handle(::NetworkIdentifier const& source, ::TextPacket const& packet);
1063
1064 MCAPI void $handle(::NetworkIdentifier const& source, ::MultiplayerSettingsPacket const& packet);
1065
1066 MCAPI void $handle(::NetworkIdentifier const& source, ::SettingsCommandPacket const& packet);
1067
1068 MCAPI void $handle(::NetworkIdentifier const& source, ::AnvilDamagePacket const& packet);
1069
1070 MCAPI void $handle(::NetworkIdentifier const& source, ::SubChunkRequestPacket const& packet);
1071
1072 MCAPI void $handle(::NetworkIdentifier const& source, ::CodeBuilderSourcePacket const& packet);
1073
1074 MCFOLD void $handle(::NetworkIdentifier const&, ::ChangeMobPropertyPacket const& packet);
1075
1076 MCAPI void $handle(::NetworkIdentifier const& source, ::RequestAbilityPacket const& packet);
1077
1078 MCAPI void $handle(::NetworkIdentifier const& source, ::RequestNetworkSettingsPacket const& packet);
1079
1080 MCAPI void $handle(::NetworkIdentifier const& source, ::RequestPermissionsPacket const& packet);
1081
1082 MCAPI void $handle(::NetworkIdentifier const& source, ::EditorNetworkPacket const& packet);
1083
1084 MCAPI void $handle(::NetworkIdentifier const& source, ::GameTestRequestPacket const& packet);
1085
1086 MCAPI void $handle(::NetworkIdentifier const& source, ::SetPlayerInventoryOptionsPacket const& packet);
1087
1088 MCAPI void $handle(::NetworkIdentifier const& source, ::SetPlayerFurnaceOptionsPacket const& packet);
1089
1090 MCAPI void $handle(::NetworkIdentifier const& source, ::ServerboundLoadingScreenPacket const& packet);
1091
1092 MCAPI void $handle(::NetworkIdentifier const& source, ::ServerboundDiagnosticsPacket const& packet);
1093
1094 MCAPI void $handle(::NetworkIdentifier const& source, ::UpdateClientOptionsPacket const& packet);
1095
1096 MCAPI void $handle(::NetworkIdentifier const& source, ::ServerboundPackSettingChangePacket const& packet);
1097
1098 MCAPI void $handle(::NetworkIdentifier const& source, ::ServerboundDataStorePacket const& packet);
1099
1100 MCAPI void $handle(::NetworkIdentifier const& source, ::ServerboundDataDrivenScreenClosedPacket const& packet);
1101
1103
1104 MCNAPI void $handle(::NetworkIdentifier const& source, ::ServerboundMatchmakingCancelPacket const& packet);
1105
1106 MCAPI void $sendSubClientLoginMessageLocal(
1107 ::NetworkIdentifier const& source,
1108 ::SubClientConnectionRequest const& connectionRequest,
1109 ::PlayerAuthenticationInfo const& playerInfo,
1110 ::SubClientId subid
1111 );
1112
1113 MCAPI void $onTick();
1114
1115 MCAPI ::GameSpecificNetEventCallback* $getGameSpecificNetEventCallback();
1116
1117 MCAPI void $onConnect(::NetworkIdentifier const& id);
1118
1119 MCAPI void $completeHandshake(::NetworkIdentifier const& source);
1120
1121 MCAPI ::std::optional<::PlayerAuthenticationInfo>
1122 $_validateLoginPacket(::NetworkIdentifier const& source, ::LoginPacket const& packet);
1123
1124 MCAPI void $_onClientAsyncAuthorized(
1125 ::NetworkIdentifier const& source,
1126 ::ConnectionRequest const& request,
1127 ::PlayerAuthenticationInfo const& playerInfo,
1128 ::std::optional<::MessToken> const& hostMessToken
1129 );
1130
1131 MCAPI ::ServerPlayer* $_getServerPlayer(::NetworkIdentifier const& source, ::SubClientId subId);
1132
1133
1134 // NOLINTEND
1135};
Definition Abilities.h:15
Definition ActorEventPacket.h:19
Definition ActorPickRequestPacket.h:19
Definition AllowList.h:16
Definition AnimatePacket.h:19
Definition AnvilDamagePacket.h:19
Definition AppConfigs.h:25
Definition AsyncJoinTaskManager.h:23
Definition AutomationClient.h:26
Definition NonOwnerPointer.h:9
Definition Publisher.h:25
Definition RedactableString.h:10
Definition EnableQueueForMainThread.h:10
Definition BiomeDefinitionListPacket.h:19
Definition BlockActorDataPacket.h:19
Definition BlockPickRequestPacket.h:19
Definition BlockPos.h:14
Definition BlockSource.h:72
Definition BookEditPacket.h:19
Definition BossEventPacket.h:19
Definition ChangeMobPropertyPacket.h:19
Definition ClassroomModeNetworkHandler.h:20
Definition ActiveTransfersManager.h:19
Definition ClientCacheBlobStatusPacket.h:19
Definition ClientCacheStatusPacket.h:19
Definition ClientCameraAimAssistPacket.h:19
Definition ClientMovementPredictionSyncPacket.h:19
Definition ClientToServerHandshakePacket.h:19
Definition CodeBuilderSourcePacket.h:19
Definition CommandBlockUpdatePacket.h:19
Definition CommandRequestPacket.h:19
Definition CompletedUsingItemPacket.h:19
Definition ConnectionRequest.h:26
Definition ContainerClosePacket.h:19
Definition CreatePhotoPacket.h:19
Definition DebugInfoPacket.h:19
Definition DisconnectPacket.h:19
Definition EditorAllowList.h:10
Definition EditorNetworkPacket.h:19
Definition EmoteListPacket.h:19
Definition EmotePacket.h:19
Definition EntityContext.h:15
Definition GameCallbacks.h:5
Definition GameSpecificNetEventCallback.h:11
Definition GameTestNetworkAdapter.h:16
Definition GameTestRequestPacket.h:19
Definition IEDUSystems.h:14
Definition ILevel.h:223
Definition IMinecraftApp.h:19
Definition IPacketSecurityController.h:22
Definition IPlayerConnectionConnector.h:15
Definition InteractPacket.h:19
Definition InventoryTransactionPacket.h:19
Definition ItemStackRequestPacket.h:20
Definition Value.h:16
Definition KeyManager.h:8
Definition LabTablePacket.h:19
Definition LecternUpdatePacket.h:19
Definition LevelListener.h:28
Definition LevelSoundEventPacket.h:19
Definition LoginPacket.h:19
Definition MapCreateLockedCopyPacket.h:19
Definition MapInfoRequestPacket.h:19
Definition MinecraftCommands.h:33
Definition MinecraftGameTest.h:20
Definition MinecraftServiceKeyManager.h:21
Definition MobEquipmentPacket.h:19
Definition ModalFormResponsePacket.h:20
Definition MultiplayerSettingsPacket.h:19
Definition NetEventCallback.h:273
MCAPI void $onTick()
MCAPI::GameSpecificNetEventCallback * $getGameSpecificNetEventCallback()
Definition NetworkIdentifier.h:10
Definition NetworkStackLatencyPacket.h:19
Definition NpcRequestPacket.h:19
Definition PacketSender.h:17
Definition Packet.h:29
Definition PartyChangedPacket.h:19
Definition PartyDestinationCookieResponsePacket.h:19
Definition PermissionsFile.h:20
Definition PermissionsHandler.h:16
Definition PhotoTransferPacket.h:19
Definition PlayerActionPacket.h:19
Definition PlayerAuthInputPacket.h:19
Definition PlayerHotbarPacket.h:19
Definition PlayerSkinPacket.h:19
Definition PlayerToggleCrafterSlotRequestPacket.h:19
Definition Player.h:131
Definition PositionTrackingDBClientRequestPacket.h:20
Definition PrivateKeyManager.h:10
Definition PurchaseReceiptPacket.h:19
Definition RequestAbilityPacket.h:19
Definition RequestChunkRadiusPacket.h:19
Definition RequestNetworkSettingsPacket.h:19
Definition RequestPermissionsPacket.h:19
Definition ResourcePackChunkRequestPacket.h:19
Definition ResourcePackClientResponsePacket.h:19
Definition ResourcePackFileUploadManager.h:26
Definition ResourcePackPathCache.h:7
Definition ResourcePacksReadyForValidationPacket.h:20
Definition RespawnPacket.h:19
Definition Scheduler.h:15
Definition ScriptMessagePacket.h:19
Definition ScriptPackSettingsCache.h:16
Definition SerializedSkinRef.h:26
Definition ServerAudioContentRegistrationHandler.h:13
Definition ServerConnectionAuthValidator.h:17
Definition ServerLocator.h:22
Definition ServerNetworkHandler.h:200
Definition ServerNetworkHandler.h:240
MCAPI void $handle(::NetworkIdentifier const &source, ::ServerboundStonecutterSetRecipePacket const &packet)
MCAPI void $handle(::NetworkIdentifier const &source, ::ServerboundCursorItemDragPacket const &packet)
MCAPI void _handleFinalVerdict(::std::variant< ::std::reference_wrapper<::ConnectionRequest const >, ::std::reference_wrapper<::SubClientConnectionRequest const > > const &connectionRequest, ::PlayerAuthenticationInfo const &playerInfo, ::NetworkIdentifier const &source, ::SubClientId subClientId, ::std::optional<::MessToken > messToken, ::nonstd::expected<::AsyncJoinAllow, ::AsyncJoinDeny > finalVerdict)
MCAPI void _sendAdditionalLevelData(::ServerPlayer &newPlayer, ::NetworkIdentifier const &source)
MCAPI void $handle(::NetworkIdentifier const &source, ::ServerboundMatchmakingCancelPacket const &packet)
MCAPI void $handle(::NetworkIdentifier const &source, ::std::shared_ptr<::ServerboundRegisterAudioContentPacket > packet)
Definition ServerNetworkSystem.h:34
Definition ServerPlayer.h:73
Definition ServerboundCursorItemDragPacket.h:19
Definition ServerboundDataDrivenScreenClosedPacket.h:20
Definition ServerboundDataStorePacket.h:19
Definition ServerboundDiagnosticsPacket.h:19
Definition ServerboundLoadingScreenPacket.h:19
Definition ServerboundMatchmakingCancelPacket.h:19
Definition ServerboundPackSettingChangePacket.h:19
Definition ServerboundRegisterAudioContentPacket.h:20
Definition ServerboundStonecutterSetRecipePacket.h:20
Definition ServiceReference.h:8
Definition SetDefaultGameTypePacket.h:19
Definition SetDifficultyPacket.h:19
Definition SetLocalPlayerAsInitializedPacket.h:19
Definition SetPlayerFurnaceOptionsPacket.h:19
Definition SetPlayerGameTypePacket.h:19
Definition SetPlayerInventoryOptionsPacket.h:19
Definition SettingsCommandPacket.h:19
Definition ShowCreditsPacket.h:19
Definition SimpleEventPacket.h:19
Definition GameConnectionInfo.h:24
Definition MultiplayerServiceObserver.h:19
Definition XboxLiveUserObserver.h:15
Definition SpawnExperienceOrbPacket.h:19
Definition StructureBlockUpdatePacket.h:19
Definition StructureTemplateDataRequestPacket.h:19
Definition SubChunkRequestPacket.h:19
Definition SubClientConnectionRequest.h:21
Definition SubClientLoginPacket.h:19
Definition TaskGroup.h:85
Definition TextFilteringProcessor.h:19
Definition TextPacket.h:19
Definition UpdateClientOptionsPacket.h:19
Definition UpdatePlayerGameTypePacket.h:19
Definition Vec3.h:10
Definition UUID.h:8
Definition optional_ref.h:10
Definition ActorUniqueID.h:5
Definition AsyncJoinAllow.h:5
Definition AsyncJoinDeny.h:8
Definition DimensionType.h:5
Definition IServerNetworkController.h:10
Definition MessToken.h:11
Definition NetworkIdentifierWithSubId.h:10
Definition NetworkServerConfig.h:9
Definition PlayerAuthenticationInfo.h:9
Definition ServerNetworkHandlerDependencies.h:5
Definition ServerTelemetryData.h:7
Definition Nonce.h:10
Definition OnlineId.h:12
Definition context.h:5