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