Skip to content

@pumpkin-plugins/upnpumpkin API / forwarder / PortForwarder

Class: PortForwarder ​

Defined in: packages/upnpumpkin/src/forwarder.ts:53

The plugin's brain: keeps the Java and Bedrock ports open, answers other plugins' requests for ports, and drives the port mapper. Everything it needs from the host comes in through its constructor, so it can be tested without a server.

Constructors ​

Constructor ​

new PortForwarder(files, log, net): PortForwarder

Defined in: packages/upnpumpkin/src/forwarder.ts:61

Creates a forwarder. Call start to begin.

Parameters ​

files ​

DataFiles

log ​

Logger

net ​

Network

Returns ​

PortForwarder

Accessors ​

config ​

Get Signature ​

get config(): object

Defined in: packages/upnpumpkin/src/forwarder.ts:68

The current settings. Only available after start.

Returns ​

object

bedrock ​

bedrock: SectionValues<{ enabled: Field<boolean>; port: Field<number>; }>

java ​

java: SectionValues<{ enabled: Field<boolean>; port: Field<number>; }>

plugins ​

plugins: SectionValues<{ allow_requests: Field<boolean>; max_requests_per_plugin: Field<number>; }>

router ​

router: SectionValues<{ lease_seconds: Field<number>; nat_pmp: Field<boolean>; nat_pmp_gateway: Field<string>; upnp: Field<boolean>; upnp_search: Field<string>; }>


refusal ​

Get Signature ​

get refusal(): Refusal | undefined

Defined in: packages/upnpumpkin/src/forwarder.ts:82

Set once the router has been found to be one UPnPumpkin does not work with. Nothing is opened then.

Returns ​

Refusal | undefined


snapshot ​

Get Signature ​

get snapshot(): object

Defined in: packages/upnpumpkin/src/forwarder.ts:74

What the mapper knows. Empty before start.

Returns ​

object

info ​

info: MapperInfo

mappings ​

mappings: object[]

Methods ​

handleMessage() ​

handleMessage(sender, bytes): Uint8Array

Defined in: packages/upnpumpkin/src/forwarder.ts:118

Answers a message from another plugin.

Parameters ​

sender ​

string

The plugin that sent it, as Pumpkin reports it.

bytes ​

Uint8Array

The message.

Returns ​

Uint8Array

The reply, always: errors are reported in it rather than thrown.


reload() ​

reload(): void

Defined in: packages/upnpumpkin/src/forwarder.ts:92

Reloads config.toml. The router is searched for again only when its settings changed.

Returns ​

void


start() ​

start(): void

Defined in: packages/upnpumpkin/src/forwarder.ts:87

Loads the config and starts opening ports.

Returns ​

void


stop() ​

stop(): void

Defined in: packages/upnpumpkin/src/forwarder.ts:123

Closes every port and stops. Waits a moment for the router to confirm.

Returns ​

void


tick() ​

tick(): void

Defined in: packages/upnpumpkin/src/forwarder.ts:102

Runs once per game tick.

Returns ​

void

Pumpkin Plugins documentation