# Patchwire-GM API
# Basics / Setup
net_init([Real optionalTimeout, Boolean optionalBlocking])
Initializes Patchwire-GM. Run this before any other script for networking.
Optionally, provide a timeout in milliseconds, and if you want the connection to be blocking or not. Specifying
optionalBlocking will connect to the server in the background.
A successful connection fires a
"connected" event. A failed connection fires a
net_connect(String ServerIP, Real ServerPort)
Connects to the given server/port. Upon a successful connection, a
"connected" command is received.
Begins a graceful disconnection from the server. Upon success, a
disconnected evnet will fire.
Run this function in your networking controller's
Async - Networking event to enable networking.
# Receiving Commands
net_cmd_add_handler(String CommandType, Function HandlerFunction)
Adds a command handler to Patchwire-GM which will run when the given command type is received. The function is passed a
ds_map of the incoming data.
NOTE: Your handler scripts do not need to clean up the data
ds_map. Patchwire handles this for you.
# Sending Commands
Initializes a command to be sent to the server. Returns a
ds_map which you can add more data to.
net_cmd_send([ds_map Command, Boolean PreventDestroy])
Sends the given command to the server. If no arguments are provided, sends the most recently created command.
PreventDestroy can be set to
true to prevent Patchwire from cleaning up the command map after sending it.
# Built-in Events
This event is fired when a successful connection is made.
This event is fired when the client is disconnected gracefully from the server.
This event is fired when the client is abruptly or errantly disconnected from the server.
This event is fired when the connection to the server times out.
The following global variables are set by Patchwire-GM. These are read-only, setting them may break your game.
true when connected to the server,
The underlying network socket that Patchwire is listening on.
The ds_map that contains all the handlers for networking events.