@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
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