Documentation

RakLibInterface
in package
implements ServerEventListener, AdvancedNetworkInterface

Interfaces, Classes, Traits and Enums

ServerEventListener
AdvancedNetworkInterface
Advanced network interfaces have some additional capabilities, such as being able to ban addresses and process raw packets.

Table of Contents

MCPE_RAKNET_PACKET_ID  = "\xfe"
MCPE_RAKNET_PROTOCOL_VERSION  = 10
Sometimes this gets changed when the MCPE-layer protocol gets broken to the point where old and new can't communicate. It's important that we check this to avoid catastrophes.
$broadcaster  : PacketBroadcaster
$eventReceiver  : RakLibToUserThreadMessageReceiver
$interface  : UserToRakLibThreadMessageSender
$network  : Network
$rakLib  : RakLibServer
$rakServerId  : int
$server  : Server
$sessions  : array<string|int, NetworkSession>
$sleeper  : SleeperNotifier
__construct()  : mixed
addRawPacketFilter()  : void
Adds a regex filter for raw packets to this network interface. This filter should be used to check validity of raw packets before relaying them to the main thread.
blockAddress()  : void
Prevents packets received from the IP address getting processed for the given timeout.
close()  : void
onBandwidthStatsUpdate()  : void
onClientConnect()  : void
onClientDisconnect()  : void
onPacketAck()  : void
onPacketReceive()  : void
onPingMeasure()  : void
onRawPacketReceive()  : void
putPacket()  : void
sendRawPacket()  : void
Sends a raw payload to the network interface, bypassing any sessions.
setName()  : void
setNetwork()  : void
setPacketLimit()  : void
setPortCheck()  : void
shutdown()  : void
start()  : void
tick()  : void
unblockAddress()  : void
Unblocks a previously-blocked address.

Constants

MCPE_RAKNET_PROTOCOL_VERSION

Sometimes this gets changed when the MCPE-layer protocol gets broken to the point where old and new can't communicate. It's important that we check this to avoid catastrophes.

private mixed MCPE_RAKNET_PROTOCOL_VERSION = 10

Properties

Methods

__construct()

public __construct(Server $server, string $ip, int $port, bool $ipV6) : mixed
Parameters
$server : Server
$ip : string
$port : int
$ipV6 : bool
Return values
mixed

addRawPacketFilter()

Adds a regex filter for raw packets to this network interface. This filter should be used to check validity of raw packets before relaying them to the main thread.

public addRawPacketFilter(string $regex) : void
Parameters
$regex : string
Return values
void

blockAddress()

Prevents packets received from the IP address getting processed for the given timeout.

public blockAddress(string $address[, int $timeout = 300 ]) : void
Parameters
$address : string
$timeout : int = 300

Seconds

Return values
void

close()

public close(int $sessionId) : void
Parameters
$sessionId : int
Return values
void

onBandwidthStatsUpdate()

public onBandwidthStatsUpdate(int $bytesSentDiff, int $bytesReceivedDiff) : void
Parameters
$bytesSentDiff : int
$bytesReceivedDiff : int
Return values
void

onClientConnect()

public onClientConnect(int $sessionId, string $address, int $port, int $clientID) : void
Parameters
$sessionId : int
$address : string
$port : int
$clientID : int
Return values
void

onClientDisconnect()

public onClientDisconnect(int $sessionId, string $reason) : void
Parameters
$sessionId : int
$reason : string
Return values
void

onPacketAck()

public onPacketAck(int $sessionId, int $identifierACK) : void
Parameters
$sessionId : int
$identifierACK : int
Return values
void

onPacketReceive()

public onPacketReceive(int $sessionId, string $packet) : void
Parameters
$sessionId : int
$packet : string
Return values
void

onPingMeasure()

public onPingMeasure(int $sessionId, int $pingMS) : void
Parameters
$sessionId : int
$pingMS : int
Return values
void

onRawPacketReceive()

public onRawPacketReceive(string $address, int $port, string $payload) : void
Parameters
$address : string
$port : int
$payload : string
Return values
void

putPacket()

public putPacket(int $sessionId, string $payload[, bool $immediate = true ]) : void
Parameters
$sessionId : int
$payload : string
$immediate : bool = true
Return values
void

sendRawPacket()

Sends a raw payload to the network interface, bypassing any sessions.

public sendRawPacket(string $address, int $port, string $payload) : void
Parameters
$address : string
$port : int
$payload : string
Return values
void

setName()

public setName(string $name) : void
Parameters
$name : string
Return values
void

setPacketLimit()

public setPacketLimit(int $limit) : void
Parameters
$limit : int
Return values
void

setPortCheck()

public setPortCheck(bool $name) : void
Parameters
$name : bool
Return values
void

unblockAddress()

Unblocks a previously-blocked address.

public unblockAddress(string $address) : void
Parameters
$address : string
Return values
void

Search results