190 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ConnectionRequest>> mPrimaryRequest;
191 ::ll::TypedStorage<8, 64, ::std::unordered_map<::SubClientId, ::std::unique_ptr<::SubClientConnectionRequest>>>
235 ::std::unordered_map<::NetworkIdentifier, ::std::unique_ptr<::ServerNetworkHandler::Client>>>
237 ::ll::TypedStorage<8, 8, ::GameCallbacks&> mGameCallbacks;
238 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::ILevel>> mLevel;
239 ::ll::TypedStorage<8, 8, ::ServerNetworkSystem&> mNetwork;
240 ::ll::TypedStorage<8, 8, ::PrivateKeyManager&> mServerKeys;
241 ::ll::TypedStorage<8, 8, ::ServerLocator&> mServerLocator;
242 ::ll::TypedStorage<8, 8, ::gsl::not_null<::PacketSender*>> mPacketSender;
243 ::ll::TypedStorage<1, 1, bool> mUseAllowList;
244 ::ll::TypedStorage<8, 8, ::AllowList&> mAllowList;
245 ::ll::TypedStorage<8, 8, ::PermissionsFile*> mPermissionsFile;
246 ::ll::TypedStorage<8, 104, ::DenyList> mServerDenyList;
247 ::ll::TypedStorage<8, 72, ::NetworkServerConfig> mNetworkServerConfig;
248 ::ll::TypedStorage<1, 1, bool> mHasDisplayedPackErrors;
249 ::ll::TypedStorage<8, 176, ::NetworkIdentifier> mMyId;
250 ::ll::TypedStorage<4, 4, int const> mMaxChunkRadius;
251 ::ll::TypedStorage<8, 8, ::MinecraftCommands&> mMinecraftCommands;
252 ::ll::TypedStorage<8, 8, ::IMinecraftApp&> mApp;
253 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::TextFilteringProcessor>> mTextFilteringProcessor;
254 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ClientBlobCache::Server::ActiveTransfersManager>> mClientCacheManager;
255 ::ll::TypedStorage<8, 64, ::std::unordered_map<uint64, ::std::string>> mServerStorageForClientsConnectingAttempt;
256 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ClassroomModeNetworkHandler>> mCompanionHandler;
257 ::ll::TypedStorage<8, 80, ::Bedrock::Threading::Mutex> mValidatePlayerMutex;
258 ::ll::TypedStorage<1, 1, bool> mAllowIncoming;
259 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::IServerNetworkController>> mServerNetworkController;
260 ::ll::TypedStorage<8, 32, ::std::string> mServerName;
261 ::ll::TypedStorage<8, 24, ::std::vector<::std::string>> mTrustedKeys;
262 ::ll::TypedStorage<4, 4, int> mMaxNumPlayers;
263 ::ll::TypedStorage<8, 64, ::std::unordered_set<::mce::UUID>> mKnownEmotePieceIdLookup;
264 ::ll::TypedStorage<8, 24, ::std::vector<::mce::UUID>> mKnownEmotePieceIds;
268 ::std::unordered_map<
270 ::std::unordered_map<::std::string, ::std::shared_ptr<::ResourcePackFileUploadManager>>>>
271 mResourceUploadManagers;
272 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::TaskGroup>> mIOTaskGroup;
273 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::TaskGroup>> mAsyncJoinTaskGroup;
274 ::ll::TypedStorage<1, 1, bool> mIsTrial;
275 ::ll::TypedStorage<8, 64, ::std::unordered_map<::PackIdVersion, ::std::string>> mPackIdToContentKey;
276 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::GameSpecificNetEventCallback>> mGameSpecificNetEventCallback;
280 ::std::unordered_map<::NetworkIdentifier, ::std::unique_ptr<::ServerNetworkHandler::TransferBuilderBatcher>>>
281 mTransferBuilderBatcher;
282 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::GameTestNetworkAdapter>> mGameTestAdapter;
283 ::ll::TypedStorage<8, 40, ::ServiceReference<::AppConfigs>> mAppConfigs;
284 ::ll::TypedStorage<8, 40, ::ServiceReference<::Social::MultiplayerServiceManager>> mMultiplayerServiceManager;
285 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::BiomeDefinitionListPacket const>> mBiomeDefinitionListWithoutCSCG;
286 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::BiomeDefinitionListPacket const>> mBiomeDefinitionListWithCSCG;
287 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::Identity::IEduAuth>> mEduAuth;
288 ::ll::TypedStorage<8, 32, ::std::string> mServerId;
289 ::ll::TypedStorage<8, 32, ::std::string> mScenarioId;
290 ::ll::TypedStorage<8, 32, ::std::string> mWorldId;
299 ::std::reference_wrapper<::ConnectionRequest const>,
300 ::std::reference_wrapper<::SubClientConnectionRequest const>>
const&,
302 ::std::shared_ptr<::AsyncVerdictPromise>
305 ::ll::TypedStorage<8, 8, uint64> mNextAsyncJoinCallbackId;
306 ::ll::TypedStorage<8, 8, ::std::shared_mutex> mAsyncJoinCallbacksMutex;
307 ::ll::TypedStorage<8, 64, ::std::unordered_map<uint64, ::ServerNetworkHandler::PendingVerdictEntry>>
309 ::ll::TypedStorage<8, 8, ::std::chrono::nanoseconds> mVerdictTimeout;
325 virtual void onValidPacketReceived(
327 ::MinecraftPacketIds packetId,
328 ::SubClientId senderSubId,
333 virtual void onWebsocketRequest(
334 ::std::string
const& serverAddress,
335 ::std::string
const& payload,
336 ::std::function<
void()> errorCallback
340 virtual void onInvalidPlayerJoinedLobby(
::mce::UUID const& uuid, ::std::string
const& xuid) ;
343 virtual void onXboxUserBlocked(::std::string
const& xuid) ;
346 virtual void onXboxUserUnblocked(::std::string
const& xuid) ;
349 virtual void onPlayerReady(
::Player& player) ;
352 virtual void handlePacketViolation(
353 ::std::shared_ptr<::IPacketSecurityController>
const& packetSecurityController,
354 ::std::error_code
const& errorCode,
355 ::PacketViolationResponse
const response,
356 ::MinecraftPacketIds
const packetId,
359 ::SubClientId
const clientSubId,
360 ::SubClientId
const senderSubId,
361 uint
const packetSize
365 virtual void sendPacketViolationWarningPacket(
366 ::std::error_code
const& errorCode,
367 ::PacketViolationResponse violationResponse,
368 ::MinecraftPacketIds violatingPacketId,
371 ::SubClientId clientSubId
375 virtual void sendServerLegacyParticle(::ParticleType name,
::Vec3 const& pos,
::Vec3 const&,
int data) ;
379 onTransferRequest(
::NetworkIdentifier const&
id, ::std::string
const& serverAddress,
int serverPort) ;
382 virtual void onDisconnect(
384 ::Connection::DisconnectFailReason
const discoReason,
385 ::std::string
const& message,
387 ::std::string
const& telemetryOverride
391 virtual ::IncomingPacketFilterResult allowIncomingPacketId(
393 ::MinecraftPacketIds packetId,
398 virtual ::OutgoingPacketFilterResult
399 allowOutgoingPacket(::std::vector<::NetworkIdentifierWithSubId>
const& ids,
::Packet const& packet) ;
412 handle(
::NetworkIdentifier const& source, ::std::shared_ptr<::BlockActorDataPacket> packet) ;
474 handle(
::NetworkIdentifier const& source, ::std::shared_ptr<::InventoryTransactionPacket> packet) ;
486 virtual void handle(
::NetworkIdentifier const& source, ::std::shared_ptr<::LoginPacket> packet) ;
578 handle(
::NetworkIdentifier const& source, ::std::shared_ptr<::SubClientLoginPacket> packet) ;
630 virtual void sendSubClientLoginMessageLocal(
640 virtual void onTick() ;
643 virtual ::GameSpecificNetEventCallback* getGameSpecificNetEventCallback() ;
652 virtual void _onClientAsyncAuthorized(
655 ::std::optional<::MessToken>
const& hostMessToken
659 virtual ::ServerPlayer* _getServerPlayer(
::NetworkIdentifier const& source, ::SubClientId subId);
679 ::std::unordered_map<::PackIdVersion, ::std::string>
const& packIdToContentKey,
689 SetServerIdentifiers(::std::string
const& serverId, ::std::string
const& worldId, ::std::string
const& scenarioId);
691 MCAPI
void _buildSubChunkPacketData(
697 bool clientCacheEnabled
700 MCAPI ::ServerPlayer& _createNewPlayer(
712 MCAPI
int _getActiveAndInProgressPlayerCount(
::mce::UUID excludePlayer)
const;
714 MCAPI ::std::string _getDisplayName(
716 bool isThirdPartyNameOnly,
717 ::std::string
const& thirdPartyName
720 MCAPI ::std::optional<::MessToken> _getMessToken(::std::string
const& eduTokenChain,
bool isHostingPlayer);
722 MCAPI ::ResourcePackFileUploadManager&
723 _getResourcePackFileUploadManager(
::NetworkIdentifier const& source, ::std::string
const& resourceName);
725 MCAPI
void _handleAllVerdictsTaskCompletion(
727 ::SubClientId subClientId,
735 MCAPI
void _handleAsyncJoinCallbacks(
738 ::std::reference_wrapper<::ConnectionRequest const>,
739 ::std::reference_wrapper<::SubClientConnectionRequest const>>
const& request,
740 ::SubClientId subClientId,
744 MCAPI
void _handleSetDefaultGameType(
751 MCAPI
bool _isServerTextEnabled(::ServerTextEvent
const& textEvent)
const;
753 MCAPI
bool _isValidThirdPartyName(
::GameServerToken const& token, ::std::string
const& thirdPartyName)
const;
755 MCAPI
bool _loadNewPlayer(
::ServerPlayer& newPlayer,
bool isXboxLive);
759 MCAPI
void _onPlayerLeft(
::ServerPlayer* player,
bool skipMessage);
762 _onSubClientAuthenticated(
::NetworkIdentifier const& source, ::std::shared_ptr<::SubClientLoginPacket> packet);
764 MCAPI
bool _playerHasPermissionToFly(
769 MCAPI
void _processServerAuthPlayerActions(
779 MCAPI
bool _updatePermissions(
787 MCAPI
void addToDenyList(
::mce::UUID const& uuid, ::std::string
const& xuid);
789 MCAPI
void allowIncomingConnections(::std::string
const& serverName,
bool shouldAnnounce);
791 MCAPI ::OwnerPtr<::EntityContext>
794 MCAPI ::OwnerPtr<::EntityContext> createSimulatedPlayer(
795 ::std::string
const& name,
796 ::std::string
const& xuid,
797 ::std::optional<::ActorUniqueID> idOverride
800 MCAPI
void disallowIncomingConnections();
802 MCAPI
void disconnectClient(
804 ::Connection::DisconnectFailReason discoReason,
805 ::std::string
const& message,
806 ::std::optional<::std::string> filteredMessage,
810 MCAPI
void disconnectClient(
813 ::Connection::DisconnectFailReason discoReason,
814 ::std::string
const& message,
815 ::std::optional<::std::string> filteredMessage,
822 MCAPI
void engineDownloadingFinishedResponseHelper(
827 MCAPI
void engineDownloadingResponseHelper(
834 MCAPI
void persistPlayerPermissionsToDisk(
836 ::PlayerPermissionLevel playerPermission
839 MCAPI ::std::unique_ptr<uint64, ::std::function<void(uint64*)>> registerAsyncJoinCallback(
843 ::std::reference_wrapper<::ConnectionRequest const>,
844 ::std::reference_wrapper<::SubClientConnectionRequest const>>
const&,
846 ::std::shared_ptr<::AsyncVerdictPromise>
850 MCAPI
void removeFromDenyList(
::mce::UUID const& uuid, ::std::string
const& xuid);
852 MCAPI
void sendLoginMessageLocal(
864 MCAPI
void updateServerAnnouncement();
870 MCAPI
static void _updateCommandBlock(
876 MCAPI
static void handle(
::ServerPlayer* player, ::std::shared_ptr<::InventoryTransactionPacket> packet);
898 ::std::unordered_map<::PackIdVersion, ::std::string>
const& packIdToContentKey,
917 MCAPI
void $onValidPacketReceived(
919 ::MinecraftPacketIds packetId,
920 ::SubClientId senderSubId,
924 MCAPI
void $onWebsocketRequest(
925 ::std::string
const& serverAddress,
926 ::std::string
const& payload,
927 ::std::function<
void()> errorCallback
930 MCAPI
void $onInvalidPlayerJoinedLobby(
::mce::UUID const& uuid, ::std::string
const& xuid);
932 MCAPI
void $onXboxUserBlocked(::std::string
const& xuid);
934 MCAPI
void $onXboxUserUnblocked(::std::string
const& xuid);
936 MCFOLD
void $onPlayerReady(
::Player& player);
938 MCAPI
void $handlePacketViolation(
939 ::std::shared_ptr<::IPacketSecurityController>
const& packetSecurityController,
940 ::std::error_code
const& errorCode,
941 ::PacketViolationResponse
const response,
942 ::MinecraftPacketIds
const packetId,
945 ::SubClientId
const clientSubId,
946 ::SubClientId
const senderSubId,
947 uint
const packetSize
950 MCAPI
void $sendPacketViolationWarningPacket(
951 ::std::error_code
const& errorCode,
952 ::PacketViolationResponse violationResponse,
953 ::MinecraftPacketIds violatingPacketId,
956 ::SubClientId clientSubId
959 MCAPI
void $sendServerLegacyParticle(::ParticleType name,
::Vec3 const& pos,
::Vec3 const&,
int data);
961 MCAPI
void $onTransferRequest(
::NetworkIdentifier const&
id, ::std::string
const& serverAddress,
int serverPort);
963 MCAPI
void $onDisconnect(
965 ::Connection::DisconnectFailReason
const discoReason,
966 ::std::string
const& message,
968 ::std::string
const& telemetryOverride
971 MCAPI ::IncomingPacketFilterResult $allowIncomingPacketId(
973 ::MinecraftPacketIds packetId,
977 MCAPI ::OutgoingPacketFilterResult
978 $allowOutgoingPacket(::std::vector<::NetworkIdentifierWithSubId>
const& ids,
::Packet const& packet);
986 MCAPI
void $handle(
::NetworkIdentifier const& source, ::std::shared_ptr<::BlockActorDataPacket> packet);
1026 MCAPI
void $handle(
::NetworkIdentifier const& source, ::std::shared_ptr<::InventoryTransactionPacket> packet);
1034 MCAPI
void $handle(
::NetworkIdentifier const& source, ::std::shared_ptr<::LoginPacket> packet);
1092 MCAPI
void $handle(
::NetworkIdentifier const& source, ::std::shared_ptr<::SubClientLoginPacket> packet);
1126 MCAPI
void $sendSubClientLoginMessageLocal(
1134 MCAPI
void $onTick();
1136 MCAPI ::GameSpecificNetEventCallback* $getGameSpecificNetEventCallback();
1142 MCAPI
void $_onClientAsyncAuthorized(
1145 ::std::optional<::MessToken>
const& hostMessToken
1148 MCAPI ::ServerPlayer* $_getServerPlayer(
::NetworkIdentifier const& source, ::SubClientId subId);