3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/core/utility/NonOwnerPointer.h"
7#include "mc/network/LocatorStateChangeRequest.h"
8#include "mc/network/PermissionIPv6.h"
9#include "mc/network/PermissionLAN.h"
10#include "mc/network/RakNetServerLANVisibility.h"
11#include "mc/network/RakPeerHelper.h"
12#include "mc/network/ServerConnectivityTestResult.h"
13#include "mc/network/ServerLocator.h"
14#include "mc/platform/threading/LockGuard.h"
15#include "mc/world/level/GameType.h"
24namespace RakNet {
class RakPeerInterface; }
25namespace RakNet {
struct Packet; }
26namespace RakNet {
struct RakNetGUID; }
41 enum class protocolVersion :
int {
106 ::std::string
const& playerName,
107 ::std::string
const& worldName,
111 bool isJoinableThroughServerScreen,
127 ::std::string
const& playerName,
128 ::std::string
const& worldName,
132 bool isJoinableThroughServerScreen,
246 virtual void startAnnouncingServer(
247 ::std::string
const& playerName,
248 ::std::string
const& worldName,
253 bool isJoinableThroughServerScreen,
262 virtual void startServerDiscovery(
::PortPair ports) ;
265 virtual void stopServerDiscovery() ;
271 virtual void addCustomServer(::std::string
const& address,
int port) ;
274 virtual ::std::vector<::PingedCompatibleServer> getServerList() const ;
277 virtual
void clearServerList() ;
280 virtual
void update() ;
283 virtual
float getPingTimeForGUID(::
std::
string const& guid) ;
286 virtual
void checkCanConnectToCustomServerAsync(
287 ::
std::
string hostIpAddress,
289 ::
std::function<
void(::ServerConnectivityTestResult)> callback
293 virtual
void _onDisable() ;
296 virtual
void _onEnable() ;
305 ::
std::vector<::
std::
string> overrideBroadcastAddresses,
307 ::RakNetServerLANVisibility serverLanVisibility,
308 ::PermissionLAN permissionLAN,
309 ::PermissionIPv6 permissionIPv6,
310 ::Bedrock::NonOwnerPointer<::
AppPlatform> const& appPlatform,
311 ::
std::function<::
std::unique_ptr<::RakNet::RakPeerInterface,
void (*)(::RakNet::RakPeerInterface*)>()>
312 createUniqueRakPeerFunc
324 ::LocatorStateChangeRequest newState,
334 ::
std::
string const& data,
335 ::RakNet::
Packet const* p,
336 bool insertAtBeginning,
345 _onPongReceive(
float& latencyToSet, ::RakNet::RakNetGUID const& guid, uint const& receivedTime,
int ipVersion);
377 ::
std::vector<::
std::
string> overrideBroadcastAddresses,
379 ::RakNetServerLANVisibility serverLanVisibility,
380 ::PermissionLAN permissionLAN,
381 ::PermissionIPv6 permissionIPv6,
382 ::Bedrock::NonOwnerPointer<::
AppPlatform> const& appPlatform,
383 ::
std::function<::
std::unique_ptr<::RakNet::RakPeerInterface,
void (*)(::RakNet::RakPeerInterface*)>()>
384 createUniqueRakPeerFunc
398 ::
std::
string const& playerName,
399 ::
std::
string const& worldName,
400 ::Bedrock::NonOwnerPointer<::
AppPlatform> appPlatform,
404 bool isJoinableThroughServerScreen,
428 ::
std::
string hostIpAddress,
430 ::
std::function<
void(::ServerConnectivityTestResult)> callback
Definition AsynchronousIPResolver.h:5
Definition NonOwnerPointer.h:9
Definition RakNetConnector.h:29
Definition RakNetServerLocator.h:68
Definition RakNetServerLocator.h:46
Definition RakNetServerLocator.h:29
MCAPI void _onPingSend(::std::string const &guid, ::std::string const &addr, int ipVersion)
MCAPI void $clearServerList()
MCAPI bool _onPongReceive(float &latencyToSet, ::RakNet::RakNetGUID const &guid, uint const &receivedTime, int ipVersion)
MCAPI void _addCustomServerFromIpResolver(::AsynchronousIPResolver const &futureIP, int port)
MCAPI void _startServerDiscovery(::PortPair const &ports)
MCAPI void _setPingResponder(::RakNetServerLocator::AnnounceServerData const &serverData)
MCAPI void _stopAnnouncingServer()
MCAPI ::std::vector<::PingedCompatibleServer > $getServerList() const
MCAPI bool _handleUnconnectedPong(::std::string const &data, ::RakNet::Packet const *p, bool insertAtBeginning, uint64 readTime)
MCAPI void _updateState()
MCAPI float $getPingTimeForGUID(::std::string const &guid)
MCAPI void $stopAnnouncingServer(::Bedrock::NonOwnerPointer<::AppPlatform > appPlatform)
MCAPI void * $ctor(::RakNetConnector &rakNetConnector, ::RakPeerHelper::IPSupportInterface &ipInterface, ::std::vector<::std::string > overrideBroadcastAddresses, bool isServer, ::RakNetServerLANVisibility serverLanVisibility, ::PermissionLAN permissionLAN, ::PermissionIPv6 permissionIPv6, ::Bedrock::NonOwnerPointer<::AppPlatform > const &appPlatform, ::std::function<::std::unique_ptr<::RakNet::RakPeerInterface, void(*)(::RakNet::RakPeerInterface *)>()> createUniqueRakPeerFunc)
static MCAPI void ** $vftable()
MCAPI void _enqueueStateChangeRequest(::LocatorStateChangeRequest newState, ::RakNetServerLocator::AnnounceServerData newAnnounceData, ::PortPair newPorts)
MCAPI void $startServerDiscovery(::PortPair ports)
MCAPI::std::string _getHostGuid(::std::string const &address, int port)
MCAPI void $addCustomServer(::AsynchronousIPResolver const &futureIP, int port)
MCAPI void $startAnnouncingServer(::std::string const &playerName, ::std::string const &worldName, ::Bedrock::NonOwnerPointer<::AppPlatform > appPlatform, ::GameType gameType, int numPlayers, int maxNumPlayers, bool isJoinableThroughServerScreen, bool isEditorWorld, bool isHardcore)
MCAPI bool _addCustomServerV6(::AsynchronousIPResolver const &futureIP, int port)
MCAPI void _getServerOriginalAddress(::std::string &originalAddressToSet, ::std::string const &ip)
MCAPI void _startAnnouncingServer(::RakNetServerLocator::AnnounceServerData const &announceData)
MCAPI bool _updateQueuedPings()
MCAPI void _updateNetwork()
MCAPI void $stopServerDiscovery()
MCAPI bool _addCustomServerV4(::AsynchronousIPResolver const &futureIP, int port)
static MCAPI bool parseUnconnectedPongPacketData(::std::string const &data, ::std::vector<::std::string > &extraData)
MCAPI void _initializeBroadcastAddresses()
MCAPI void _stopServerDiscovery()
MCAPI void $checkCanConnectToCustomServerAsync(::std::string hostIpAddress, int port, ::std::function< void(::ServerConnectivityTestResult)> callback)
Definition RakPeerHelper.h:15
Definition ServerLocator.h:19
Definition PingedCompatibleServer.h:5
Definition RakNetServerLocator.h:82
MCAPI AnnounceServerData(::std::string const &playerName, ::std::string const &worldName, ::GameType gameType, int numPlayers, int maxNumPlayers, bool isJoinableThroughServerScreen, bool isEditorWorld, bool isHardcore)
MCAPI ~AnnounceServerData()
MCAPI::RakNetServerLocator::AnnounceServerData & operator=(::RakNetServerLocator::AnnounceServerData const &)
MCAPI void * $ctor(::std::string const &playerName, ::std::string const &worldName, ::GameType gameType, int numPlayers, int maxNumPlayers, bool isJoinableThroughServerScreen, bool isEditorWorld, bool isHardcore)
MCAPI void * $ctor(::RakNetServerLocator::AnnounceServerData const &announceData)
MCAPI AnnounceServerData(::RakNetServerLocator::AnnounceServerData const &announceData)
Definition RakNetServerLocator.h:145
MCAPI ~StateChangeRequestData()
Definition RakNetServerLocator.h:173
MCAPI ~SuspendStateData()