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*,
char const*,
bool) = 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
158 virtual ::RakNet::SystemAddress GetSystemAddressFromIndex(uint index) = 0;
160 virtual ::RakNet::RakNetGUID GetGUIDFromIndex(uint index) = 0;
162 virtual void GetSystemList(
167 virtual void AddToBanList(
char const* IP, uint milliseconds) = 0;
169 virtual void RemoveFromBanList(
char const* IP) = 0;
171 virtual void ClearBanList() = 0;
173 virtual bool IsBanned(
char const* IP) = 0;
175 virtual void SetLimitIPConnectionFrequency(
bool b) = 0;
180 Ping(
char const* host, ushort remotePort,
bool onlyReplyOnAcceptingConnections, uint connectionSocketIndex) = 0;
190 virtual void SetOccasionalPing(
bool doPing) = 0;
194 virtual void SetAllowUnconnectedPings(
bool unconnectedPings) = 0;
196 virtual bool GetAllowUnconnectedPings()
const = 0;
198 virtual void SetOfflinePingResponse(
char const* data, uint
const length) = 0;
200 virtual void GetOfflinePingResponse(
char** data, uint* length) = 0;
202 virtual ::RakNet::SystemAddress
209 virtual ::RakNet::RakNetGUID
const GetMyGUID()
const = 0;
211 virtual void resetMyGUID() = 0;
213 virtual ::RakNet::SystemAddress GetMyBoundAddress(
int const socketIndex) = 0;
217 virtual ::RakNet::SystemAddress GetSystemAddressFromGuid(
::RakNet::RakNetGUID const input)
const = 0;
227 virtual uint GetNumberOfAdapters() = 0;
229 virtual ::RakNet::NetworkAdapter& GetLocalAdapter(uint index) = 0;
231 virtual uint GetNumberOfAddresses() = 0;
233 virtual char const* GetLocalIP(uint index) = 0;
235 virtual bool IsLocalIP(
char const* ip) = 0;
237 virtual void AllowConnectionResponseIPMigration(
bool allow) = 0;
239 virtual bool AdvertiseSystem(
244 uint connectionSocketIndex
247 virtual void SetSplitMessageProgressInterval(
int interval) = 0;
249 virtual int GetSplitMessageProgressInterval()
const = 0;
251 virtual void SetUnreliableTimeout(uint timeoutMS) = 0;
253 virtual void SendTTL(
char const* host, ushort remotePort,
int ttl, uint connectionSocketIndex) = 0;
263 virtual ::RakNet::Packet* AllocatePacket(uint dataSize) = 0;
273 virtual void SetUserUpdateThread(
275 void* _userUpdateThreadData
280 virtual void ApplyNetworkSimulator(
float, ushort, ushort) = 0;
282 virtual void SetPerConnectionOutgoingBandwidthLimit(uint maxBitsPerSecond) = 0;
284 virtual bool IsNetworkSimulatorActive() = 0;
286 virtual ::RakNet::RakNetStatistics*
291 virtual void GetStatisticsList(
297 virtual uint GetReceiveBufferSize() = 0;
301 virtual bool SendOutOfBand(
306 uint connectionSocketIndex
315 MCAPI
static uint64 Get64BitUniqueRandomNumber();
317 MCAPI static ::RakNet::RakPeerInterface* GetInstance();