38 virtual void InitializeConfiguration(::std::unique_ptr<::RakNet::ShadowBanList> banList) = 0;
40 virtual ::RakNet::StartupResult Startup(
43 uint socketDescriptorCount,
47 virtual bool InitializeSecurity(
char const* public_key,
char const* private_key,
bool bRequireClientKey) = 0;
49 virtual void DisableSecurity() = 0;
51 virtual void AddToSecurityExceptionList(
char const* ip) = 0;
53 virtual void RemoveFromSecurityExceptionList(
char const* ip) = 0;
55 virtual bool IsInSecurityExceptionList(
char const* ip) = 0;
57 virtual void SetMaximumIncomingConnections(ushort numberAllowed) = 0;
59 virtual uint GetMaximumIncomingConnections()
const = 0;
61 virtual ushort NumberOfConnections()
const = 0;
63 virtual void SetIncomingPassword(
char const* passwordData,
int passwordDataLength) = 0;
65 virtual void GetIncomingPassword(
char* passwordData,
int* passwordDataLength) = 0;
67 virtual ::RakNet::ConnectionAttemptResult Connect(
70 char const* passwordData,
71 int passwordDataLength,
73 uint connectionSocketIndex,
74 uint sendConnectionAttemptCount,
75 uint timeBetweenSendConnectionAttemptsMS,
79 virtual ::RakNet::ConnectionAttemptResult ConnectWithSocket(
82 char const* passwordData,
83 int passwordDataLength,
86 uint sendConnectionAttemptCount,
87 uint timeBetweenSendConnectionAttemptsMS,
92 Shutdown(uint blockDuration, uchar orderingChannel, ::PacketPriority disconnectionNotificationPriority) = 0;
96 virtual bool IsActive()
const = 0;
100 virtual uint GetNextSendReceipt() = 0;
102 virtual uint IncrementNextSendReceipt() = 0;
107 ::PacketPriority priority,
108 ::PacketReliability reliability,
109 char orderingChannel,
112 uint forceReceiptNumber
117 ::PacketPriority priority,
118 ::PacketReliability reliability,
119 char orderingChannel,
122 uint forceReceiptNumber
125 virtual void SendLoopback(
char const* data,
int const length) = 0;
127 virtual uint SendList(
130 int const numParameters,
131 ::PacketPriority priority,
132 ::PacketReliability reliability,
133 char orderingChannel,
136 uint forceReceiptNumber
139 virtual ::RakNet::Packet* Receive() = 0;
143 virtual uint GetMaximumNumberOfPeers()
const = 0;
145 virtual void CloseConnection(
147 bool sendDisconnectionNotification,
148 uchar orderingChannel,
149 ::PacketPriority disconnectionNotificationPriority
156 virtual ::RakNet::RakNetGUID GetGUIDFromIndex(uint index) = 0;
158 virtual void GetSystemList(
163 virtual void AddToBanList(
char const* IP, uint milliseconds) = 0;
165 virtual void RemoveFromBanList(
char const* IP) = 0;
167 virtual void ClearBanList() = 0;
169 virtual bool IsBanned(
char const* IP) = 0;
174 Ping(
char const* host, ushort remotePort,
bool onlyReplyOnAcceptingConnections, uint connectionSocketIndex) = 0;
182 virtual void SetOccasionalPing(
bool doPing) = 0;
186 virtual void SetAllowUnconnectedPings(
bool unconnectedPings) = 0;
188 virtual bool GetAllowUnconnectedPings()
const = 0;
190 virtual void SetOfflinePingResponse(
char const* data, uint
const length) = 0;
192 virtual ::RakNet::SystemAddress
197 virtual ::RakNet::RakNetGUID
const GetMyGUID()
const = 0;
199 virtual void resetMyGUID() = 0;
201 virtual ::RakNet::SystemAddress GetMyBoundAddress(
int const socketIndex) = 0;
205 virtual ::RakNet::SystemAddress GetSystemAddressFromGuid(
::RakNet::RakNetGUID const input)
const = 0;
213 virtual uint GetNumberOfAdapters() = 0;
215 virtual ::RakNet::NetworkAdapter& GetLocalAdapter(uint index) = 0;
217 virtual uint GetNumberOfAddresses() = 0;
219 virtual char const* GetLocalIP(uint index) = 0;
221 virtual bool IsLocalIP(
char const* ip) = 0;
223 virtual void AllowConnectionResponseIPMigration(
bool allow) = 0;
225 virtual bool AdvertiseSystem(
230 uint connectionSocketIndex
233 virtual void SetSplitMessageProgressInterval(
int interval) = 0;
235 virtual int GetSplitMessageProgressInterval()
const = 0;
237 virtual void SetUnreliableTimeout(uint timeoutMS) = 0;
239 virtual void SendTTL(
char const* host, ushort remotePort,
int ttl, uint connectionSocketIndex) = 0;
249 virtual ::RakNet::Packet* AllocatePacket(uint dataSize) = 0;
259 virtual void SetUserUpdateThread(
261 void* _userUpdateThreadData
266 virtual void ApplyNetworkSimulator(
float packetloss, ushort minExtraPing, ushort extraPingVariance) = 0;
268 virtual void SetPerConnectionOutgoingBandwidthLimit(uint maxBitsPerSecond) = 0;
270 virtual bool IsNetworkSimulatorActive() = 0;
272 virtual ::RakNet::RakNetStatistics*
277 virtual void GetStatisticsList(
283 virtual uint GetReceiveBufferSize() = 0;
287 virtual bool SendOutOfBand(
292 uint connectionSocketIndex
299 MCAPI
static uint64 Get64BitUniqueRandomNumber();